Detectar la versión de Java en el teléfono Android en tiempo de ejecución

zaifrun:

¿Hay manera de programáticamente desde una aplicación para Android detectar la versión de Java que soporta el teléfono?

es decir, para ver si el teléfono puede ejecutar Java 8 código de bytes, por ejemplo?

Nabin Bhandari:

No hay tal cosa llamada versión de Java en el dispositivo Android. Al compilar código Java para crear aplicaciones para Android, se convierte a formato DEX del archivo de clase y se ejecuta en Dalvik máquina virtual o Android Runtime (ART). La conversión de código Java a formato DEX sucede en tiempo de compilación, por lo que no se requiere tener última versión de Java para interpretar el archivo DEX en el tiempo de ejecución.

Pero hay que tener en cuenta que no todos pueden existir definations clase de Java en un dispositivo Android. Por ejemplo, el método java.util.Base64.getDecoder()está disponible como de JDK 1.8, y se puede utilizar en el nivel API androide 17 o superior. Pero el código con la expresión lambda (JDK 1.8 función) se puede ejecutar en los niveles más bajos de la API también.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=168591&siteId=1
Recomendado
Clasificación