76

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

SDK 网页上,它声明需要JDK 6(在系统要求部分下)。Jim Wilson他的 Pluralsight 课程(从去年 5 月开始,这是相当新的)中也坚持认为,将版本 7 与 Android SDK 一起使用会让人头疼,并且清楚地表明只使用 JDK 6。

尽管在Android Studio 页面(在安装步骤 2 下)中,他们解释了如何设置指示正确 JDK 位置的环境变量。在这里,他们使用JDK 7的路径

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

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

免责声明:我与 Pluralsight 没有任何关系。我只是学习课程的普通用户。

4

4 回答 4

76

答案澄清——Android Studio 支持 JDK8

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

另外:请参阅http://developer.android.com/sdk/index.html#latest了解 Android Studio 系统要求。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。请参阅下面的屏幕截图。

在此处输入图像描述

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

在此处输入图像描述


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

于 2013-07-25T22:29:59.827 回答
3

通常,我会按照文档中的说明进行操作,但如果讲师明确表示要坚持使用 JDK 6,我会使用 JDK 6,因为您希望您的开发环境尽可能接近讲师。如果您遇到问题并在脑后想到可能是因为您使用的是 JDK 7,那将会很糟糕。顺便说一句,我最近没有接触过 Android,但我个人在使用 JDK 7 时从未遇到过问题,但请注意,我只是随便编写 Android 应用程序。

于 2013-07-25T21:39:04.390 回答
2

尽量不要使用高于支持的 JDK 版本。几个月前,我实际上遇到了一个非常模棱两可的问题。

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

于 2015-09-30T12:17:18.610 回答
1

Android Studio 现在与OpenJDK 8捆绑在一起。遗留项目仍然可以使用JDK7JDK8

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

于 2018-03-21T12:32:07.973 回答