Recibo el siguiente error cuando intento compilar mi proyecto en Android Studio:
Gradle: error: diamond operator is not supported in -source 1.6
Tengo 1.7 establecido como objetivo en todas las preferencias del proyecto que he encontrado. Además, la ruta que se muestra en los SDK del proyecto bajo 1.7 SDK es la ruta correcta para la instalación de java 1.7.
Incluso cuando ejecuto java -version en la terminal, me dice que estoy ejecutando en java 1.7.
He intentado configurar JAVA_HOME env variable para esto:
/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
El error no desaparece. ¿Cómo elimino el error?
java
intellij-idea
gradle
android-studio
java-7
simekadam
fuente
fuente
sourceCompatibility
configurado tu build.gradle?Respuestas:
Se agregó compatibilidad con Java 7 en las herramientas de compilación 19. Ahora puede usar funciones como el operador de diamante, captura múltiple, prueba con recursos, cadenas en interruptores, etc. Agregue lo siguiente a su
build.gradle
.Se requiere Gradle 1.7+, Android Gradle Plugin 0.6. +.
Tenga en cuenta que solo intente con recursos requieren
minSdkVersion
19. Otras características funcionan en plataformas anteriores.Enlace a la guía del usuario del complemento Android Gradle
Enlace para ver en qué se diferencian el origen y el destino
fuente
Tal vez estas respuestas anteriores son antiguas, pero con el nuevo Android Studios 1, hace lo siguiente para ver el módulo que se ejecuta en 1.7 (o 1.6 si lo prefiere). Haga clic en Archivo -> Estructura del proyecto. Seleccione el módulo que desea ejecutar y luego en "Compatibilidad de origen" y "Compatibilidad de destino", seleccione 1.7. Haga clic en Aceptar".
fuente
Puede cambiarlo en la nueva versión de estudio de Android (0.8.X)
Archivo-> Otras configuraciones -> Configuración predeterminada -> Compilador (Expanda haciendo clic en la flecha izquierda) -> Compilador Java -> Puede cambiar la versión del código de bytes del proyecto aquí
fuente
La última versión de Android Studio 1.4.
Haga clic en Archivo-> Estructura del proyecto-> Ubicación SDK-> Ubicación JDK.
También puede configurar la compatibilidad de la versión JDK del módulo individual yendo al Módulo (debajo de la ubicación del SDK) y editar la compatibilidad de origen en consecuencia. (nota, esto solo se aplica al Módulo Android).
fuente
Haga clic derecho en su proyecto> Abrir configuración de módulo> Seleccione "Proyecto" en la sección "Configuración de proyecto"
Cambie el SDK del proyecto a la última versión (puede ser API 21) y el nivel de idioma del proyecto a 7+
fuente
En la actualidad, Android no es compatible con Java 7, solo Java 6. Por lo tanto, actualmente no se admiten nuevas funciones en Java 7, como la sintaxis de diamante. Encontrar fuentes para soportar esto no es fácil, pero podría encontrar que el motor Dalvic está construido sobre un subconjunto de Apache Harmony que solo admitía Java hasta la versión 6. Y si verifica los requisitos del sistema para desarrollar aplicaciones de Android, también indica que se necesita al menos JDK 6 (aunque esto, por supuesto, no es una prueba real, solo una indicación). Y esto dice más o menos lo mismo que yo. Si encuentro algo más sustancial, lo agregaré.
Editar: Parece que se ha agregado compatibilidad con Java 7 desde que originalmente escribí esta respuesta; Comprueba la respuesta de Sergii Pechenizkyi .
fuente
Utilice siempre la última versión del SDK para compilar:
No afecta el comportamiento del tiempo de ejecución , pero le brinda las últimas funciones de programación.
fuente
Vaya a su Gradle y busque sourceCompatibility y cámbielo de 1.6 a 7 . Eso funcionó para mí al menos.
También puede acceder a la configuración de su módulo y establecer la compatibilidad de origen / destino en 1.7.
Ventana de configuración del módulo
Eso producirá el siguiente código en tu Gradle:
fuente