Android Studio no pudo encontrar un Jvm válido (relacionado con MAC OS)

Respuestas:

355

Abra el paquete de la aplicación para Android Studio en el buscador y edite el archivo Info.plist . Cambiar la clave JVMversion. Ponga 1.6+ en lugar de 1.6 *. ¡Eso funcionó para mí!

¡Salud!

Editado:

Si bien esto era necesario en versiones anteriores de Android Studio, ya no se recomienda. Ver la declaración oficial

"Tenga en cuenta: no edite Info.plist para elegir una versión diferente. Eso romperá no solo la firma de la aplicación, sino también futuras actualizaciones de parches para su instalación".

La respuesta de Antonio José es la correcta.

Gracias aried3r!

hasternet
fuente
15
cambié 1.6 * a 1.8 * en mi mac
Titi Wangsa bin Damhore
55
Para completar: esto tiene que hacerse en el archivo
Info.plist
77
Si bien esto era necesario en versiones anteriores de Android Studio, ya no se recomienda. Consulte la declaración oficial "Tenga en cuenta: no edite Info.plist para elegir una versión diferente. Eso romperá no solo la firma de la aplicación, sino también futuras actualizaciones de parches para su instalación". La respuesta de Antonio José es la correcta.
aried3r
66
Según la respuesta de Alonso y Shane, el paquete oficial de Apple hizo el truco. ¡No es necesario tocar el violín!
Justin Lawrence
66
Wow 1.6+ funcionó para mí. ¡Descargaré una nueva aplicación una vez que se actualicen!
Neil Japhtha
174

Solo instala a este chico aquí

http://support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US

y deberías ser bueno

Alonso C. Licks
fuente
3
@ MickyRich89 Pruebe esto: support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US
zhengyue
44
No entiendo cómo esta no es la respuesta aceptada o correcta. Básicamente, esto soluciona el problema y le impide editar cualquier archivo. Al menos con mi problema de no poder iniciar Android Studio debido a la falta de Javas en Yosemite. La misma solución para Intellij 14.
Andy
8
Simplemente descargue e instale la última JVM de Oracle primero aquí: java.com/en/download/index.jsp Y luego descargue y ejecute el paquete desde el enlace de arriba, entonces estará en Java 8 y aún tendrá el lanzamiento correcto funcionando
Edward Tan
77
Además, para resumir lo que funcionó para mí en Mac OSX 10.10: 1) instalé Java 8u25 de java.com/en/download 2) instalé el Java que Alonso dijo en su enlace support.apple.com/kb/DL1572?viewlocale = en_US & locale = en_US
Alguien en algún lugar el
2
Esta respuesta es la forma recomendada oficialmente (ejecute Android Studio con JRE 6 y compile aplicaciones con JDK 7 u 8): tools.android.com/tech-docs/configuration/osx-jdk
Steffen
140

[Actualización]
Esto se soluciona en Android Studio 1.1 https://issuetracker.google.com/issues/37015035

En la próxima versión de Android Studio, si no se encuentra java 6 pero se encuentra 7 (o superior), lo usará en su lugar. Todavía recomendamos ejecutar studio con Java 6 debido a la mejora de la representación de la fuente, pero no es necesario evitarlo si, por ejemplo, solo se encuentra java 8.

[Fin de actualización]

Desde Android Studio 1.0 RC3 Notas

A partir de RC 3, tenemos un mejor mecanismo para personalizar las propiedades de los lanzadores en las tres plataformas. No debe editar ningún archivo en el directorio de instalación de IDE. En su lugar, puede personalizar los atributos creando sus propios archivos .properties o .vmoptions en los siguientes directorios. (Esto ha sido posible en algunas plataformas antes, pero requiere que copie y cambie todo el contenido de los archivos. Con los últimos cambios, estas propiedades ahora son aditivas, de modo que puede establecer solo los atributos que le interesan, y el resto usará los valores predeterminados de la instalación IDE).

Sin embargo, no hay explicación sobre qué opciones hay.

Después de buscar un poco, encontré este
Ajuste de las opciones de VM para Android Studio en Mac
IntelliJ IDEA 14.0.0 Ayuda web / IDEA de archivo.

Sin embargo, no tuve suerte con eso.

Afortunadamente pude resolverlo en Yosemite usando variables de entorno como se dice en las Notas de la versión 1.0 RC3.

