建设工程专注在哪个网站,镇赉县做网站的,做的网站文字是乱码,代理服务器上外网2019独角兽企业重金招聘Python工程师标准 小上司离职#xff0c;我接手他负责的项目#xff0c;进行版本更新的时候#xff0c;在生成jar包测试的时候#xff0c;点击按钮没有反应#xff0c;页面是webview#xff0c;按钮则是与js交互#xff0c;logcat打… 2019独角兽企业重金招聘Python工程师标准 小上司离职我接手他负责的项目进行版本更新的时候在生成jar包测试的时候点击按钮没有反应页面是webview按钮则是与js交互logcat打印的信息是 clickOnAndroid是java方法负责与js交互。以错误为关键字Google了很多结果没有能解决问题。之后按排除法先把项目设置为library测试程序使用这个library结果正常显示然后生成jar包测试也能正常显示然后混淆结果点击按钮没反应。看来是混淆出的问题proguard文件是上司给我的看上去也没什么问题。js无法调用这个方法可能混淆的时候把他混淆掉了。后来在proguard-project文件里发现这个 # If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#} 把fqcn.of.javascript.interface.for.webview换成你自己定义的那个类名。 之后想起来我只keep了webview的类而包含clickOnAndroid方法的类没有keepproguard添加上这一句可以完美执行了。 我们知道在4.2以后的系统与js交互的方法前要添加JavascriptInterface在混淆的时候也应该保留这个。在包含和js交互的项目里混淆要包含如下 -keepclassmembers class cn.xx.xx.WebViewActivity {public *;
}
-keepattributes *Annotation*
-keepattributes *JavascriptInterface* 转载于:https://my.oschina.net/u/1786928/blog/665959