android proguard webview javascript interface
16lz
2021-01-24
项目中使用WebView + Javascript 相互使用时,在签名打包后发现,js无效,问题就是proguard造成的。
解决方法如下:
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}
WebView的简单使用如下:
webView = (WebView) findViewById(R.id.webview);// WebSettings 设置JavaScript激活webView.getSettings().setJavaScriptEnabled(true);// 指定和Javascript交互的对象和别名webView.addJavascriptInterface(new WebAppInterface(taskContent), "Android");// url请求,可以访问本地资源,也可以动态// webView.loadUrl("file:///android_asset/html/task_details_client.html");webView.loadUrl(http://www.baidu.com);
private class WebAppInterface {public String taskContent; WebAppInterface(String taskContent) { this.taskContent = taskContent; } @JavascriptInterface public String getContent() { // javascript 交互的方法 return taskContent; }}
更多相关文章
- 深入浅出 - Android系统移植与平台开发(十三) - Sensor HAL框架分
- 有关String类的笔试常考题
- Android(安卓)剪切板监听
- 监听器Listener
- zip解压缩的使用
- android media 播放器
- SharePreferences源码分析(SharedPreferencesImpl)
- android 通过正则表达式遍历html中所有的img标签
- Android(安卓)插件化分析(2)- 动态代理