También puede colocar variables de entorno de uso para apuntar a archivos de anulación específicos en otro lugar:
STUDIO_VM_OPTIONS, qué archivo de
vmoptions usar STUDIO_PROPERTIES, qué archivo de propiedades usar
STUDIO_JDK, qué JDK para ejecutar studio

Esto fue un poco complicado porque Android Studio no es una aplicación de línea de comandos, así que tuve que usar un comando AppleScript para configurar la variable de entorno al iniciar sesión. Más información aquí.

Este es mi comando launchctl para la línea de comando.

launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk

Y este es mi AppleScript (recuerde guardarlo como una Aplicación)

do shell script "launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk"

Sobre launchctl, mira aquí

Antonio Jose
fuente
Soy capaz de crear un guión. Agregué ese script al elemento de inicio de sesión, pero cada vez que inicio sesión me pide que ejecute scripts. ¿Podemos ejecutar eso en segundo plano?
twister_void
¿No se recomienda usar JDK 7 en lugar de 8 para el desarrollo de Android?
Steffen
44
También puede ejecutar AS desde la línea de comandos a través de open -a Android \ Studio, lo que le permitiría crear un script de shell muy simple que establece el entorno como el anterior y luego inicia AS. Esto, para mí, fue mucho más simple que jugar con launchctl y AppleScript.
tbm
3
En realidad, hay una manera sin ejecutar AppleScript: editar .bash_profile(si este archivo no existe, cree uno nuevo), poner export STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk, salir del terminal (o cualquier editor de texto que esté utilizando para editar este archivo), ejecute Android Studio y viola. Probado con OSX 10.10 y Android 1.0.1
dumbfingers
1
@gio sí, debe usar la versión instalada en su máquina. Por cierto, ¿estás utilizando la última versión de Android Studio? Porque este guión ya no debería ser necesario
Antonio Jose
21

Tenga en cuenta que esta última variable le permite, por ejemplo, ejecutar Android Studio con Java 7 en OSX (que normalmente selecciona Java 6 de la versión especificada en Info.plist):

$ export STUDIO_JDK = / Library / Java / JavaVirtualMachines / jdk1.7.0_67.jdk

$ open / Aplicaciones / Android \ Studio.app

Trabajó para mi

Govind
fuente
export ANDROID_STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdkhizo el truco para mí ¡Gracias!
jlhonora
2
Gracias. Esta es la misma solución proporcionada en el sitio de Android. Aquí está el enlace: tools.android.com/tech-docs/configuration/osx-jdk
MondKin
1
Esta NO es la respuesta. La respuesta oficial es instalar Java 6 (JRE, no el JDK - JDK puede ser de Oracle) desde apple.com. Eso es lo que dice claramente el sitio web de Android Studio.
Ilya
14

Cambie esta clave en el Info.plist

Cambié de

<key>JVMVersion</key>
<string>1.6*</string>

a

<key>JVMVersion</key>
<string>1.8*</string>

y funcionó bien ahora ...

Editado:
Según la declaración oficial mencionada anteriormente por hasternet y aried3r, la solución de Antonio José es correcta.

¡Gracias!

Magster
fuente
"Tenga en cuenta: no edite Info.plist para elegir una versión diferente. Eso romperá no solo la firma de la aplicación, sino también futuras actualizaciones de parches para su instalación".
nitesh goel
12

Como usuario novato, me llevó un tiempo entender cómo solucionar esto de manera correcta. Después de buscar y comprender muchas respuestas sobre SO, salí con los siguientes pasos que debes seguir para solucionar el problema.

Tenga en cuenta:

Aunque la solución más simple es actualizar Info.plist de Android Studio. Pero no se recomienda y no es la forma correcta de solucionarlo.

Declaración oficial: "Tenga en cuenta: no edite Info.plist para elegir una versión diferente. Eso romperá no solo la firma de la aplicación, sino también futuras actualizaciones de parches para su instalación".

Primera solución: si ejecuta su Android Studio desde la línea de comandos, puede agregar estas dos líneas en su .bash_profile

$ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk

$ open /Applications/Android\ Studio.app

Desde la próxima vez que abra su terminal, su estudio se iniciará automáticamente.

Segunda solución: si desea ejecutar Android Studio desde la interfaz de usuario (haciendo clic en el icono), siga los pasos a continuación:

  1. Abra el editor de scripts en mac (se puede encontrar en el centro de atención )
  2. Copia más allá de la línea de abajo

    hacer script de shell "launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk"

