Android工程打包sdk,导出jar已被混淆,该jar被第三方使用,混淆时出现Unknown verification type [*] in stack map frame问题,测试发现
if(){
}else{
Log.cerateLog("something");
}
其中Log
public class Log {
public static boolean debug = false;
public static void cerateLog(String str){
if(debug){
Log.i("TAG", str);
}
}
}
当debug为false时createLog()方法其实是没有执行内容的,当混淆时if else 中else的部分会被精简掉造成出现这个问题,解决办法就是:直接去掉else部分,或者将
Log.cerateLog("something");
拆成两句
String aa = "something"
Log.cerateLog(aa);