在Android手机上运行时检测Java版本

8

有没有办法从Android应用程序中以编程方式检测手机支持的Java版本?

也就是说,查看手机是否可以运行Java 8字节码等。


您可以根据 Android 版本进行判断。请查看 https://developer.android.com/studio/write/java8-support#supported_features。 - Vladyslav Matviienko
1个回答

11

在Android设备中,没有所谓的Java版本。当您编译Java代码以构建Android应用程序时,它会从class文件转换为DEX格式,并在Dalvik虚拟机或Android Runtime(ART)中运行。将Java代码转换为DEX格式是在编译时发生的,因此在运行时解释DEX文件不需要最新的Java。

但是需要注意的是,并非所有Java的类定义都存在于Android设备中。例如,方法java.util.Base64.getDecoder()仅在JDK 1.8及以上版本可用,并且可以在Android API级别17或更高级别上使用。但是带有lambda表达式(JDK 1.8功能)的代码也可以在较低的API级别上运行。


2
好的,详细说明。 - IntelliJ Amiya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接