包含JS交互的混淆出错
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交互的混淆出错相关推荐
- winform利用CefSharp调用google浏览器内核ChromiumWebBrowser,与JS交互
一开始用了自带的webbrowser,不支持H5,脚本会有问题,后来又用了webkitBrowser,发现有些js效果还是显示不出来,和webbrowser稍微好一点,但是还是不行,然后决定用CefS ...
- html与js与mysql_WebView加载html与JS交互
一.加载Html的几种方法 直接在Activity中实例化WebView WebView webview =new WebView(this); webview.loadUrl(......); 在X ...
- Django 后台带有字典的列表数据与页面js交互
1.这里只是简单介绍一下Django的view如何跟js进行交互,首先,进入用户明细的时候会进入一个页面,叫用户信息表,里面包含了用户学习的课程和所得到的分数,每门课程对应一个分数,其中课程用下拉框依 ...
- ajax异步获取右侧html,Ajax异步获取html数据中包含js方法无效的解决方法
Ajax异步获取html数据中包含js方法无效的解决方法 页面上使用js写了一个获取后台数据的方法 function data() { var tab = $("#dic") $. ...
- 移动开发周刊:Android ImageView正确使用、WebView与JS交互解析
写在前面 从 2011 年创建首刊至今,移动开发周刊内容聚焦 Android.iOS.VR/AR 等前沿移动开发技术,精选一周最热点,解读开发技巧,从中希望能够让你有一些收获,如果你有好的文章以及优化 ...
- ios传值给js_深入剖析 iOS 与 JS 交互
前言 Web 页面中的 JS 与 iOS Native 如何交互是每个 iOS 猿必须掌握的技能.而说到 Native 与 JS 交互,就不得不提一嘴 Hybrid. Hybrid 的翻译结果并不是很 ...
- android和js交互的代码,Android与JS代码交互
现如今,很多Android APP都要与JS进行交互,而WebView就是Android与JS交互的桥梁,日常中最常见Android和JS交互有:APP注册协议,APP里的文章,APP里的活动页,这都 ...
- android Echart力图webview,包含双向交互内容
android Echart力图webview,包含双向交互内容 H5界面代码 <!DOCTYPE html> <html> <head><title> ...
- 第十二课 从宠物商店案例看DAPP架构和WEB3.JS交互接口
1. 文章摘要 [本文目标] 了解ETH生态下DAPP去中心化应用程序的框架和交互流程,了解WEB3.JS的作用和接口函数. [前置条件] 完成了<第六课 技术小白如何开发一个DAPP区块链应用 ...
最新文章
- 软件需求管理用例方法三
- linux 新建用户配置文件 /etc/login.defs 简介
- C语言之父,UNIX之父丹尼斯·里奇去世 享年70岁
- python接口自动化4-绕过验证码登录(cookie)
- 怎么利用css调整区块大小,使用CSS3 transform:skew方法实现的倾斜区块分割
- 直播预告 | 小米人工智能部崔世起:小爱同学全双工技术实践
- SQL 无限级分类语句
- bzoj1066 [SCOI2007]蜥蜴 网络流复制点模型
- 查看器_「图」Firefox 70将启用全新证书查看器 允许关闭画中画图标
- docker搭建upload-labs
- 怎么查看笔记本内存条型号_查看笔记本内存条型号
- java网吧会员计费管理系统springboot+vue
- html5 几何酷站,10个值得学习的HTML5+CSS3视觉特效酷站欣赏
- 生物信息学biojava|从本地读取并解析遍历genbank文件|从genbank中提取CDS等注释信息
- jinjia2调用json文件注意事项
- python自由落体_pymunk教程_自由落体小球_Pymunk滑动和铰接演示教程
- java 运行器_[原创]我也来做一个最简单的Java2EXE的运行器
- M40Z-025003TB0西克光电开关 订货号: 1200128
- 淘宝店铺如何好评置顶,如何通过好评留住客户?
- 淘宝网 286亿海量图片存储与处理架构
热门文章
- MySQL命令(一)| 数据类型、常用命令一览、库的操作、表的操作
- pytorch学习入门 (二) Variable(变量)
- 用awk一些常用技巧sort uniq
- 《C++ Primer 5th》笔记(6 / 19):函数
- 惠普服务器查询ilo信息,Hp服务器iLO IML硬件日志收集与远程巡检
- C++ primer 第14章 操作重载与类型转换
- Ubuntu版本更新一路走来:朕就是这样的汉子
- FLV文件格式(Z)(转载)
- vue 组件间传值、兄弟组件 、bus方式 ( 1 分钟看懂 )
- MQ 之 RocketMQ