android 项目开启混淆后报错
java.io.IOException: Can't read [E:\xxx\xxx.jar] , Unknown verification type [ xxx ] in stack map frame
解决方案:
1. 下载最新混淆源码zip包, 地址: https://www.guardsquare.com/en/proguard
2. 修改ClassConstants.java中静态变量值 public static final String ATTR_StackMapTable = "dummy";
3.执行buildscripts 目录中build.sh ,生成jar包
4.在项目根目录新建proguard文件夹,将jar包放入
5.在项目build.gradle文件中添加如下代码
buildscript {
repositories {
flatDir { dirs 'proguard' } //指定目录
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
classpath ':proguard:' //指定本地刚刚编译的文件
}
}