smalidea在解析含有packed-switch的方法时,会抛出异常。
经过调试分析,代码bug在SmalideaPackedSwitchPayload.java中
有问题的方法名为:getSwitchElements()
其中的匿名内部类 getOffset方法返回值计算时忘记除2
return label.getOffset() - baseOffset;
改为:
return (label.getOffset() - baseOffset) / 2;
sparse-switch也存在同样的问题,在文件SmalideaSparseSwitchPayload.java中