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方法的类没有keep,proguard添加上这一句可以完美执行了。

我们知道在4.2以后的系统与js交互的方法前要添加@JavascriptInterface,在混淆的时候也应该保留这个。在包含和js交互的项目里混淆要包含如下:

-keepclassmembers class cn.xx.xx.WebViewActivity {public *;
}
-keepattributes *Annotation*
-keepattributes *JavascriptInterface*

转载于:https://my.oschina.net/u/1786928/blog/665959

包含JS交互的混淆出错相关推荐

  1. winform利用CefSharp调用google浏览器内核ChromiumWebBrowser,与JS交互

    一开始用了自带的webbrowser,不支持H5,脚本会有问题,后来又用了webkitBrowser,发现有些js效果还是显示不出来,和webbrowser稍微好一点,但是还是不行,然后决定用CefS ...

  2. html与js与mysql_WebView加载html与JS交互

    一.加载Html的几种方法 直接在Activity中实例化WebView WebView webview =new WebView(this); webview.loadUrl(......); 在X ...

  3. Django 后台带有字典的列表数据与页面js交互

    1.这里只是简单介绍一下Django的view如何跟js进行交互,首先,进入用户明细的时候会进入一个页面,叫用户信息表,里面包含了用户学习的课程和所得到的分数,每门课程对应一个分数,其中课程用下拉框依 ...

  4. ajax异步获取右侧html,Ajax异步获取html数据中包含js方法无效的解决方法

    Ajax异步获取html数据中包含js方法无效的解决方法 页面上使用js写了一个获取后台数据的方法 function data() { var tab = $("#dic") $. ...

  5. 移动开发周刊:Android ImageView正确使用、WebView与JS交互解析

    写在前面 从 2011 年创建首刊至今,移动开发周刊内容聚焦 Android.iOS.VR/AR 等前沿移动开发技术,精选一周最热点,解读开发技巧,从中希望能够让你有一些收获,如果你有好的文章以及优化 ...

  6. ios传值给js_深入剖析 iOS 与 JS 交互

    前言 Web 页面中的 JS 与 iOS Native 如何交互是每个 iOS 猿必须掌握的技能.而说到 Native 与 JS 交互,就不得不提一嘴 Hybrid. Hybrid 的翻译结果并不是很 ...

  7. android和js交互的代码,Android与JS代码交互

    现如今,很多Android APP都要与JS进行交互,而WebView就是Android与JS交互的桥梁,日常中最常见Android和JS交互有:APP注册协议,APP里的文章,APP里的活动页,这都 ...

  8. android Echart力图webview,包含双向交互内容

    android Echart力图webview,包含双向交互内容 H5界面代码 <!DOCTYPE html> <html> <head><title> ...

  9. 第十二课 从宠物商店案例看DAPP架构和WEB3.JS交互接口

    1. 文章摘要 [本文目标] 了解ETH生态下DAPP去中心化应用程序的框架和交互流程,了解WEB3.JS的作用和接口函数. [前置条件] 完成了<第六课 技术小白如何开发一个DAPP区块链应用 ...

最新文章

  1. 软件需求管理用例方法三
  2. linux 新建用户配置文件 /etc/login.defs 简介
  3. C语言之父,UNIX之父丹尼斯·里奇去世 享年70岁
  4. python接口自动化4-绕过验证码登录(cookie)
  5. 怎么利用css调整区块大小,使用CSS3 transform:skew方法实现的倾斜区块分割
  6. 直播预告 | 小米人工智能部崔世起:小爱同学全双工技术实践
  7. SQL 无限级分类语句
  8. bzoj1066 [SCOI2007]蜥蜴 网络流复制点模型
  9. 查看器_「图」Firefox 70将启用全新证书查看器 允许关闭画中画图标
  10. docker搭建upload-labs
  11. 怎么查看笔记本内存条型号_查看笔记本内存条型号
  12. java网吧会员计费管理系统springboot+vue
  13. html5 几何酷站,10个值得学习的HTML5+CSS3视觉特效酷站欣赏
  14. 生物信息学biojava|从本地读取并解析遍历genbank文件|从genbank中提取CDS等注释信息
  15. jinjia2调用json文件注意事项
  16. python自由落体_pymunk教程_自由落体小球_Pymunk滑动和铰接演示教程
  17. java 运行器_[原创]我也来做一个最简单的Java2EXE的运行器
  18. M40Z-025003TB0西克光电开关 订货号: 1200128
  19. 淘宝店铺如何好评置顶,如何通过好评留住客户?
  20. 淘宝网 286亿海量图片存储与处理架构

热门文章

  1. MySQL命令(一)| 数据类型、常用命令一览、库的操作、表的操作
  2. pytorch学习入门 (二) Variable(变量)
  3. 用awk一些常用技巧sort uniq
  4. 《C++ Primer 5th》笔记(6 / 19):函数
  5. 惠普服务器查询ilo信息,Hp服务器iLO IML硬件日志收集与远程巡检
  6. C++ primer 第14章 操作重载与类型转换
  7. Ubuntu版本更新一路走来:朕就是这样的汉子
  8. FLV文件格式(Z)(转载)
  9. vue 组件间传值、兄弟组件 、bus方式 ( 1 分钟看懂 )
  10. MQ 之 RocketMQ