微信新版Android SDK在混淆打包时报错,
(Can't process class [com/tencent/wxop/stat/al.class] (Unknown verification type [95] in stack map frame)) |
首先查到的是vase同学的文章
APP集成了微信分享功能,但是打包时出现错误,仔细检查了proguard配置,感觉配置正确,深表微信sdk自身问题;跑官方找反馈链接未果,只好自己上网查。
ProGuard官网bug反馈中有记载同类错误,有人给出解决方案,将ClassConstants.java中StackMapTable属性改为dummy,重新编译即可。
另外在CSDN上发现有好心人前几天已遇到类似问题,并已将ProGuard编译好,那我们就省事了,拿来直接用好了。经测试可用,感谢Gavin_Mirror同学的无私奉献!
从vase同学那里下载了jar包后发现会报这个错误java.lang.UnsupportedClassVersionError: proguard/ant/ProGuardTask : Unsupported major.minor version 51.0
,
搜索以后怀疑是jdk版本的问题,有可能是上面那位同学使用jdk7打包,而我的打包环境是jdk6,所以马上去更新jdk版本,然后就成功了。
解决问题的关键就是:使用4-11版本的已修改ATTR_StackMapTable = "dummy";
的proguard.jar,并且保证打包环境的jdk是最新版本的。