我正在做一个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)发布于 2013-05-11 20:51:27
复制d2j-dex2jar.bat文件,然后对其进行编辑。找到下面这行:
java -Xms512m -Xmx1024m -cp "%CLASSPATH%"
"com.googlecode.dex2jar.tools.Dex2jarCmd" %*更改-Xmx参数以获得更大的最大堆大小。保存它,看看修改后的BAT文件是否工作得更好。(没有一种优雅的方法来覆盖此脚本中的JVM设置。)
显然..。如果您使用的是dex2jar-2.0,则需要编辑的文件为d2j_invoke.bat。
发布于 2018-02-28 15:48:04
如果你使用dex2jar-2.0,你可以找到这样的代码行:
java -Xms512m -Xmx1024m *
https://stackoverflow.com/questions/16497080
复制相似问题