【发布时间】:2016-06-15 09:47:33
【问题描述】:
提前致谢。
我花了太多时间阅读有关此的 stackoverflow。 我有一个带有 webview 和 jquery web 的混合应用程序。我有我的 javascript 界面。
当我在调试模式下运行我的应用程序时,每个想法都可以正常工作,但是当我在发布模式下运行时,javascript 界面根本不起作用。
我尝试了太多解决方案,例如 proguard 规则:
-keep public class com.mypackage.MyClass$MyJavaScriptInterface
-keep public class * implements com.mypackage.MyClass$MyJavaScriptInterface
-keepclassmembers class com.mypackage.MyClass$MyJavaScriptInterface {
<methods>;
}
-keepattributes JavascriptInterface
如你所见,我有我的符号@JavascriptInterface:
public static class WebAppInterface {
Context mContext;
WebAppInterface(Context c) {
mContext = c;
}
@JavascriptInterface
public void estoyenchat() { enchat=true;
}
....
}
在我的 gradle 文件中:
minSdkVersion 14
targetSdkVersion 22
我发现在发布模式下运行应用程序的唯一解决方案是将 minifyEnabled 设置为 false。
有人知道原因吗?
【问题讨论】:
标签: javascript android interface proguard