JesusFreke / smali

smali/baksmali
6.34k stars 1.07k forks source link

Error while loading oat file boot.oat #563

Open dn1983 opened 7 years ago

dn1983 commented 7 years ago

Hello All. I try to deodex boot-framework.oat on Android 7: java -jar baksmali-2.2.1.jar de -a 24 -c boot.oat -d framework/arm64 boot-framework.oat As result, I have the error: Error occurred while loading class path files. Aborting. org.jf.dexlib2.analysis.ClassPathResolver$ResolveException: Error while loading oat file boot.oat at org.jf.dexlib2.analysis.ClassPathResolver.loadEntry(ClassPathResolver.java:250) at org.jf.dexlib2.analysis.ClassPathResolver.loadLocalClassPathEntry(ClassPathResolver.java:179) at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:154) at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:105) at org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile(AnalysisArguments.java:129) 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) Caused by: org.jf.dexlib2.analysis.ClassPathResolver$NotFoundException: Cannot find dependency boot-core-libart.oat in null at org.jf.dexlib2.analysis.ClassPathResolver.loadOatDependencies(ClassPathResolver.java:270) at org.jf.dexlib2.analysis.ClassPathResolver.loadEntry(ClassPathResolver.java:248) ... 9 more What I do wrong? Thank you for help.

Novex commented 6 years ago

... org.jf.dexlib2.analysis.ClassPathResolver$NotFoundException: Cannot find dependency boot-core-libart.oat in null at ...

adb pull /system/framework/arm/boot-core-libart.oat fixed this for me, but it just replaced the NotFoundException with another file.

I ended up just doing adb pull /system/framework/arm/ and putting all the .oat files in the directory with boot.oat and then baksmali worked.