Android Studio需要哪个JDK版本(语言级别)?

时间:2013-07-25 21:29:26

标签: java android android-studio java-7 java-6

我是android世界的新角色,拥有.NET背景。我正在尝试安装Android Studio,但我在Android.com上与开发Android应用程序所需的JDK版本不匹配。

SDK web page开始,声明 JDK 6 是必需的(在系统要求部分下)。 Jim Wilson也坚持his course on Pluralsight(从去年5月开始这是一个全新的版本),将第7版与Android SDK一起使用会产生很多麻烦,并且明确只使用JDK 6.

虽然在Android studio page(在安装步骤2下),但他们解释了如何设置指示正确JDK位置的环境变量。在这里,他们使用 JDK 7

的路径
  

选择Start menu > Computer > System Properties > Advanced System Properties。然后打开Advanced tab > Environment Variables并添加指向JDK文件夹的新系统变量JAVA_HOME,例如C:\Program Files\Java\jdk1.7.0_21

我很确定ADT& Eclipse包和Android Studio包使用相同的SDK,但现在我对我需要安装哪个JDK版本感到困惑。我唯一的目的是在迈出Android开发的第一步时尽可能避免出现问题。

免责声明:我对Pluralsight没有任何意义。我只是跟随课程的普通用户。

4 个答案:

答案 0 :(得分:74)

回答澄清 - Android Studio支持JDK8

以下是“Android支持什么版本的Java?”这个问题的答案。这与“我可以用什么版本的Java来运行Android Studio?”不同。我相信实际上被问到的是什么。对于那些希望回答第二个问题的人,您可能会发现Using Android Studio with Java 1.7有帮助。

另外:有关Android Studio系统要求,请参阅http://developer.android.com/sdk/index.html#latest。 JDK8实际上是PC和Linux的要求(截至2016年5月14日)。


Java 8更新(3/19/14)

因为我认为这个问题会在昨天发布后很快就会出现:截至目前,Android还没有确定何时支持Java 8。

以下是对/ androiddev - http://www.reddit.com/r/androiddev/comments/22mh0r/does_android_have_any_plans_for_java_8/

的讨论

如果您真的想要lambda支持,可以查看Retrolambda - https://github.com/evant/gradle-retrolambda。我从来没有用过它,但看起来很有希望。

另一个更新:Android添加了Java 7支持

Android现在支持Java 7(减去try-with-resource功能)。您可以在此处阅读有关Java 7功能的更多信息:https://stackoverflow.com/a/13550632/413254。如果您使用的是gradle,则可以在build.gradle中添加以下内容:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

旧回复

我正在使用Java 7与Android Studio没有任何问题(OS X - 10.8.4)。您需要确保将项目语言级别降低到6.0。请参见下面的屏幕截图。

enter image description here

下面所说的tehawtness也是有道理的。如果他们建议使用JDK 6,那么使用JDK 6是有意义的。无论哪种方式都没问题。

enter image description here


更新:请参阅此SO帖子 - https://stackoverflow.com/a/9567402/413254

答案 1 :(得分:3)

通常,我会按照文档说的那样去,但如果教师明确表示坚持使用JDK 6,我会使用JDK 6,因为您希望您的开发环境尽可能接近教师。如果你碰到一个问题并且在脑后想到这可能是因为你在JDK 7上遇到了这个问题,那就太糟糕了。顺便说一句,我最近没有触及过Android,但我个人从未在JDK 7上遇到问题,但请注意,我只是随便编写Android应用程序。

答案 2 :(得分:2)

尽量不要使用高于支持的版本的JDK版本。几个月前我真的碰到了ambiguous problem

我有一个自己的jar库,我用JDK 8编译,我在我的任务中使用它。每次我尝试运行它时,它都会给我一些preDexDebug错误。最终,在尝试破译错误日志数小时之后,我终于知道出了什么问题。我检查了系统要求,将编译器从8改为7,并且工作正常。看起来把我的罐子放进图书馆花了我几个小时而不是保存它......

答案 3 :(得分:1)

Android Studio现在捆绑了 OpenJDK 8 。旧版项目仍然可以使用 JDK7 JDK8

参考: https://developer.android.com/studio/releases/index.html