j'ai converti un fichier APK à jimple représentation intermédiaire en utilisant la suie ci-dessous commande:exception dans la conversion jimple à dex en utilisant la suie
java -Xmx2g -jar soot-trunk.jar soot.Main -w -allow-phantom-refs -android-jars /home/jyoti/Android/adt-bundle-linux-x86_64-20140702/sdk/platforms/ -src-prec apk -f jimple -process-dir Onlytelephony.apk
Maintenant, je veux faire marche arrière. Je veux convertir des fichiers jimple en apk unique en utilisant la suie. Pour cela, je suis en utilisant la commande suivante:
java -Xmx2g -jar soot-trunk.jar soot.Main -w -allow-phantom-refs -android-jars /home/jyoti/Android/adt-bundle-linux-x86_64-20140702/sdk/platforms/ -src-prec jimple -f dex -process-dir jimple_Onlytelephony/
Mais cette commande me donner des exceptions comme suit:
[Thread-2] ERROR heros.solver.CountingThreadPoolExecutor - Worker
thread execution failed: null java.lang.NullPointerException at
soot.toolkits.graph.UnitGraph.<init (UnitGraph.java:76) at
soot.toolkits.graph.ExceptionalUnitGraph.<init (ExceptionalUnitGraph.java:158)
at
soot.jimple.toolkits.scalar.UnreachableCodeEliminator.internalTransform(UnreachableCodeEliminator.java:79)
at soot.BodyTransformer.transform(BodyTransformer.java:51) at
soot.Transform.apply(Transform.java:105) at
soot.JimpleBodyPack.applyPhaseOptions(JimpleBodyPack.java:61) at
soot.JimpleBodyPack.internalApply(JimpleBodyPack.java:95) at
soot.Pack.apply(Pack.java:125) at
soot.jimple.JimpleMethodSource.getBody(JimpleMethodSource.java:49) at
soot.SootMethod.getBodyFromMethodSource(SootMethod.java:91) at
soot.SootMethod.retrieveActiveBody(SootMethod.java:322) at
soot.PackManager$3.run(PackManager.java:1223) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
java.util.concurrent.RejectedExecutionException: Task
[email protected] rejected from
[email protected][Shutting down, pool
size = 3, active threads = 3, queued tasks = 0, completed tasks = 3]
at
java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048)
at
java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
at
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
at
heros.solver.CountingThreadPoolExecutor.execute(CountingThreadPoolExecutor.java:51)
at soot.PackManager.retrieveAllBodies(PackManager.java:1219) at
soot.PackManager.runPacksNormally(PackManager.java:463) at
soot.PackManager.runPacks(PackManager.java:396) at
soot.Main.run(Main.java:271) at soot.Main.main(Main.java:147)
Comment puis-je convertir Jimple Dex en utilisant la suie?
Le problème est résolu maintenant. Le suot-trunk.jar avait un problème. La dernière version a résolu le problème. Merci Eric ... –