是否可以通过Android应用程序以编程方式检测手机支持的Java版本?
即看看手机是否可以运行Java 8字节码?
答案 0 :(得分:7)
android设备中没有所谓的Java版本。当您编译Java代码以构建android应用程序时,它会从类文件转换为DEX格式,并在Dalvik虚拟机或Android Runtime(ART)中运行。 Java代码到DEX格式的转换是在编译时发生的,因此不需要最新的Java在运行时解释DEX文件。
但是您需要注意,Java的所有类定义可能都不存在于android设备中。例如,方法java.util.Base64.getDecoder()
从JDK 1.8开始可用,并且可以在Android API级别17或更高版本中使用。但是带有lambda表达式(JDK 1.8功能)的代码也可以在较低的API级别上运行。