¿Android N requiere que el IDE se ejecute con Java 1.8 o posterior?

117

Mi XMLdiseño no se muestra con este mensaje de error. Ya estoy usando Java 8.

ingrese la descripción de la imagen aquí

También usando las últimas herramientas de compilación en Gradle.

android {
    compileSdkVersion 'android-N'
    buildToolsVersion 24.0.0 rc1
    ...
}

Error XML -

ingrese la descripción de la imagen aquí

mjosh
fuente
2
Hay todo tipo de problemas de renderizado con Android Studio. Sugiero que proporcione un ejemplo mínimo reproducible . En este caso, eso incluiría el archivo de diseño y el error específico.
CommonsWare
@CommonsWare Actualicé la imagen de error XML. Instalar un JDK compatible me redirigió para configurar los pasos que ya hice.
mjosh
1
Tuve que cambiar a buildToolsVersion '24 .0.0 rc1 ', faltaban las comillas en la documentación.
Phyrum Tea
@PhyrumTea No hizo que el error desapareciera.
mjosh
1
Finalmente, cuando traté de construir y ejecutar el proyecto, falló con Directory cannot have its readable permission cleared for everybody. Al parecer, es un error conocido y Google está trabajando en ello.
mjosh

Respuestas:

187

Recibí el mismo error que usted describe, pero en OS X.Sé que esto puede no resolver su problema (porque no sé el equivalente para Windows), pero como no es un sistema operativo específico, le dejo la solución a cualquier compañero de OS X allí afuera. Edite el archivo /Applications/Android\ Studio.app/Contents/Info.plisty elimine la versión 1.6 (en mi caso), puede colocar 1.6+, 1.7+ o 1.8, lo que prefiera. El mío terminó así

...
<key>JVMVersion</key>
<string>1.7+</string>
...

Tenga en cuenta que existe una incompatibilidad con arrastrar y soltar con las versiones de java 1.8_60 a 1.8_75 ( IDEA-146691 ) que el IDE informará una vez que cambie correctamente la versión.

Para usuarios que no son terminales

  1. Encuentra tu Android Studio.apparchivo. Si está en el dock, puede hacer clic derecho y elegirOptions > Show in Finder .
  2. Haz clic derecho y elige Show package content.
  3. Navegue hasta el archivo mencionado ( Contents/Info.plist).
  4. Edite el archivo con su editor de texto favorito.
LaloLoop
fuente
11
Esto cambiará la máquina virtual donde se ejecuta Android Studio. En mi OSX, el valor original era: <key> JVMVersion </key> <string> 1.6 *, 1.7 +, 1.8 </string> Y el nuevo valor es: <key> JVMVersion </key> <string> 1.8 </ cadena>
santhyago
8
¡Funciona! Gracias por esta solucion. La pregunta es: ¿Por qué Google quiere que sus desarrolladores pierdan su tiempo en estos temas?
Kotik_o
3
Gracias por solucionar la falta de documentación de Google :). Me pregunto por qué esta instrucción no está aquí: developer.android.com/intl/pt-br/preview/setup-sdk.html#java8 (Este es el enlace que se muestra en Android Studio).
Totalys
7
¡¡Funciona genial!! Lamentablemente, al actualizar Android Studio (que acabo de hacer a la versión más reciente), restablece el archivo Info.plist, así que tengo que repetir los pasos nuevamente para cambiar mi JVMVersion: ¡ <key>JVMVersion</key> <string>1.8</string>Qué molesto Android Studio!
Micro
3
Android Studio 2.2 usa <string> 1.8 *, 1.8 + </string>.
jmnwong
147

Haga clic en la letra N, junto al icono de Android en la ventana Vista previa y seleccione API nivel 23 o inferior. Eso debería solucionarlo.

Primera fila de iconos en la ventana rpeview

Ian
fuente
25
Pero quiero obtener una vista previa en N, no en API 23.
mjosh
3
Experimenté el mismo problema en mi mac. Reducir el nivel de API de 24 a 23 funcionó para mí.
salman
3
no es una respuesta, siga la respuesta marcada como correcta
Pavneet_Singh
Ésta no es una respuesta. Esto es simplemente ignorar el entorno problemático.
enadun
Bien hecho. Sí, resolvió mi problema. Gracias. :)
arango_86
63

Establecer JDK_HOMEy JAVA_HOMEvariables de entorno, en mi caso C:\Program Files\Java\jdk1.8.0_60.

ingrese la descripción de la imagen aquí

Verifique la versión de Java en Help > About. Debería mostrar la versión de JRE que acaba de configurar.

ingrese la descripción de la imagen aquí

Eso es todo, ahora puede obtener una vista previa de su diseño en formato N.

