我具有使用JavascriptInterface方法的webview。启用proguard混淆后,我遇到的问题是类中的子方法被混淆了,无法找到。
例如,当调用onPageFinished时,应用程序崩溃,错误为.onPageFinished(未知来源)
另一个崩溃是当调用接口方法“ android_function_myfunction”时,我在方法“ run”上崩溃(未知源)
class android_function_myfunction {
@JavascriptInterface
public void performClick(final String paramData) {
runOnUiThread(new Runnable() {
@Override
public void run() {...}
}
}
}
gWebview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
}
});
gWebview.loadUrl("file:///android_asset/views/viewaccount.html");
这些是我的保护规则。
-keepattributes JavascriptInterface
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
如何设置proguard以便从混淆中排除WebView相关代码?