1

我正在尝试使用以下命令对 jar 文件进行 dexify:

dx --dex --output=classes.dex JAR_file.jar

这给了我以下错误:

    trouble processing:
    bad class file magic (cafebabe) or version (0033.0000)
    .....................etc

当我搜索时,我发现它们与这个问题中出现的错误相同

是的,我正在使用 JDK 1.7 编译我的项目。所以我下载了 JDK 1.6,并更改了我的 eclipse 的设置以使其使用 JDK 1.6。

我通过以下方式做到这一点:Window->Preferences->Compiler,然后我将编译器编译级别设置为 1.6。最后,我将编译器配置为使用我下载的 JRE6。我点击确定。我尝试再次运行我的项目,并生成了 jar 文件。

当我再次运行该命令以对那个 jar 文件进行 dexifying 时。它仍然显示相同的错误。我错过了什么?

注意:jar 文件是我在 Eclipse 中作为“插件”项目创建的一个包。这是该项目的快照:

在此处输入图像描述

在我所指的问题中,接受的答案是如果您仍然遇到同样的问题,那么您必须确保每个类都被正确编译。这意味着什么?我试图一次又一次地编译,但我仍然遇到同样的错误。

4

2 回答 2

0

如果您查看 Proguard.bat (Android SDK\tools\proguard\bin),您会发现以下行:

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*

将其替换为以下内容:

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9

这里提到

于 2013-07-31T18:13:18.813 回答
0

我创建了一个全新的项目(在将我的 eclipse 编译器更改为 JDK 1.6 之后)。然后,dexifying 工作正常。

于 2013-07-31T19:27:07.800 回答