Konfigurieren von proguard für javascript-Schnittstelle?

Ich habe implementiert eine Webview, die nimmt die Verwendung von JavascriptInterface. Es ist gut, wenn nicht zu verschleiern, aber auf einmal Proguard aktiv ist, funktioniert es nicht. Ich habe mir hier auf andere Antworten, aber ich kann immer noch nicht bekommen es funktioniert.

Einige der WebView Klasse:

public class Activity_Webview {
private WebView webView;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        webView = (WebView) findViewById(R.id.webview);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.addJavascriptInterface(new JavaScriptInterface (), "HTMLOUT");
        webView.setWebViewClient(mWebViewClient);
    }

    public class JavaScriptInterface implements NonObfuscateable{
        @JavascriptInterface
        public void processHTML(String html) {
        handleFinishFromWebView(html);
    }
}

, Was ich versucht habe in Proguard:

-keep public class * implements com.project.NonObfuscateable
-keepclassmembers class * implements NonObfuscateable {
    public void processHTML(java.lang.String);
}

Ich habe auch versucht diese (wenn nicht die Umsetzung NonObfuscateable Schnittstelle:

-keep public class com.project.Activity_Webview.JavaScriptInterface
-keep public class * implements com.project.Activity_Webview.JavaScriptInterface
-keepclassmembers class * implements com.project.Activity_Webview.JavaScriptInterface {
    <fields>;
    <methods>;
}

Hat jemand eine Idee, was falsch sein könnte?
Vielen Dank im Voraus

InformationsquelleAutor Ikky | 2013-07-13
Schreibe einen Kommentar