¿Es posible utilizar Java 8 para el desarrollo de Android?

Resuelto nPn asked hace 54 años • 28 respuestas

Al buscar en la web, no está claro si Java 8 es compatible con el desarrollo de Android o no.

Antes de descargar/configurar Java 8, ¿alguien puede indicarme alguna documentación "oficial" que diga que Java 8 es o no compatible con el desarrollo de Android?

nPn avatar Jan 01 '70 08:01 nPn
Aceptado

ACTUALIZACIÓN 04/11/2017: Android Studio 3.0 ahora tiene soporte nativo para Java 8. gradle-retrolambda Ahora ya no es necesario. Consulte https://developer.android.com/studio/write/java8-support.html

El enlace anterior también incluye instrucciones de migración si está utilizando gradle-retrolambda. Respuesta original a continuación:


Android no es compatible con Java 8. Solo admite hasta Java 7 (si tiene kitkat) y aún no tiene invokedynamic, solo la nueva sintaxis sugar.

Si desea utilizar lambdas, una de las funciones principales de Java 8 en Android, puede utilizar gradle-retrolamba . Es una dependencia de compilación de Gradle que integra retrolambda, una herramienta que convierte el código de bytes de Java 8 a Java 6/7. Básicamente, si configura el compilador en Android Studio para compilar el código de bytes de Java 8, permitiendo así lambdas, lo convertirá nuevamente al código de bytes de Java 6/7, que luego a su vez se convierte al código de bytes de Dalvik. Es un truco si quieres probar algunas funciones de JDK 8 en Android en lugar del soporte oficial.

ekcr1 avatar Apr 27 '2014 02:04 ekcr1

java 8

Android admite todas las funciones del lenguaje Java 7 y un subconjunto de funciones del lenguaje Java 8 que varían según la versión de la plataforma.

Para comprobar qué funciones de Java 8 son compatibles

Utilice las funciones del lenguaje Java 8

Hemos decidido agregar soporte para las características del lenguaje Java 8 directamente al conjunto de herramientas javac y dx actual, y dejar de usar la cadena de herramientas Jack. Con esta nueva dirección, las herramientas y complementos existentes que dependen del formato de archivo de clase Java deberían seguir funcionando. En el futuro, las funciones del lenguaje Java 8 serán compatibles de forma nativa con el sistema de compilación de Android. Nuestro objetivo es lanzar esto como parte de Android Studio en las próximas semanas y queríamos compartir esta decisión con ustedes desde el principio.

Futuro del soporte de funciones del lenguaje Java 8 en Android

Usuarios de Eclipse:

Para los desarrolladores antiguos que prefieren Eclipse, Google deja de admitir las herramientas para desarrolladores de Android Eclipse.

Si instaló Java 8 JDK, pruébelo; si aparece algún problema, intente configurar el compilador como 1.6 en Eclipse desde el menú de la ventana → PreferenciasJavaCompilador . Java 7 también funcionará:

Preferencias de Eclipse -> Java -> Compilador

Se requiere Java 7 o superior si su objetivo es Android 5.0 y superior.

Instale varios JDK y pruébelo.

Eng. Samer T avatar Apr 27 '2014 01:04 Eng. Samer T