我在Android Studio中使用的JDK版本是否重要?

时间:2015-05-06 15:14:53

标签: java android android-studio

我知道我可以在Android Studio的项目结构中选择SDK位置。 Project Structure, SDK Location

我有两个问题:

  1. 为什么我们在使用Android SDK时需要JDK?毕竟,我们不是为JVM开发的。

  2. 使用JDK 1.6,1.7和1.8之间有什么区别吗?

2 个答案:

答案 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?