1

developer.android.com上是否有任何官方文档说明每个Android SDK平台所依赖的Java SDK版本?

我目前有API 23的1.7.0_55,但是有更新的版本可用,最新的是7u80(我假设是1.7.0_80)。

我可以简单地使用最新版本的JDK 1.7,还是需要特定版本?

下次有API 23可用的更新时,我是否也应该相应地更新JDK 1.7(无论是最新的,还是指定的任何内容,无论它在哪里)?


更新

下表指定了构建实际操作系统源的要求,虽然我认为它适用于相应的 SDK 平台,但我并不肯定。

https://source.android.com/source/requirements

JDK

有关旧版本的预构建路径和安装说明,请参阅安装 JDK。

  • Android 7.0 (Nougat) - Android 8.0 (O 版本): Ubuntu - OpenJDK 8, Mac OS - jdk 8u45 或更新版本
  • Android 5.x (Lollipop) - Android 6.0 (Marshmallow): Ubuntu - OpenJDK 7, Mac OS - jdk-7u71-macosx-x64.dmg
  • Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat):Ubuntu - Java JDK 6,Mac OS - Java JDK 6
  • Android 1.5 (Cupcake) - Android 2.2.x (Froyo): Ubuntu - Java JDK 5
4

2 回答 2

0

JDK 是为构建项目而指定的,但它与您正在构建的项目的 Compliance_Level 使用的规范不同。

关键是代码没有JDK的功能,但它受限于Android指定的编译器功能。

例如:拥有 JDK 1.8 不会为 Lambda 提供访问权限。(retrolambda 提供并且将在 Android 3.0 中添加原生解决方案)

在 AS 2.3+ 之前,使用 Java 1.7 规范。

从 AS 3.0(目前处于测试阶段)开始使用 Java 1.8 规范。

更新机器 JDK 不会干扰您的代码。

于 2017-10-06T16:26:39.190 回答
0

我无法指出文档中的特定页面,但从实际角度来看,我过去 4 年一直在为 android 编程,并且每年偶尔更新一次 JDK,因为与 Android 无关。所以任何版本的 JDK 7/8 都适用于任何 api 版本。

于 2017-10-06T15:35:37.323 回答