Android Studio 需要哪个 JDK 版本(语言级别)?
Posted
技术标签:
【中文标题】Android Studio 需要哪个 JDK 版本(语言级别)?【英文标题】:Which JDK version (Language Level) is required for Android Studio? 【发布时间】:2013-07-25 23:57:40 【问题描述】:我是 android 世界的新手,具有 .NET 背景。我正在尝试安装 Android Studio,但我在 Android.com 上发现开发 Android 应用程序所需的 JDK 版本不匹配。
SDK web page 声明需要 JDK 6(在系统要求部分下)。 Jim Wilson 还坚持在 his course on Pluralsight(从去年 5 月开始,这是相当新的)使用 Android SDK 的版本 7 会造成很多麻烦,并且明确表示只使用 JDK 6。
尽管在Android studio page(在安装步骤 2 下)中,他们解释了如何设置环境变量来指示正确的 JDK 位置。在这里他们使用 JDK 7
的路径选择
Start menu > Computer > System Properties > Advanced System Properties
。然后打开Advanced tab > Environment Variables
并添加一个新的系统变量JAVA_HOME
指向您的JDK 文件夹,例如C:\Program Files\Java\jdk1.7.0_21
。
我很确定 ADT & Eclipse 包和 Android Studio 包都使用相同的 SDK,但现在我对需要安装哪个 JDK 版本感到困惑。我的唯一目的是在迈出 Android 开发的第一步时尽可能避免出现问题。
免责声明:我与 Pluralsight 没有任何关系。我只是一个学习课程的普通用户。
【问题讨论】:
【参考方案1】:通常情况下,我会按照文档中的说明进行操作,但如果讲师明确表示要坚持使用 JDK 6,我会使用 JDK 6,因为您希望您的开发环境尽可能接近讲师。如果您遇到问题并在脑后思考可能是因为您使用的是 JDK 7 导致您遇到了问题,那就太糟糕了。顺便说一句,我最近没有接触过 Android,但我个人在使用 JDK 7 时从未遇到过问题,但请注意,我只是随便编写 Android 应用程序。
【讨论】:
【参考方案2】:答案澄清 - 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 更新(2014 年 3 月 19 日)
因为我认为这个问题会随着昨天的发布很快出现:截至目前,还没有确定 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://***.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://***.com/a/9567402/413254
【讨论】:
Java 8 仍然是这种情况吗?什么时候支持? @domenicop 确实如此。可能不会再过几年:P。 Android 使用自己的运行时环境是 Android 在 Java 版本方面总是落后几年的原因。 我看到这是被接受的答案(有 57 个赞成票),但 IMO 这根本没有回答这个问题。问题是运行 AS 需要哪个 Java 版本,这与 Android 应用支持的 Java 版本完全无关。 @Tom,我同意!我更新了上面的答案,至少在某种程度上反映了这一点。【参考方案3】:尽量不要使用高于支持的 JDK 版本。几个月前我实际上遇到了一个非常ambiguous problem。
我有一个使用 JDK 8 编译的自己的 jar 库,我在作业中使用它。每次我尝试运行它时,它都会给我某种preDexDebug
错误。最终,在尝试破译错误日志数小时后,我终于知道出了什么问题。我检查了系统要求,将编译器从 8 更改为 7,并且成功了。看起来将我的罐子放入图书馆花费了我几个小时而不是保存它......
【讨论】:
【参考方案4】:Android Studio 现在与 OpenJDK 8 捆绑在一起。遗留项目仍然可以使用 JDK7 或 JDK8
参考: https://developer.android.com/studio/releases/index.html
【讨论】:
以上是关于Android Studio 需要哪个 JDK 版本(语言级别)?的主要内容,如果未能解决你的问题,请参考以下文章
最近Android studio出了1.0版,但是SDK一直无法下载,请问大家是怎么解决的?