Android SDK可以与JDK 1.7一起使用吗?

时间:2011-12-20 16:14:56

标签: java android

我刚刚安装了Android SDK R16和JDK 7,但我一直收到错误

  

Android需要编译器合规性级别5.0或6.0。找到'1.7'而不是。请使用Android工具>修复项目属性。“

我正在使用JRE 1.7的一些功能,所以我不能只将它切换到1.6。我该如何解决这个问题?

4 个答案:

答案 0 :(得分:39)

是的,您可以将Java 1.7用于Android开发。您必须在编译期间保持与Java 6的源兼容性,并且只有下一个问题是由于更改了jarsigner的默认算法。

这已在Stack Overflow问题 Android signing with Ant (解决方法)中解决。

但它是already fixed in Ant。因此,官方支持将很快直接在Android SDK中。

如果您想使用Maven进行构建,则解决方案位于 What kind of pitfals exist for the Android APK signing

更新:最新版本的Ant,Maven Plugin或Gradle对Java 7或Java 8没有任何问题,所以这已经过时了。

答案 1 :(得分:28)

从ADT(22.6)开始,可以使用Java 1.7功能:

重要:

try-with-resources需要API 19及更高版本:

  

添加了对Java 7语言功能的支持,例如multi-catch,   尝试使用资源和钻石运营商。这些功能需要   Build Tools的19或更高版本。尝试资源需要   minSdkVersion 19;其余的新语言功能需要   minSdkVersion 8或更高。

答案 2 :(得分:18)

您的PC上只需要1.6。我有同样的问题。安装1.6 JDK,并将其添加为已知的JDK,但实际上并没有为您的项目选择它。

答案 3 :(得分:11)

值得一提的是,如果你想要使用API​​ 21(Android 5.0 Lollipop)编译项目,你必须使用JDK 1.7。

API 21不再使用JDK 1.6了。