Jak skonfigurować proguard dla interfejsu javascript?
Mam zaimplementowany Webview, który korzysta z JavascriptInterface. Działa dobrze, gdy nie jest zaciemniane, ale jednocześnie Proguard jest aktywny, nie działa. Spojrzałem tutaj na inne odpowiedzi, ale nadal nie mogę go uruchomić.
Niektóre klasy WebView:
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);
}
}
Co próbowałem w Proguard:
-keep public class * implements com.project.NonObfuscateable
-keepclassmembers class * implements NonObfuscateable {
public void processHTML(java.lang.String);
}
Próbowałem również tego (gdy nie implementuję interfejsu NonObfuscateable):
-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>;
}
Czy ktoś ma pojęcie o tym, co może być nie tak? Z góry dziękuję