Shu*_*mar 5 java android kotlin
我应该在android项目中使用哪个java版本,我知道默认情况下android将目标和编译器版本设置为JAVA 1.8,但gradle sdk默认设置为java 11。在 compose 文档的某个地方,我看到我们可以使用 java 17 作为目标和编译选项。我只是想知道如何以及从哪里可以检查 android 中最新支持的 java 版本,因为我想使用最新的 java 版本。原因是新版本带有新功能,这就是原因。我
请参阅Android 版本中的 Java 版本。(披露:我写的)
Google 保留支持哪些 Java 级别的信息的主要位置是我可以在 Java 或 Kotlin 源代码中使用哪些 Java API?
AndroidcompileSdk确定哪些 JDK API 可在源代码中使用(Kotlin 或 Java)。
请注意,有多个 JDK 在使用:
运行 Android Studio 的 JDK - 让它默认为 Android Studio 附带的 JetBrains Runtime (JBR)
运行 Gradle 的 JDK - 在 Android Studio 中设置它以进行 Studio 构建,或者通过org.gradle.java.homein gradle.properties(默认为JAVA_HOME)进行 shell 构建
工具链 JDK - 源和目标级别的默认值,以及用于运行单元测试的 JDK。我强烈建议使用它来代替sourceCompatibility,targetCompatibility和jvmTarget。通过添加来设置
kotlin {
jvmToolchain(17)
}
Run Code Online (Sandbox Code Playgroud)
在模块顶部build.gradle.kts, 并删除sourceCompatibility,targetCompatibility和jvmTarget设置。
sourceCompatibility- Java 源代码的 Java 级别(默认为工具链)
targetCompatibility- Java 源代码的 Java 字节码生成级别(默认为工具链)
jvmTarget- Kotlin 源代码的 Java 字节码生成级别(默认为工具链)
对于用于开发和编译的Java版本,这取决于minSdkVersion您的应用程序。
是的,您可以使用最近构建的 JDK,但是它对设备上存在的Java 运行时和 APIminSdkVersion设置了限制。
Iterator项目定位使用案例minSdkVersion 21

桌子
| 安卓 | 爪哇 | 支持 API 和语言功能 |
|---|---|---|
| 14(API 34) | 17 号 | 核心库 |
| 13(API 33) | 11 | 核心库 |
| 12(API 32) | 11 | Java API |
| API 24 | 8 | 安卓版本 |
| API 10(不确定) | 7 | 安卓版本 |
这就是为什么我转而使用 Kotlin,以获得一种更高级的语言,而没有minSdkVersion. 在“老式”Java 中,代码编写速度更快!
查看官方文档
| 归档时间: |
|
| 查看次数: |
2240 次 |
| 最近记录: |