Nota: - Cambie la versión jdk según su versión. Para verificar qué versión está utilizando Open Terminal y ejecutar el siguiente comando

java -version

3.Ahora guarde (⌘ + s) como Formato de archivo: Aplicación . Finalmente abra Configuración del sistema → Usuarios y grupos → Elementos de inicio de sesión y agregue la nueva aplicación que acaba de crear.

  1. Cierre la sesión e inicie sesión nuevamente o también puede ejecutar esa aplicación manualmente.

woolaaaa ... Ya está hecho.

Referencias

La respuesta de Antonio Jose

respuesta del ruario

Nitesh Goel
fuente
1
No es necesario reiniciar si abres esa aplicación, ¿verdad? :)
yjsoon
yeh desafiante Puede ejecutar esa aplicación manualmente también.
nitesh goel
1
@niteshgoel, ¡gracias por la respuesta completa todo en 1! Verifiqué que el reinicio no es necesario como usted señaló, solo un ciclo de cierre de sesión. :)
khyox
Esta NO es la respuesta. La respuesta oficial es instalar Java 6 (JRE, no el JDK - JDK puede ser de Oracle) desde apple.com. Eso es lo que dice claramente el sitio web de Android Studio.
Ilya
9

Estoy usando Mac OS X 10.10 también. Y para solucionar este problema.

  1. Abra el contenido del paquete de la aplicación Android Studio (haga clic con el botón derecho en el ícono de Android Studio en la carpeta Aplicación)
  2. Abrir archivo Infor.plist
  3. Buscar y reemplazar:

    <key> JVM version</key>
    <string>1.6*</string>

reemplazado por:

    <key> JVM version</key>
    <string>1.6+</string>

¡Eso es!

luongnv89
fuente
"Tenga en cuenta: no edite Info.plist para elegir una versión diferente. Eso romperá no solo la firma de la aplicación, sino también futuras actualizaciones de parches para su instalación".
nitesh goel
6

En Mac OS X Yosemite solo instala:

Kit de desarrollo Java SE 8

y

Java Versión 8 Actualización 25

¡Es todo, trabaja para mí!

Gehev
fuente
Java SE Development Kit 8 fue suficiente para mí. ¡Gracias!
Mathijs
5
  1. Instale el JDK más nuevo (corriente 8u102)
  2. Establezca la variable de entorno STUDIO_JDK( java_homegenera el directorio de inicio de Java y sedelimina dos carpetas para obtener el directorio jdk)

    launchctl setenv STUDIO_JDK `/usr/libexec/java_home -version 1.8 | sed 's/\/Contents\/Home//g'`

  3. Inicie Android Studio como lo haría normalmente

Establezca STUDIO_JDK en cada reinicio

Los pasos anteriores solo funcionan para la sesión actual. Aquí se explica cómo crear un archivo plist en / Library / LaunchDaemons que ejecuta el comando anterior en cada arranque:

sudo defaults write /Library/LaunchDaemons/com.google.studiojdk Label STUDIO_JDK
sudo defaults write /Library/LaunchDaemons/com.google.studiojdk ProgramArguments -array /bin/launchctl setenv STUDIO_JDK `/usr/libexec/java_home | sed 's/\/Contents\/Home//g'`
sudo defaults write /Library/LaunchDaemons/com.google.studiojdk RunAtLoad -bool TRUE

Me enteré del truco plist gracias a http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-launchd-plist/

Tuan Pham
fuente
3

En el sitio del proyecto de herramientas de Android, hay una gran explicación de Mac OSX JDK Selection . Se solucionó mi problema. En resumen:

Android Studio requiere dos JDK diferentes:

  • La versión de Java con la que se ejecuta el IDE.
  • La versión del JDK que utiliza para obtener el compilador de Java

Estos dos pueden ser (y generalmente son) iguales, pero puede configurarlos individualmente. Y en OSX en particular, a menudo serán diferentes.

y para problemas de Yosemite (Mac OSX 10.10):

Primero, asegúrese de tener instalada la última versión de Java 6; en algunos casos que ha solucionado los problemas: http://support.apple.com/kb/DL1572

De lo contrario, intente ejecutar una versión reciente de Java 7 o Java 8 en su lugar configurando STUDIO_JDK como se describió anteriormente. Se informa que eso solucionó los otros problemas (aunque obtendrá la representación de fuente que se muestra para Java 8 arriba).

Roger Suen
fuente
2

Java se desinstaló cuando actualicé a OS X El Capitan.

