http://www.androidren.com/index.php?qa=282&qa_1=如何混淆android的js调用的java代码或使用了javascript相关技术的代码
Android 4.2开始 JS调用Java代码的时候必须加上@JavascriptInterface才能调用。
加上@JavascriptInterface之后就必须要考虑混淆时候的问题,如果混淆的时候把@JavascriptInterface搞丢了你的程序就无法调用了。
其实很简单,你只需要在混淆里面加上:
-keepattributes Annotation
-keepattributes JavascriptInterface
同时,相关的代码也需要添加keep:
-keep public class com.google.android.webviewdemo.WebViewDemo.DemoJavaScriptInterface
-keep public class * implementscom.google.android.webviewdemo.WebViewDemo.DemoJavaScriptInterface
-keepclassmembers class * implements com.google.android.webviewdemo.WebViewDemo.DemoJavaScriptInterface {
*;
}