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


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。