Vea la captura de pantalla de la terminal antes y después de reinstalar Java.

ingrese la descripción de la imagen aquí

Para reinstalar Java, seguí este enlace que se proporcionó en el cuadro de diálogo de Android Studio.

ingrese la descripción de la imagen aquí

Android Studio se ejecutó nuevamente después de reinstalar la instalación de Java.

bradley4
fuente
1

Edite el archivo Info.plist del estudio de Android en el paquete para que use 1.7 o cualquier JVMVersion que haya instalado. Cambiar la JVMVersion a 1.6+ en lugar de 1.6 * como hasternet respondió anteriormente también debería funcionar.

Lo anterior funciona pero no se recomienda, consulte las Notas de la versión de RC3

A partir de RC 3, tenemos un mejor mecanismo para personalizar las propiedades de los lanzadores en las tres plataformas. No debe editar ningún archivo en el directorio de instalación de IDE . En su lugar, puede personalizar los atributos creando sus propios archivos .properties o .vmoptions en los siguientes directorios. (Esto ha sido posible en algunas plataformas antes, pero requiere que copie y cambie todo el contenido de los archivos. Con los últimos cambios, estas propiedades ahora son aditivas, de modo que puede establecer solo los atributos que le interesan, y el resto usará los valores predeterminados de la instalación IDE).

consulte Android Studio no pudo cargar JVM en Mac OSX (Mavericks)

Iggy
fuente
2
Esto no se recomienda como se dice en las Notas de la versión
Antonio Jose
1

En Mac OS X Yosemite solo instala:

Kit de desarrollo Java SE 8

y

Java Versión 8 Actualización 25

¡Es todo, trabaja para mí también! como dijo gehev, ¡tan simple!

iftach
fuente
1

Puede implementar la STUDIO_JDKsolución utilizando los agentes de lanzamiento de su usuario. Esto implica crear un archivo plist en su directorio LaunchAgents, ubicado en~/Library/LaunchAgents

Cree un nuevo archivo, ~/Library/LaunchAgents/UNIQUE_KEY.plistdonde UNIQUE_KEY es solo un identificador. Yo uso com. nombre de usuario .androidstudio.

Copie el siguiente texto en su nuevo archivo plist y modifíquelo según las instrucciones a continuación.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>UNIQUE_KEY</string>
   <key>ProgramArguments</key>
   <array>
      <string>sh</string>
      <string>-c</string>
      <string>launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk</string>
   </array>
   <key>RunAtLoad</key>
   <true/>
</dict>
</plist>

Deberá realizar dos modificaciones:

  1. Cambie UNIQUE_KEY para que coincida con su nombre de archivo (sin la extensión .plist).
  2. Verifique que su ruta JDK sea correcta y cámbiela si es necesario. Estoy usando 7u71 en este ejemplo.

Esta es la misma solución subyacente que la respuesta de Antonio José . Establece la variable de entorno STUDIO_JDK basada en las notas de lanzamiento de Android Studio versión 1.0 RC3 . Esta solución utiliza el directorio LaunchAgents en lugar de AppleScript para establecer la variable de entorno. Como tal, es principalmente una diferencia en la forma en que ordena y organiza sus variables de sistema y entorno.

David V
fuente
1

No edite el plist.Estas instrucciones me funcionaron la primera vez que instalé Android Studio hace unos meses, así como solo hoy. (1/21/2015)

Todo lo que necesita hacer es algunas cosas simples, aunque en realidad no figuran en el sitio web de Google.

  1. Primero necesitas Java instalado. Este no es el JDK, está separado. Puede obtener eso desde este enlace. Si no tiene esto, probablemente arrojará un error que diga algo como "sin JVM instalado".
  2. En segundo lugar, necesitas el Java JDK, obtuve JDK 7 de este enlace. Asegúrese de elegir el enlace Mac OS X bajo el encabezado del Kit de desarrollo Java SE 7u75. Si no tiene esto, probablemente arrojará un error diciendo algo como "no hay JDK instalado".
  3. Si aún no ha instalado Android Studio, hágalo. Pero estoy seguro de que ya lo has hecho.
Scott
fuente
1

