android studio 混淆时出现Can't process class [com/tencent/wxop/stat/al.class] (Unknown verification type

问题 : 当用android studio 混淆代码时如果第三方jar包本身也混淆了,有可能会出现这个错误Can’t process class [com/tencent/wxop/stat/al.class] (Unknown verification type [95] in stack map frame))

解决办法:
1. 查看自己android studio安装目录下的gradle/m2repository/net/sf/proguard/proguard-base 查看自己当前对应的proguard版本
2.去官网https://sourceforge.net/projects/proguard/files/proguard/下载对应的版本。
3.下载proguard后解压,在src/proguard/classfile文件当中找到源码的ClassConstant.java类,然后将ATTR_StackMapTable 的值修改成 “dummy”(原值为StackMapTable)
4.因为下载的proguard源码里面没有ant文件、proguard-android.txt、proguard-android-optimize.txt、proguard-project.txt文件,所以需要到自己的sdk里面tools/proguard/下所需文件复制过来。
5.使用ant从新打包proguard。ant打包可参考 http://glblong.blog.51cto.com/3058613/1536516 注:下载的proguard源码里有个build或buildscripts文件夹,统一改成build。
6.将打包好后的proguard 把sdk中原本的proguard文件夹替换掉 注:如果害怕出问题的童鞋可以把原来的proguard文件夹事先拷贝出一份
7.替换好proguard后 重启android studio,从新打包,到了这里有的童鞋可能已经可以了正常打包了。但是可能有的还是会出现同样的问题。出问题的可以继续往下看了。

8.接下来请看图文 首先在工程目录下创建一个proguard的文件夹,然后将自己打包的proguard/lib/下的proguard.jar拷贝到proguard文件夹里面
这里写图片描述
然后在build.gradle里面进行引用
这里写图片描述
最后回到android stuido安装目录下的gradle/m2repository/net/sf/proguard/proguard-base下对应的proguard版本的文件中,用proguard/lib下的proguard.jar将其中的proguard-base-x.x.jar给替换掉,重启android studio,大功告成。

发布了2 篇原创文章 · 获赞 3 · 访问量 1680
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览