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

本文提供了一套详细的步骤来解决使用ProGuard混淆Android应用时出现的特定错误:Can’t process class [com/tencent/wxop/stat/al.class]。通过更新ProGuard版本并修改源码,确保第三方jar包兼容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题 : 当用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,大功告成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值