Como sugirió @Gerard, escribo mi comentario original ( https://stackoverflow.com/a/27370525/763459 ) como respuesta, espero que pueda ayudar a otros que están molestos por este problema.

Hay una manera sin ejecutar AppleScript: editar .bash_profile(si este archivo no existe, cree uno nuevo, como sugirió @Gerard, puede usarlo source .bash_profilepor primera vez).

  • Instale el Java heredado (puede ser necesario) http://support.apple.com/kb/DL1572

  • Poner exportación STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk

  • Luego salga de la terminal (o cualquier editor de texto que esté usando para editar este archivo), ejecute Android Studio y viola

Probado con OSX 10.10 y Android 1.0.1

dumbfingers
fuente
1

Android Studio leerá la configuración del archivo ~ / Library / Preferences / AndroidStudio / idea.properties. Creé este archivo y en él tengo la ruta a mi jdk:

STUDIO_JDK = / Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk

¡No es necesario editar Info.plist!

Uilleann
fuente
0

"En Mac OS, ejecute Android Studio con Java Runtime Environment (JRE) 6 para obtener una fuente optimizada. Luego puede configurar su proyecto para usar Java Development Kit (JDK) 6 o JDK 7".

Esto se enumeró en http://developer.android.com/sdk/index.html bajo los requisitos del sistema para Mac OS X.

Una vez que instale Java 6 (no el JDK) de Apple según Alonso C. Licks, debería poder abrir Android Studio y volver a configurarlo como desee sin tener que perder el tiempo en el terminal, el archivo info.plist u otras bibliotecas.

John Doe
fuente
0

He descargado Intellij Idea. Cuando intento instalar Intellij, aparece una ventana emergente que me falta mi Mac con Java RE, ¿quieres descargarlo? Después de descargar el paquete faltante usando Intellij, pude abrir Android Studio.

suphero
fuente
0

Resolví este problema cambiando la versión de JVM en el archivo Info.plist a 1.7 *

Andre Coetzee
fuente
0

Corrí este chico malo:

launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/
B ... James B.
fuente
0

Estoy lidiando con el mismo problema y lo solucioné.

es probable que su versión jdk no sea correcta.

ahora instalé jdk1.8 y ahora está bien.

Albahaca
fuente
0

Para aquellos que tenían problemas para crear un script que se lanzó al inicio, como alternativa, pueden agregar este .plist a su carpeta LaunchAgents. Esta puede ser una forma más apropiada de agregar variables de entorno al sistema ya que Yosemite decidió eliminar launchd.conf. Esto también debería funcionar en todas las cuentas de usuario debido a la naturaleza de la carpeta LaunchAgents, pero no lo he probado.

Para hacer esto, cree un archivo .plist con el siguiente nombre y ruta:

/Library/LaunchAgents/setenv.STUDIO_JDK.plist

y los contenidos:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
            <string>setenv.STUDIO_JDK</string>
        <key>ProgramArguments</key>
            <array>
                <string>sh</string>
                <string>-c</string>
                <string>
                    launchctl setenv STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk
                </string>
            </array>
        <key>RunAtLoad</key>
            <true/>
        <key>ServiceIPC</key>
            <false/>
        <key>LaunchOnlyOnce</key>
            <true/>
        <key>KeepAlive</key>
            <false/>
    </dict>
</plist>

Luego cambie las propiedades del archivo ejecutando los siguientes comandos en la Terminal:

sudo chmod 644 /Library/LaunchAgents/setenv.STUDIO_JDK.plist

sudo chown root /Library/LaunchAgents/setenv.STUDIO_JDK.plist

sudo chgrp wheel /Library/LaunchAgents/setenv.STUDIO_JDK.plist

Notas:

1) Es posible que deba cambiar 'jdk1.8.0_25.jdk' para que coincida con la versión que tiene en su computadora.

2) Traté de usar "jdk1.8. *. Jdk" para intentar tener en cuenta las diferentes versiones de Java *, pero cuando abrí Android Studio no obtuve el error JVM aunque si ejecuta "echo $ STUDIO_JDK" devuelve el camino correcto Quizás alguien tenga alguna idea de cómo solucionar ese problema.

LitioI0n
fuente
0

Previamente desinstalé Java 6 e instalé Java 7, Android Studio funcionaba bien, luego actualicé Android Studio y tuve el problema que todos tienen. Hoy, desinstalé Java 7 e instalé Java 8 de Oracle. Luego desinstalo Android Studio e instalé la última. Todo me esta funcionando ahora

Gibran E Castillo
fuente
-1

Pude hacer que funcionara editando info.plist cambiando 16 * a 16+. Intenté usar el método recomendado pero eso falló.

haroldbk
fuente