引起: com.android.tools.r8.ir.code.IntSwitch.valid(IntSwitch.java:67) 处的 java.lang.AssertionError com.android.tools.r8.ir.code.IntSwitch.(IntSwitch.java) :35) 在 com.android.tools.r8.ir.conversion.IRBuilder.createSwitch(IRBuilder.java:1922) 在 com.android.tools.r8.ir.conversion.IRBuilder.addSwitch(IRBuilder.java:1886) 在com.android.tools.r8.cf.code.CfSwitch.buildIR(CfSwitch.java:101) at com.android.tools.r8.ir.conversion.CfSourceCode.build(CfSourceCode.java:581) 由:com. android.builder.dexing.DexArchiveBuilderException: dexing 时出错。
java示例
public IFactory getInjectMap(String var1) {
byte var2 = -1;
switch(var1.hashCode()) {
case 2011670744:
if (var1.equals("xxx.xxx.xxx.xxx")) {
var2 = 0;
}
break;
case -1047643106:
if (var1.equals("xxx.xxx.xxx.xxx")) {
var2 = 1;
}
break;
}
switch(var2) {
case 0:
var2 = (byte)(new xxxxFactory());
break;
case 1:
var2 = (byte)(new xxxxFactory());
break;
default:
var2 = (byte)null;
}
return var2;
}
}
您遇到的断言错误正在验证lookupswitch
指令中的值是否按照 JVM 规范的要求进行了排序。这表明生成的字节码不符合规范。这段代码是否在 JVM 上运行?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句