【发布时间】:2015-07-16 19:57:16
【问题描述】:
我知道我可以在 Android Studio 的项目结构中选择 SDK 位置。
我有两个问题:
既然已经在使用 Android SDK,为什么还需要 JDK?毕竟,我们不是为 JVM 开发的。
使用 JDK 1.6、1.7 和 1.8 有什么区别吗?
【问题讨论】:
标签: java android android-studio
我知道我可以在 Android Studio 的项目结构中选择 SDK 位置。
我有两个问题:
既然已经在使用 Android SDK,为什么还需要 JDK?毕竟,我们不是为 JVM 开发的。
使用 JDK 1.6、1.7 和 1.8 有什么区别吗?
【问题讨论】:
标签: java android android-studio
Android 始终支持 Java 6。
Android 现在支持 Java 7,因此推荐使用 Java 7(自 KitKat 起)。
Android 目前还不支持 Java 8。
您可以像这样在 build.gradle 文件中指定 Java 7:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
唯一的区别是 Java 版本(Java 7 当然增加了功能)和 Android 不支持 Java 8 时期。
编辑
其实这是在这里回答的:Which JDK version (Language Level) is required for Android Studio?
【讨论】:
既然我们已经在使用 Android SDK,为什么还需要 JDK?毕竟,我们不是为 JVM 开发的。
Android 构建过程依赖于 JDK 中的许多工具。查看the build system overview documentation。
我们需要从 JDK 获得的第一个重要部分是javac——所有用 Java 编写的源代码都需要编译才能转换为 DEX 格式。
一旦您的代码被编译、dexed 并打包到 APK 中,我们需要 jarsigner 对 APK 进行签名。
使用 JDK 1.6、1.7 和 1.8 有什么区别吗? 这取决于您使用的每个功能。不使用 Java 7 功能的旧项目可以毫无问题地使用 Java 6。对于大多数现代项目,我个人推荐 Java 7。如果可以使用,为什么不呢?
有一些努力将 Java 8 功能引入 Android,最引人注目的是 gradle-retrolambda。其中一些需要 JDK 8 才能正确编译。
【讨论】: