尝试在Android O服务上运行baksmali时出现以下异常.odex
Error occurred while loading class path files. Aborting.
java.lang.ArrayIndexOutOfBoundsException: 1701056665
at org.jf.dexlib2.dexbacked.BaseDexBuffer.readSmallUint(BaseDexBuffer.java:53)
at org.jf.dexlib2.dexbacked.DexBackedClassDef.<init>(DexBackedClassDef.java:78)
at org.jf.dexlib2.dexbacked.DexBackedDexFile$1.readItem(DexBackedDexFile.java:137)
at org.jf.dexlib2.dexbacked.DexBackedDexFile$1.readItem(DexBackedDexFile.java:133)
at org.jf.dexlib2.dexbacked.util.FixedSizeSet$1.next(FixedSizeSet.java:56)
at org.jf.dexlib2.analysis.DexClassProvider.<init>(DexClassProvider.java:48)
at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:163)
at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:85)
at org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile(AnalysisArguments.java:135)
at org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile(AnalysisArguments.java:86)
at org.jf.baksmali.DisassembleCommand.getOptions(DisassembleCommand.java:207)
at org.jf.baksmali.DeodexCommand.getOptions(DeodexCommand.java:71)
at org.jf.baksmali.DisassembleCommand.run(DisassembleCommand.java:181)
at org.jf.baksmali.Main.main(Main.java:102)
答案 0 :(得分:0)
使用最新版本(2.2.2)。然后尝试
adb pull /system/framework /tmp/framework
baksmali x -d /tmp/framework/arm64 /tmp/framework/oat/arm64/services.odex