如何将.jar 1.7转换为.jar 1.6

时间:2015-02-10 13:02:11

标签: java jar jdk1.6

我已经在我的Android应用中将Dropbox API框架从2.0.1更新到当前3.1.2。在打包我的应用程序时,我遇到了多个错误,如:

  

[INFO]麻烦处理:[INFO]坏类文件魔术(cafebabe)或   版本(0033.0000)[INFO] ...解析时   com / dropbox / sync / android / DbxStringValue.class [INFO] ...同时   处理com / dropbox / sync / android / DbxStringValue.class [INFO]

seems文件由jdk 1.7编译,但我仍然使用jdk 1.6,我不想更新到jdk 1.7(以避免新的错误和不兼容性)。

如何将.jar 1.7转换为.jar 1.6?

1 个答案:

答案 0 :(得分:2)

如果jar已经包含用Java 7.0编译并以Java 7.0为目标的类,那么这些类很可能只使用Java 7.0中提供的功能,在这种情况下你无法转换它(除非你使用Java重新编写代码) 7.0仅包含代码)。

如果您很幸运并且这些类刚刚使用Java 7.0进行编译和定位它们实际上并未使用Java 7.0中引入的任何新功能,那么您可以使用Java反编译器从你的jar中获取Java源文件,用Java 6.0重新编译它,重新打包,你就完成了。

要将.class个文件反编译为.java个文件,您可以使用JD Project或goole任何其他替代方案。

还有一些选择:

AndroChef Java Decompiler

dex2jar

但最好和最简单的方法就是升级到Java 7.0。你获得的收益远远超过你的收入(如果你甚至失去了任何东西)。< / p>