soot-oss / soot

Soot - A Java optimization framework
GNU Lesser General Public License v2.1
2.83k stars 706 forks source link

Question about exception of specifying the android platform version #1232

Open AeroOwl opened 4 years ago

AeroOwl commented 4 years ago

D:\Soot>java -cp sootclasses-trunk-jar-with-dependencies.jar soot.Main -process-dir xxx.apk -src-prec apk -android-jars android16.jar Soot started on Sun Nov 10 15:07:41 CST 2019 soot.AndroidPlatformException: error: target android.jar android16.jar\android-16\android.jar does not exist. at soot.Scene.getAndroidJarPath(Scene.java:369) at soot.Scene.defaultAndroidClassPath(Scene.java:621) at soot.Scene.defaultClassPath(Scene.java:560) at soot.Scene.getSootClassPath(Scene.java:294) at soot.SourceLocator.getClassSource(SourceLocator.java:168) at soot.Scene.tryLoadClass(Scene.java:900) at soot.Scene.loadBasicClasses(Scene.java:1652) at soot.Scene.loadNecessaryClasses(Scene.java:1738) at soot.Main.run(Main.java:241) at soot.Main.main(Main.java:141)

AeroOwl commented 4 years ago

My solution is renaming the android-jar in cmd as android.jar, then put it in a new dir named android-16. Just as the Exception said...

AeroOwl commented 4 years ago

Now I meet a new issue of SootResolver as following:

D:\Soot>java -cp sootclasses-trunk-jar-with-dependencies.jar soot.Main -process-dir xxx.apk -src-prec apk -android-jars D:\Soot -cp D:\Java\install\lib\rt.jar Soot started on Sat Nov 23 20:06:02 CST 2019 soot.SootResolver$SootClassNotFoundException: couldn't find class: android.accessibilityservice.AccessibilityServiceInfo (is your soot-class-path set properly?) at soot.SootResolver.bringToHierarchyUnchecked(SootResolver.java:232) ......