我刚刚安装了Android SDK R16和JDK 7,但我一直收到错误
Android需要编译器合规性级别5.0或6.0。找到'1.7'而不是。请使用Android工具>修复项目属性。“
我正在使用JRE 1.7的一些功能,所以我不能只将它切换到1.6。我该如何解决这个问题?
答案 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了。