首页 > 代码库 > Android 混淆 Unknown verification type

Android 混淆 Unknown verification type

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);


Android 混淆 Unknown verification type