我知道我可以在Android Studio的项目结构中选择SDK位置。
我有两个问题:
为什么我们在使用Android SDK时需要JDK?毕竟,我们不是为JVM开发的。
使用JDK 1.6,1.7和1.8之间有什么区别吗?
答案 0 :(得分:4)
为什么我们在使用Android SDK时需要JDK?毕竟,我们不是为JVM开发的。
Android构建过程依赖于JDK中的许多工具。查看the build system overview documentation。
我们需要JDK的第一个重要部分是javac
- 所有用Java编写的源代码都需要在转换为DEX foramt之前进行编译。
将代码编译,定制并打包到APK后,我们需要jarsigner
来签署APK。
使用JDK 1.6,1.7和1.8之间有什么区别吗? 这取决于您使用的功能。没有使用Java 7功能的旧项目可以毫无问题地使用Java 6。我个人推荐Java 7用于大多数现代项目。如果你可以使用它,为什么不呢?
有一些努力将Java 8功能引入Android,最值得注意的是gradle-retrolambda。其中一些需要JDK 8才能正确编译。
答案 1 :(得分:3)
Android始终支持Java 6。
Android现在支持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?