android - 支持jvmTarget 1.8的安卓版本是多少?

标签 android jvm

为了解决我的 Android 应用程序中的兼容性问题,我刚刚在我的 build.gradle 文件中更改了 JVM 的目标版本和 kotlin-stdlib-jdk 来自 78

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,或者通过这个简单的更改我可以在以后引入很多惊喜。

最佳答案

从 Android API 19 开始,它可以支持 JVM 8 但不完全支持(对于 SDK 19)。
您的 PC 应该安装了 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 不支持的内容。

关于android - 支持jvmTarget 1.8的安卓版本是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56049277/

相关文章:

java - Android Studio java.lang.IllegalStateException

android - 不要杀死按下后退键的 Activity

android - 某些阿拉伯文本显示不正确,而其他阿拉伯文本正常显示?

java - Java 中两个 double 的符号比较

java - 在我自己的 JVM 上运行 Java 代码

java - run完成后调用线程对象方法

java - sun.jvm.hotspot.HelloWorld 的目的是什么?

android - 如何将对象列表列表从一个 Activity 传递到另一个 Activity

java - Eclipse如何重构Javadoc源码注释?

java - VisualGC 到在 docker 中运行的远程 JVM