有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓对JDK 6编译的jar文件进行索引会产生“坏类文件魔术”错误

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

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

这给了我以下错误:

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

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

是的,我在用JDK1.7编译我的项目。所以我下载了JDK1.6,并更改了eclipse的设置,使其使用JDK1.6

我是通过:窗口->;偏好->;然后我将编译器编译级别设置为1.6。最后,我将编译器配置为使用我下载的JRE6。我点击OK。我尝试再次运行我的项目,并生成了jar文件

当我再次运行命令对jar文件进行索引时。它仍然显示相同的错误。我错过了什么

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

enter image description here

在我所指的问题中,公认的答案是,如果仍然存在相同的问题,那么必须确保每个类都编译正确。这是什么意思?我试着一次又一次地编译,但仍然得到同样的错误


共 (2) 个答案

  1. # 1 楼答案

    如果你看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

    提到here

  2. # 2 楼答案

    我创建了一个全新的项目(在将eclipse编译器更改为JDK1.6之后)。然后,去杠杆化工作正常