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