我已经在我的android应用程序中将Dropbox API框架从2.0.1更新到了当前的3.1.2。在打包我的应用程序时,我收到了多个错误,如:
[INFO]处理故障:[INFO]mald class file magic(cafebabe)or版本(0033.0000)[信息]。。。分析时com/dropbox/sync/android/DbxStringValue.class[信息]。。。虽然处理com/dropbox/sync/android/DbxStringValue.class[INF]
文件似乎是由jdk 1.7编译的,但我仍然使用jdk 1.6,我不想更新到jdk 1.7(以避免新的错误和不兼容)。
如何将.jar 1.7转换为.jar 1.6?
如果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项目或使用任何其他替代方案。
更多选项:
AndroChef Java解压程序
dex2jar
但最好和最简单的方法是升级到Java 7.0。你会得到比失去更多的东西(如果你甚至失去了任何东西)。