在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(牛轧糖)-Android 8.0(O版本):Ubuntu-OpenJDK 8,Mac OS-jdk 8u45或更新版本
- Android 5.x(棒棒糖)-Android 6.0(棉花糖):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 JDK6
- 安卓1.5(Cupcake)-安卓2.2.x(Froyo):Ubuntu-Java JDK 5
我无法在文档中指向中的特定页面,但从实际角度来看,我在过去4年中一直在为android编程,并偶尔每年更新JDK一次,原因是与android无关。因此,JDK7/8的任何版本都可以用于任何api版本。
JDK是为构建项目而指定的,但它与您正在构建的项目的Compliance_Level所使用的规范不同。
重点是,代码没有JDK的功能,但受到Android指定的编译器功能的限制。
例如:JDK 1.8不能访问Lambdas。(Retrolanda给出了一个本地解决方案,并将在Android 3.0中添加)
在AS 2.3+之前,使用Java 1.7规范。
从AS 3.0(目前处于测试版)开始,使用Java 1.8规范。
更新机器JDK不会干扰您的代码。