mjosh
fuente
1
Hice lo que dijiste, pero cuando ayudo-> todavía apunta a mi antiguo jdk. ¿Porqué es eso?
The_Martian
1
Tengo JRE: 1.8 (aproximadamente). Sin embargo, no puedo crear aplicaciones dirigidas a v24. > compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.
Zapnologica
1
@The_Martian necesitas reiniciar tu computadora.
exprimir el
1
En Mac Os elimino mi antigua versión de jdk. Después de eso, Android Studio elige la última versión
lopez.mikhael
1
@ lopez.mikhael eso es lo único que funcionó para mí al final. Cambié todas las configuraciones posibles que pude encontrar, configuré todo exactamente como se suponía que debía hacerlo, seguí recibiendo el error. Al final, moví los directorios jdk más antiguos a un subdirectorio que nombré old_jdks en la carpeta JavaVirtualMachine. Todo funciona muy bien ahora.
zgc7009
27

Para usuarios de Mac con este problema (estoy ejecutando OS X 10.11.5 y Android Studio 2.1.2), así es como puede resolverlo:

Actualmente, la versión para Mac de Android Studio se ejecuta con Java 6 (no necesariamente la misma que la versión JDK para la aplicación), porque Java 6 tiene una mejor representación de fuentes que Java 7 y 8, y eso aparentemente es más importante que representar su diseño.

En primer lugar, asegúrese de tener instalado JDK 8 .

Luego ejecute los siguientes comandos:

$ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk
$ open /Applications/Android\ Studio.app/

Es posible que deba cambiar el 91in jdk1.8.0_91.jdka una versión diferente. Puede ver qué versiones de JDK tiene con:

$ ls /Library/Java/JavaVirtualMachines/

Desafortunadamente, este método requiere abrir la aplicación desde la terminal, pero siempre puede crear un script para él.

Más información

Editar: Y si realmente no quieres abrirlo desde la terminal:

  1. Cree un AppleScript con contenido: do shell script "export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk; open /Applications/Android\\ Studio.app/"
  2. Archivo> Guardar Elija el formato de archivo Aplicación . Guárdalo en algún lugar.
  3. Si desea cambiar el icono, consulte aquí.
  4. Arrastre la aplicación a su Launchpad si lo desea.
wumbo
fuente
cuando intento ejecutar el script obtengo: ¿ error "sh: /usr/local/bin/studio: No such file or directory" number 127alguna forma de solucionarlo? cuando lo ejecuto desde la terminal, funciona perfectamente
Daniele
@Daniele Lo siento, olvidé que creé otro script de shell para eso. El AppleScript debe tener los mismos comandos que los anteriores. Vea mi respuesta actualizada.
wumbo
5

Me encontré con el mismo problema.

Instalé jdk1.6, jdk1.7, jdk1.8 e implementé Studio como lo hizo usted.

Mi solución es desinstalar jdk1.6 y jdk1.7, solo dejar jdk1.8

sudo rm -rf ${path to jdk1.6}
sudo rm -rf ${path to jdk1.7}

Eso es todo.

viento joven
fuente
¿Es seguro hacerlo
Micro
@MicroR Si los otros softwares no han dependido de jdk1.6 y jdk1.7, creo que es seguro.
youngwind
Esta solución me solucionó el problema. Esta forma de desinstalación es segura y es la recomendada por Oracle ( docs.oracle.com/javase/8/docs/technotes/guides/install/… )
Showpath
2

Estoy usando Ubuntu 14.04 y estaba enfrentando un error similar, con la diferencia de que no tengo NDK. Mi solución fue, después de configurar Java 8 en la definición del proyecto, reiniciar Android Studio, no más.

Verifique la versión de Java del sistema, en la consola "java -version", la salida debería decir algo como esto

java version "1.8.0_91"
Sergio A Guzmán
fuente
He configurado JAVA_HOME = "/ Library / Java / JavaVirtualMachines / jdk1.8.0_91.jdk / Contents / Home" ¿STUDIO_SDK también debería ser "/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"?
mythicalcoder
@Maven teóricamente puede configurar la variable STUDIO_SDK que será la ruta del SDK para ejecutar Android Studio (como se dice en los parámetros de configuración de Studio tools.android.com/tech-docs/configuration ). Sin embargo, en mi caso no configuré esa variable y el IDE se está ejecutando como se esperaba.
Sergio A Guzmán
Tienes razón. Probé cosas diferentes. De hecho, fue el problema de 1.8 no vinculado correctamente. Esto lo resolvió stackoverflow.com/a/35935433/2369867 . Gracias.
mítico
2

Tuve el mismo problema con Ubunutu. El problema no era ejecutar el IDE con Java8.

