pxb1988 / dex2jar

Tools to work with android .dex and java .class files
Apache License 2.0
12.28k stars 2.1k forks source link

Jar to dex conversion not working in dex2jar-2.0 #47

Closed TamilanPeriyasamy closed 8 years ago

TamilanPeriyasamy commented 8 years ago

Run cmd : dex2jar-2.0/d2j-jar2dex.sh -f -o /home/workspace/Secure/debug/TestApp/classes.dex /home/workspace/Secure/output/test_TestApp.jar

call com.android.dx.command.Main.main[--dex, --no-strict, --output=/home/lakeba/workspace /home/workspace/Secure/debug/TestApp/classes.dex, /home/workspace/Secure/output/test_TestApp.jar] no classfiles specified.

TamilanPeriyasamy commented 8 years ago

Please any one help me this is major issue in my Development.....! How to solve.....!

How to convert JAR to DEX (dex2jar-2.0)

I have two type of error. 1) no classfiles specified.

2) UNEXPECTED TOP-LEVEL ERROR: java.lang.OutOfMemoryError: GC overhead limit exceeded at com.android.dx.ssa.SsaRenamer$BlockRenamer.updateSuccessorPhis(SsaRenamer.java:629) at com.android.dx.ssa.SsaRenamer$BlockRenamer.process(SsaRenamer.java:376) at com.android.dx.ssa.SsaRenamer$1.visitBlock(SsaRenamer.java:167) at com.android.dx.ssa.SsaMethod.forEachBlockDepthFirstDom(SsaMethod.java:813) at com.android.dx.ssa.SsaRenamer.run(SsaRenamer.java:164) at com.android.dx.ssa.SsaConverter.convertToSsaMethod(SsaConverter.java:53) at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:99) at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:73) at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:273) at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:134) at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:87) at com.android.dx.command.dexer.Main.processClass(Main.java:483) at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455) at com.android.dx.command.dexer.Main.access$400(Main.java:67) at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394) at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) at com.android.dx.command.dexer.Main.processOne(Main.java:418) at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329) at com.android.dx.command.dexer.Main.run(Main.java:206) at com.android.dx.command.dexer.Main.main(Main.java:174) at com.android.dx.command.Main.main(Main.java:95) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.googlecode.dex2jar.tools.Jar2Dex.doCommandLine(Jar2Dex.java:99) at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288) at com.googlecode.dex2jar.tools.Jar2Dex.main(Jar2Dex.java:32)

TamilanPeriyasamy commented 8 years ago

My development working flow... Steps: 1) dex to jar 2) jar to jasmin 3 ) view jasmin code and add some development functionality 4) jasmin to jar 5) jar to dex .

4th setp i have error:(jasmin to jar )

java.lang.NullPointerException at com.googlecode.d2j.jasmin.JasminParser.unEscape(JasminParser.java:356) at com.googlecode.d2j.jasmin.JasminParser.sField(JasminParser.java:5672) at com.googlecode.d2j.jasmin.JasminParser.sFile(JasminParser.java:1062) at com.googlecode.d2j.jasmin.JasminParser.parse(JasminParser.java:961) at com.googlecode.d2j.jasmin.Jasmin2JarCmd.assemble1(Jasmin2JarCmd.java:130) at com.googlecode.d2j.jasmin.Jasmin2JarCmd.access$0(Jasmin2JarCmd.java:121) at com.googlecode.d2j.jasmin.Jasmin2JarCmd$1.visitFile(Jasmin2JarCmd.java:114) at com.googlecode.d2j.jasmin.Jasmin2JarCmd$1.visitFile(Jasmin2JarCmd.java:1) at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:135) at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:199) at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:69) at java.nio.file.Files.walkFileTree(Files.java:2602) at java.nio.file.Files.walkFileTree(Files.java:2635) at com.googlecode.d2j.jasmin.Jasmin2JarCmd.travelFileTree(Jasmin2JarCmd.java:110) at com.googlecode.d2j.jasmin.Jasmin2JarCmd.assemble0(Jasmin2JarCmd.java:99) at com.googlecode.d2j.jasmin.Jasmin2JarCmd.doCommandLine(Jasmin2JarCmd.java:92) at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288) at com.googlecode.d2j.jasmin.Jasmin2JarCmd.main(Jasmin2JarCmd.java:56)

veryitman commented 7 years ago

me too. I use it that happened error

call com.android.dx.command.Main.main[--dex, --no-strict, --output=] no classfiles specified

joshmarion777 commented 6 years ago

I was also trying this on the mac but it works perfectly in Windows is running dex2jar, May you try it.

bennobuilder commented 2 years ago

same issue 6 years later lol

ThexXTURBOXx commented 2 years ago

See #544 If it still does not work, assign more RAM: https://stackoverflow.com/questions/1565388/increase-heap-size-in-java

bennobuilder commented 2 years ago

See #544 If it still does not work, assign more RAM: https://stackoverflow.com/questions/1565388/increase-heap-size-in-java

thanks for the quick reply. I've already tried assigning more ram by following this guide: https://helpdeskgeek.com/help-desk/how-to-fix-could-not-create-the-java-virtual-machine-error/#:~:text=The%20most%20common%20cause%20for,to%20launch%20the%20VM%20client. However, he has followed another approach telling java to use more RAM (which in my case didn't resolve the issue), so I'll try the way described in your linked stackoverflow question. cheers

ThexXTURBOXx commented 2 years ago

-Xmx512M might not be enough. I always try using my PC's amount of RAM divided by 2. If you have 32 GB, it will surely be slower, but you will surely have enough allocated. Thus, I use -Xmx16G