我正在尝试在Android Studio中构建一个针对API16(Android版本4.1.2)的项目。使用SDK管理器我能够下载该SDK平台,但在编译时会引发异常,因为它正在尝试解析已编译的.jar
文件:
bad class file magic (cafebabe) or version (0034.0000)
我对这个问题的理解是我需要构建工具来匹配我所针对的API版本(因为我目前只有最新版本的构建工具)。但是,我无法安装它们,因为它们在SDK管理器和Android网站(http://developer.android.com/tools/revisions/build-tools.html)上都不可用。是否有另一种方法来安装此版本的构建工具? (或者,如果不需要安装该版本的构建工具,我该如何解决此问题?)
答案 0 :(得分:1)
这是Java版本的问题(即jar的版本,或者更确切地说是其中的类文件,是用它编译的)。它实际上与 Android 版本无关。
0x34
表示jar是使用Java 8编译的(请参阅可能值列表here)。 Android只能使用编译为Java 6的jar。
如果您拥有此库的源代码,则应使用-target 1.6
标志重新编译它。