Lo arreglé actualizando el programa java predeterminado del sistema operativo, usando:

sudo update-alternatives --config java

Y eligiendo la ruta de Java8 relevante.

danny11
fuente
1

Me enfrenté al problema "Android N requiere que el IDE se ejecute con Java 1.8 o posterior". El error siguió apareciendo a pesar de configurarse C:\Program Files\Java\jdk1.8.0_92como JDK del proyecto en formato File > Project Structure.

Lo resolví actualizando JAVA_HOME en mis variables de entorno de C:\Program Files\Java\jdk1.7.0_67a C:\Program Files\Java\jdk1.8.0_92. Cuando hice eso y reinicié Android Studio, el modo de diseño estuvo disponible.

SO: Windows 10

Estudio de Android: 2.1.2

Maksim Dmitriev
fuente
1

Lo he solucionado de esta forma. (AS + MAC OX El Capitan)

  1. Actualización de herramientas del SDK> Herramientas de la plataforma SDK de Android
  2. Vaya a Ayuda> Editar propiedades personalizadas> Aparecerá un cuadro de diálogo (presione sí) y luego escriba

    JVMVersion=1.8 

Luego cierre Android Studio completamente y vuelva a cargar el proyecto

Milon
fuente
0

Mi problema fue que Android N estaba "parcialmente instalado".

Mi solución fue ir a - Preferencias / Apariencias y comportamiento / Configuración del sistema / SDK de Android y verificar el Estado. Si está "parcialmente instalado", debe desinstalarlo y luego reinstalarlo. (Desmarque la casilla de verificación y presione Aplicar; se desinstalará; luego puede marcar la casilla e instalarlo nuevamente) Funcionó para mí. Si va a una versión inferior (como la 23), debe cambiar la variable buildToolsVersion a "23.0.0" en build.gradle.

tiborK
fuente
1
El mío todavía dice "parcialmente instalado" después de reinstalar.
Andrew
El mío también está "parcialmente instalado" después de reinstalarlo. @Andrew, ¿encontraste alguna solución después?
mythicalcoder
@Maven para mí, resultó que mi problema era que no estaba seleccionando la variante de compilación correcta cuando intenté compilar la aplicación.
Andrew
0

Hace poco me enfrentaba al mismo problema. Intente cambiar el nivel de vista previa de la API a 23 o menos. Eso funcionó para mí.


fuente
0

Me había enfrentado al mismo problema. Asegúrese de que está procesando el diseño XML para la versión compilada del SDK (no debe ser mayor). Significa que enfrentará esto si está compilando el código usando Targeted SDK versión 23 y está intentando renderizar el XML en SDK versión 24.

Muhamed Riyas M
fuente
0

Hay varias cosas para recordar al configurar STUDIO_JDK en Mac OS:

  • de forma predeterminada, se utiliza Java 1.6 de Apple para iniciar Android Studio
  • cuando el STUDIO_JDK está configurado en Java de Oracle, será utilizado por Android Studio para ejecutar

La diferencia entre dos es que Java IMO de Apple proporciona un antialiasing de fuentes mejor y más agradable en el IDE.

Una respuesta aquí hace referencia a un error en Android Studio con respecto al antialiasing de fuentes. El ticket ya está cerrado, pero la representación sigue siendo diferente para Apple Java y Oracle SDK (tengo v1.8.0_102). Y el primero todavía tiene mejor percepción que el anterior.

Mykola
fuente
0

intente usarlo en el proyecto Java 1.8: descargue la última versión de JDK e instálela (si JSK está ausente)

Luego agregue a build.gradle estas líneas android {... // Configure solo para cada módulo que use características del lenguaje Java 8 // (ya sea en su código fuente o // a través de dependencias). compileOptions {sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8} // Para proyectos de Kotlin kotlinOptions {jvmTarget = "1.8"}}

Alejandro
fuente
-1

máquina: windows8 de 64 bits en mi caso, el jdk1.7 que había instalado era de 32 bits, por lo tanto, estaba usando studio.exe (32 bits), así que incluso cuando descargué el nuevo jdk1.8 (64 bits), la instancia de estudio que estaba usando (32 bits) no pudo ' No lo detecto, pero cuando desinstalé el jdk anterior e intenté volver a ejecutar studio.exe, me dijeron que instalara un jdk de 32 bits. así que ejecuté studio64.exe y funcionó sin problemas. asegúrese de tener la ruta correcta en sus variables de entorno. salud android N

Peterstev Uremgba
fuente
-1

Asegúrese de haber instalado jdk para x64 y no x84 al iniciar Android Studio (x64)

ingrese la descripción de la imagen aquí

usuario1564762
fuente