我正在開發一個android項目,但我的筆記本電腦已格式化,所以我失去了所有的代碼,但我手機上有一個已簽名的apk文件。每當我嘗試使用dex2jar它會停止轉換中途出現此錯誤。我如何增加堆大小或有另一種方法。我可以反編譯與密鑰的APK它與java堆大小錯誤dex2jar android反編譯解決方案?
C:\~dex2jar>d2j-dex2jar --force
classes.dex
dex2jar classes.dex -> classes-dex2jar.jar
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at org.objectweb.asm.Type.getInternalName(Unknown Source)
at com.googlecode.dex2jar.v3.V3ClassAdapter.searchEnclosing(V3ClassAdapt
er.java:179)
at com.googlecode.dex2jar.v3.V3ClassAdapter.build(V3ClassAdapter.java:13
0)
at com.googlecode.dex2jar.v3.V3ClassAdapter.visitField(V3ClassAdapter.ja
va:303)
at com.googlecode.dex2jar.reader.DexFileReader.acceptField(DexFileReader
.java:603)
at com.googlecode.dex2jar.reader.DexFileReader.acceptClass(DexFileReader
.java:439)
at com.googlecode.dex2jar.reader.DexFileReader.accept(DexFileReader.java
:330)
at com.googlecode.dex2jar.v3.Dex2jar.doTranslate(Dex2jar.java:84)
at com.googlecode.dex2jar.v3.Dex2jar.to(Dex2jar.java:239)
at com.googlecode.dex2jar.v3.Dex2jar.to(Dex2jar.java:230)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java
:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:168)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:34)
我試過這個,但它給了我另一個錯誤 dex2jar classes.dex - > classes-dex2jar.jar # #There is insu爲Java運行時環境繼續提供足夠的內存。 #本機的存儲器分配(malloc的)未能分配用於卡1863680個字節TA BLE膨脹 #包含更多信息的錯誤報告文件保存爲: #C:〜dex2jar-0.0.9.13 \ hs_err_pid6240.log – 2013-05-11 15:11:19
我改變xmx1024到xmx8192 這裏是日誌:http://pastebin.com/J513Q5Js – 2013-05-11 15:12:04
你沒有足夠的物理內存/交換空間使堆很大。嘗試更小的東西。可能這種方法根本不起作用。也許你需要弄清楚爲什麼dex2jar使用這麼多的內存,並修改它。 (也許它正在泄漏內存......) – 2013-05-11 23:17:00