java 堆大小错误 dex2jar android 反汇编的解决方案吗?

标签: Android
发布时间: 2013/11/23 18:45:10
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我正在一个 android 项目,但我的笔记本电脑格式化所以我失去了所有的代码却已签名的 apk 文件在我的手机上的...每当我尝试使用 dex2jar 它停止转换中期的方式与此错误。如何提高堆大小还是有另一条出路。可以反向 apk 编译与它签订了的关键吗

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)

解决方法 1:

请复制 d2j-dex2jar.bat 文件,并对其进行编辑。找到说这行:

java -Xms512m -Xmx1024m -cp "%CLASSPATH%" 
            "com.googlecode.dex2jar.tools.Dex2jarCmd" %*

更改 -Xmx 要给自己更大的 maxheap 大小的参数。保存它,并看看是否您修改的 BAT 文件更好地工作。(没有优雅的方式来重写在此脚本中的 JVM 设置)。

官方微信
官方QQ群
31647020