Dex异常:不支持的版本。

24

我试图将APK转换为源代码。当我输入以下命令时:

./d2j-dex2jar.sh classes.dex

我收到了这个异常:

com.googlecode.d2j.DexException: not support version.
at com.googlecode.d2j.reader.DexFileReader.<init>(DexFileReader.java:151)
at com.googlecode.d2j.reader.DexFileReader.<init>(DexFileReader.java:211)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:104)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

我的 apk 版本是 Oreo,dexcompiler 是 dex2jar-2.0。据我所知,这个 dexcompiler 支持最高到 N 版本(如果我错了请纠正我)。我已经搜索了关于这个异常的信息,但是没有找到答案。

请帮助我解决这个异常。


尝试向dex2jar提交问题报告?听起来它只需要更新一下。 - Antimony
作者已经不再活跃了。有11个拉取请求需要合并和375个问题。 - Siwei
3个回答

51

6
链接已过期,可以在https://github.com/DexPatcher/dex2jar/releases找到最新版本。 - nijave
谢谢@nijave,我建议任何人都要搜索最新版本以避免错误。 - htafoya

2

你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

0

我遇到了同样的问题。

使用@john提供的链接可以在Android 8下工作。

然而,我的设备是Android 10(这很常见)。

根据我的经验,只需更改dex文件的头部内容(039-> 036或其他支持的版本),有时可以正常运行,有时会失败。这取决于您的apk是否使用了新的Java语法等因素。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接