要解决Android应用程序中的兼容性问题,我刚刚在build.gradle
文件中将JVM和kotlin-stdlib-jdk
的目标版本从7
更改为8
>
android {
......
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
....
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
....
}
现在,我的项目已编译为JVM 8,我问自己一个问题,即该JVM 8支持的最低Android Api数量。我想在更改之后,某些旧设备无法执行我的应用。
我的最低Android API是21。我在模拟器上运行了我的应用,看来还可以。
有人可以告诉我此版本中的所有设备是否都支持JVM 8,或者通过此简单更改,我以后可以介绍很多惊喜。
答案 0 :(得分:1)
自Android API 19起,它可以支持JVM 8,但不能完全支持(对于SDK 19)。
您的电脑应已安装Android Studio 3+和JDK 8进行编译。
您的android设备与Java版本无关,它将支持其android API支持的功能。
但是您需要注意,Android API并不支持JDK 8所支持的全部功能,即使对于某些半现代的API(如25)也是如此!
例如:JDK 8支持某些密码填充和哈希,而Android API 25不支持。
因此,在您的情况下,您应该检查哪些Android API 21不支持JDK 8甚至7不支持。