Closed TamilanPeriyasamy closed 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)
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)
me too. I use it that happened error
call com.android.dx.command.Main.main[--dex, --no-strict, --output=] no classfiles specified
I was also trying this on the mac but it works perfectly in Windows is running dex2jar, May you try it.
same issue 6 years later lol
See #544 If it still does not work, assign more RAM: https://stackoverflow.com/questions/1565388/increase-heap-size-in-java
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
-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
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.