最近 项目打包 遇到一些问题 混淆的问题
1:javascript失效
2:json 封装jsonutil javabean解析失败
自己也找了很久 后面才弄出来 分享一下
解决办法
类似于
wv_login.addJavascriptInterface(new MyJavaScriptInterface(), "jsObj");
混淆文件proguard-project.txt 中加上
-keep class XXXpakagenameXXX.XXXClassXXX$MyJavaScriptInterface {
*;
}
-keepattributes *Annotation*
//这个是你的javascript在4.0之后要加上注解不然 还是没效果 这个StackOverFlow 上面都没有 最后还是 一同事百度找到的 谁说百度不厉害
我的jsonutil是这样的
JsonUtil util = new JsonUtil(result);
info = (UserInfo) util.getObject(util.getJsonObject(),null, UserInfo.class);
UserInfo 是你的JavaBean
这里必须在混淆文件加上
-keep class 你的JavaBean的包名.**{
*;
}
这样基本解决 混淆照成的上面两个问题
如果对混淆写法不了解 可以查看sdk\tools\proguard\examples
里面很多混淆的东西
最后来张
本文分享了解决混淆导致的JavaScript失效和JSON封装解析失败的方法,包括在ProGuard混淆配置文件中添加关键类和属性的保留规则,确保JavaScript接口和JavaBean在混淆后仍能正常工作。

2209

被折叠的 条评论
为什么被折叠?



