Android Studio n'a pas pu trouver un Jvm valide (lié à MAC OS)

211

Je n'arrive pas à démarrer mon développement Android Studio pour Android sur Mac OS (10.10.1 - Yosemite)

iMickyRich
la source

Réponses:

355

Ouvrez le package d'application pour Android Studio dans le Finder et modifiez le fichier Info.plist . Modifiez la clé JVMversion. Mettez 1.6+ au lieu de 1.6 *. Cela a fonctionné pour moi!.

À votre santé!

Édité:

Bien que cela était nécessaire dans les anciennes versions d'Android Studio, ce n'est plus recommandé. Voir le communiqué officiel

"Veuillez noter: ne modifiez pas Info.plist pour choisir une version différente. Cela briserait non seulement la signature de l'application, mais aussi les futures mises à jour de correctifs de votre installation."

La réponse d' Antonio Jose est la bonne.

Merci aried3r!

hasternet
la source
15
j'ai changé 1.6 * en 1.8 * sur mon mac
Titi Wangsa bin Damhore
5
Pour terminer: cela doit être fait dans le fichier
Info.plist
7
Bien que cela était nécessaire dans les anciennes versions d'Android Studio, ce n'est plus recommandé. Voir la déclaration officielle "Veuillez noter: ne modifiez pas Info.plist pour choisir une version différente. Cela briserait non seulement la signature de l'application, mais aussi les futures mises à jour de correctifs de votre installation." La réponse d'Antonio Jose est la bonne.
aried3r
6
Selon la réponse d'Alonso et Shane, le package officiel d'Apple a fait l'affaire. Pas de violon nécessaire!
Justin Lawrence
6
Wow 1.6+ a fonctionné pour moi .. Je vais juste télécharger une nouvelle application une fois mise à jour!
Neil Japhtha
174

Installez simplement ce type ici

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

et tu devrais être bon.

Alonso C. Licks
la source
3
@ MickyRich89 Essayez ceci: support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US
zhengyue
4
Je ne comprends pas comment ce n'est pas la réponse acceptée ou correcte. Cela résout essentiellement le problème et vous empêche de modifier les fichiers. Au moins avec mon problème de ne pas pouvoir démarrer Android Studio à cause de Javas manquants dans Yosemite. Même correctif pour Intellij 14.
Andy
8
Téléchargez et installez d'abord la dernière JVM d'Oracle ici: java.com/en/download/index.jsp Et puis téléchargez et exécutez le package à partir du lien ci-dessus, puis vous serez à Java 8 et vous aurez toujours le bon lancement
Edward Tan
7
Aussi, pour résumer ce qui a fonctionné pour moi sur Mac OSX 10.10: 1) installé Java 8u25 à partir de java.com/en/download 2) installé le Java que Alonso a dit dans son lien support.apple.com/kb/DL1572?viewlocale = en_US & locale = en_US
Quelqu'un Quelque part
2
Cette réponse est la méthode officiellement recommandée (exécutez Android Studio avec JRE 6 et compilez des applications avec JDK 7 ou 8): tools.android.com/tech-docs/configuration/osx-jdk
Steffen
140

[Mise à jour]
Ce problème est résolu dans Android Studio 1.1 https://issuetracker.google.com/issues/37015035

Dans la prochaine version d'Android Studio, si aucun java 6 n'est trouvé mais 7 (ou plus) est trouvé, il l'utilisera à la place. Nous recommandons toujours d'exécuter Studio avec Java 6 en raison de l'amélioration du rendu des polices, mais aucun travail n'est nécessaire si, par exemple, seul Java 8 est trouvé.

[Fin de mise à jour]

À partir d' Android Studio 1.0 RC3 Notes

Depuis RC 3, nous avons un meilleur mécanisme pour personnaliser les propriétés des lanceurs sur les trois plates-formes. Vous ne devez modifier aucun fichier dans le répertoire d'installation IDE. Au lieu de cela, vous pouvez personnaliser les attributs en créant vos propres fichiers .properties ou .vmoptions dans les répertoires suivants. (Cela a déjà été possible sur certaines plates-formes auparavant, mais cela vous obligeait à copier et à modifier l'intégralité du contenu des fichiers. utilisera les valeurs par défaut de l'installation IDE).

Cependant, il n'y a aucune explication sur les options.

Après avoir cherché un peu, j'ai trouvé ce
réglage des options de machine virtuelle pour Android Studio sur Mac
IntelliJ IDEA 14.0.0 Web Help / File IDEA.Properties

Mais pas de chance avec ça.

Heureusement, j'ai pu le résoudre sur Yosemite en utilisant des variables d'environnement comme indiqué dans les notes de version 1.0 RC3.

Vous pouvez également placer des variables d'environnement d'utilisation pour pointer vers des fichiers de substitution spécifiques ailleurs:
STUDIO_VM_OPTIONS, quel fichier
vmoptions utiliser STUDIO_PROPERTIES, quel fichier de propriété utiliser
STUDIO_JDK, avec quel JDK exécuter Studio avec

C'était un peu délicat car Android Studio n'est pas une application en ligne de commande, j'ai donc dû utiliser une commande AppleScript pour définir la variable d'environnement lors de la connexion. Plus d'infos ici

Ceci est ma commande launchctl pour la ligne de commande.

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

Et c'est mon AppleScript (n'oubliez pas de l'enregistrer en tant qu'application)

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

A propos de launchctl, voir ici

Antonio Jose
la source
Je peux créer un script. Ajout de ce script à l'élément de connexion, mais chaque fois que je me connecte, demandez-moi d'exécuter des scripts. Pouvons-nous exécuter cela en arrière-plan.
twister_void
N'est-il pas recommandé d'utiliser JDK 7 au lieu de 8 pour le développement Android?
Steffen
4
Vous pouvez également exécuter AS à partir de la ligne de commande via open -a Android \ Studio, ce qui vous permettrait de créer un script shell très simple qui définit l'environnement comme ci-dessus, puis lance AS. Pour moi, c'était beaucoup plus simple que de jouer avec launchctl et AppleScript.
tbm
3
En fait, il existe un moyen sans exécuter AppleScript: modifier .bash_profile(si ce fichier n'existe pas, veuillez en créer un nouveau), mettre export STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk, quitter le terminal (ou tout autre éditeur de texte que vous utilisez pour modifier ce fichier), exécuter Android Studio et alto. Testé avec OSX 10.10 et Android 1.0.1
dumbfingers
1
@gio oui, vous devez utiliser la version installée sur votre machine. Btw, utilisez-vous le dernier Android Studio? Parce que ce script ne devrait plus être nécessaire
Antonio Jose
21

Notez que cette dernière variable vous permet par exemple d'exécuter Android Studio avec Java 7 sur OSX (qui choisit normalement Java 6 dans la version spécifiée dans Info.plist):

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

$ open / Applications / Android \ Studio.app

Travaillé pour moi

Govind
la source
export ANDROID_STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdka fait l'affaire pour moi. Merci!
jlhonora
2
Merci. Il s'agit de la même solution fournie sur le site d'Android. Voici le lien: tools.android.com/tech-docs/configuration/osx-jdk
MondKin
1
Ce n'est PAS la réponse. La réponse officielle est d'installer Java 6 (JRE, pas le JDK - JDK peut être Oracle) à partir de apple.com. C'est ce que le site Web d'Android Studio dit clairement.
Ilya
14

Modifiez cette clé dans le Info.plist

J'ai changé de

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

à

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

et ça a bien fonctionné maintenant ..

Édité:
Selon la déclaration officielle mentionnée ci-dessus par hasternet et aried3r, la solution d'Antonio Jose est correcte.

Merci!

Magster
la source
"Veuillez noter: ne modifiez pas Info.plist pour choisir une version différente. Cela briserait non seulement la signature de l'application, mais aussi les futures mises à jour de correctifs de votre installation."
nitesh goel
12

En tant qu'utilisateur novice, il m'a fallu un certain temps pour comprendre comment résoudre ce problème de manière correcte. Après avoir recherché et sous-estimé de nombreuses réponses sur SO, je suis sorti avec les étapes suivantes que vous devez suivre pour résoudre le problème.

Notez s'il vous plaît:

Bien que la solution la plus simple soit de mettre à jour l' Info.plist d'Android Studio. Mais ce n'est pas recommandé et ce n'est pas la bonne façon de le réparer.

Déclaration officielle - "Veuillez noter: ne modifiez pas Info.plist pour choisir une version différente. Cela briserait non seulement la signature de l'application, mais aussi les futures mises à jour de correctifs de votre installation."

Première solution: si vous exécutez votre Android Studio à partir de la ligne de commande, vous pouvez ajouter ces deux lignes dans votre .bash_profile

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

$ open /Applications/Android\ Studio.app

La prochaine fois que vous ouvrirez votre terminal, votre studio démarrera automatiquement.

Deuxième solution: si vous souhaitez exécuter Android Studio à partir de l'interface utilisateur (en cliquant sur l'icône), suivez les étapes ci-dessous:

  1. Éditeur de script ouvert sur mac (on peut le trouver sous les projecteurs )
  2. Copiez au-delà de la ligne ci-dessous

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

Remarque: - Modifiez la version jdk en fonction de votre version. Pour vérifier quelle version vous utilisez open terminal et exécutez la commande suivante

java -version

3.Maintenant, enregistrez (⌘ + s) au format de fichier: Application . Enfin, ouvrez Paramètres système → Utilisateurs et groupes → Éléments de connexion et ajoutez votre nouvelle application que vous venez de créer.

  1. Déconnectez-vous et reconnectez-vous ou vous pouvez également exécuter cette application manuellement.

woolaaaa… C'est fait.

Références :

La réponse d'Antonio Jose

la réponse de Ruario

nitesh goel
la source
1
Pas besoin de redémarrer si vous venez d'ouvrir cette application, non? :)
yjsoon
avec défi. Vous pouvez également exécuter cette application manuellement.
nitesh goel
1
@niteshgoel, merci pour la réponse complète tout-en-un! J'ai vérifié que le redémarrage n'est pas nécessaire comme vous l'avez souligné, juste un cycle de déconnexion-connexion. :)
khyox
Ce n'est PAS la réponse. La réponse officielle est d'installer Java 6 (JRE, pas le JDK - JDK peut être Oracle) à partir de apple.com. C'est ce que le site Web d'Android Studio dit clairement.
Ilya
9

J'utilise également Mac OS X 10.10. Et pour résoudre ce problème.

  1. Ouvrir le contenu du package d'application Android Studio (par un clic droit sur l'icône Android Studio dans le dossier Application)
  2. Ouvrir le fichier Infor.plist
  3. Rechercher et remplacer:

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

remplacé par:

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

C'est tout!

luongnv89
la source
"Veuillez noter: ne modifiez pas Info.plist pour choisir une version différente. Cela briserait non seulement la signature de l'application, mais aussi les futures mises à jour de correctifs de votre installation."
nitesh goel
6

Sur Mac OS X, Yosemite installe simplement:

Kit de développement Java SE 8

et

Java Version 8 Update 25

C'est tout, travaillez pour moi!

Gehev
la source
Le kit de développement Java SE 8 me suffisait. Merci!
Mathijs
5
  1. Installer le dernier JDK (courant 8u102)
  2. Définir la variable d'environnement STUDIO_JDK( affiche le répertoire de base java_homeJava et sedsupprime deux dossiers pour obtenir le répertoire jdk)

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

  3. Lancez Android Studio comme vous le feriez normalement

Définissez STUDIO_JDK à chaque redémarrage

Les étapes ci-dessus ne fonctionnent que pour la session en cours. Voici comment créer un fichier plist dans / Library / LaunchDaemons qui exécute la commande ci-dessus à chaque démarrage:

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

Découvrez l'astuce plist grâce à http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-mac-os-x-launchd-plist/

Tuan Pham
la source
3

Sur Android Tools Project Site, il y a une grande explication de la sélection JDK Mac OSX . Cela a résolu mon problème. En résumé:

Android Studio nécessite deux JDK différents:

  • La version de Java avec laquelle l'IDE s'exécute.
  • La version du JDK qu'il utilise pour obtenir le compilateur Java à partir de

Ces deux peuvent être (et sont généralement) les mêmes, mais vous pouvez les configurer individuellement. Et sur OSX en particulier, ils seront souvent différents.

et pour Yosemite (Mac OSX 10.10) Problèmes:

Tout d'abord, assurez-vous que la dernière version de Java 6 est installée; dans certains cas, cela a résolu les problèmes: http://support.apple.com/kb/DL1572

Sinon, essayez d'exécuter une version récente de Java 7 ou Java 8 à la place en définissant STUDIO_JDK comme décrit ci-dessus. Cela aurait résolu les autres problèmes (bien que vous obtiendrez le rendu de police indiqué pour Java 8 ci-dessus.)

Roger Suen
la source
2

Java a été désinstallé lors de la mise à jour vers OS X El Capitan.

Voir la capture d'écran du terminal avant et après la réinstallation de Java.

entrez la description de l'image ici

Pour réinstaller Java, j'ai suivi ce lien fourni dans la boîte de dialogue Android Studio.

entrez la description de l'image ici

Android Studio a de nouveau fonctionné après la réinstallation de l'installation Java.

bradley4
la source
1

Modifiez le fichier Info.plist du studio Android dans le package afin qu'il utilise la version 1.7 ou la version JVM que vous avez installée. Changer la JVMVersion en 1.6+ au lieu de 1.6 * comme hasternet a répondu ci-dessus devrait également fonctionner.

Cela fonctionne mais n'est pas recommandé, voir les notes de version RC3

Depuis RC 3, nous avons un meilleur mécanisme pour personnaliser les propriétés des lanceurs sur les trois plates-formes. Vous ne devez modifier aucun fichier dans le répertoire d'installation IDE . Au lieu de cela, vous pouvez personnaliser les attributs en créant vos propres fichiers .properties ou .vmoptions dans les répertoires suivants. (Cela a déjà été possible sur certaines plates-formes auparavant, mais cela vous obligeait à copier et à modifier l'intégralité du contenu des fichiers. utilisera les valeurs par défaut de l'installation IDE).

voir Android Studio n'a pas réussi à charger JVM sur Mac OSX (Mavericks)

Iggy
la source
2
Ceci n'est pas recommandé, comme indiqué dans les notes de mise à jour
Antonio Jose
1

Sur Mac OS X, Yosemite installe simplement:

Kit de développement Java SE 8

et

Java Version 8 Update 25

C'est tout, travaillez pour moi aussi! comme l'a dit gehev, si simple!

iftach
la source
1

Vous pouvez implémenter la STUDIO_JDKsolution à l'aide des agents de lancement de votre utilisateur. Cela implique de créer un fichier plist dans votre répertoire LaunchAgents, situé à~/Library/LaunchAgents

Créez un nouveau fichier ~/Library/LaunchAgents/UNIQUE_KEY.plist,, où UNIQUE_KEY n'est qu'un identifiant. J'utilise com. Nom d'utilisateur .androidstudio.

Copiez le texte suivant dans votre nouveau fichier plist et modifiez-le selon les instructions ci-dessous.

<?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>

Vous devrez apporter deux modifications:

  1. Modifiez UNIQUE_KEY pour correspondre à votre nom de fichier (sans l'extension .plist).
  2. Vérifiez que votre chemin JDK est correct et modifiez-le si nécessaire. J'utilise 7u71 dans cet exemple.

Il s'agit de la même solution sous-jacente que la réponse d'Antonio Jose . Il définit la variable d'environnement STUDIO_JDK en fonction des notes de publication d' Android Studio version 1.0 RC3 . Cette solution utilise le répertoire LaunchAgents plutôt qu'AppleScript pour définir la variable d'environnement. En tant que tel, il s'agit principalement d'une différence dans la façon dont vous commandez et organisez vos variables système et d'environnement.

David V
la source
1

Ne modifiez pas le plist.Ces instructions ont fonctionné pour moi la première fois que j'ai installé Android Studio il y a quelques mois ainsi qu'aujourd'hui. (21/01/2015)

Tout ce que vous devez faire, c'est quelques choses simples, bien qu'elles ne soient pas vraiment répertoriées sur le site Web de Google.

  1. Vous devez d'abord installer Java. ce n'est pas le JDK, c'est séparé. Vous pouvez l'obtenir à partir de ce lien. Si vous ne l'avez pas, cela générera probablement une erreur indiquant quelque chose comme «aucune JVM installée».
  2. Deuxièmement, vous avez besoin du Java JDK, j'ai obtenu JDK 7 à partir de ce lien. Assurez-vous de choisir le lien Mac OS X sous l'en-tête Java SE Development Kit 7u75. Si vous ne l'avez pas, cela générera probablement une erreur indiquant quelque chose comme «aucun JDK installé».
  3. Si vous n'avez pas encore installé Android Studio, faites-le. Mais je suis sûr que vous l'avez déjà fait.
Scott
la source
1

Comme @Gerard l'a suggéré, je résume mon commentaire d'origine ( https://stackoverflow.com/a/27370525/763459 ) en tant que réponse, j'espère que cela pourra aider les autres qui sont agacés par ce problème.

Il existe un moyen sans exécuter AppleScript: modifier .bash_profile(si ce fichier n'existe pas, veuillez en créer un nouveau, comme @Gerard l'a suggéré, vous pouvez l'utiliser source .bash_profilepour la première fois).

  • Installez l'héritage Java (peut être nécessaire) http://support.apple.com/kb/DL1572

  • Mettez export STUDIO_JDK /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk

  • Quittez ensuite le terminal (ou tout autre éditeur de texte que vous utilisez pour modifier ce fichier), exécutez Android Studio et l'alto

Testé avec OSX 10.10 et Android 1.0.1

dumbfingers
la source
1

Android Studio lira les paramètres du fichier ~ / Library / Preferences / AndroidStudio / idea.properties. J'ai créé ce fichier et y ai le chemin vers mon jdk:

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

Aucune modification de l'Info.plist nécessaire!

Uilleann
la source
0

"Sous Mac OS, exécutez Android Studio avec Java Runtime Environment (JRE) 6 pour un rendu de police optimisé. Vous pouvez ensuite configurer votre projet pour utiliser Java Development Kit (JDK) 6 ou JDK 7."

Cela a été répertorié dans http://developer.android.com/sdk/index.html sous la configuration système requise pour Mac OS X.

Une fois que vous avez installé Java 6 (pas le JDK) d'Apple selon Alonso C. Licks, vous devriez pouvoir ouvrir Android Studio et vous reconfigurer comme vous le souhaitez sans avoir à jouer dans le terminal, le fichier info.plist ou d'autres bibliothèques.

John Doe
la source
0

J'ai téléchargé Intellij Idea. Lorsque j'essaie d'installer Intellij, une fenêtre contextuelle est apparue indiquant que mon Mac est manquant avec Java RE, voulez-vous le télécharger? Après avoir téléchargé le package manquant à l'aide d'Intellij, j'ai pu ouvrir Android Studio.

super héros
la source
0

J'ai résolu ce problème en changeant la version JVM du fichier Info.plist en 1.7 *

Andre Coetzee
la source
0

J'ai couru ce mauvais garçon:

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

je fais face au même problème et je le fais fonctionner.

c'est probablement que votre version jdk n'est pas correcte.

maintenant j'ai installé jdk1.8 et c'est ok maintenant.

Basilic
la source
0

Pour ceux qui ont du mal à créer un script lancé au démarrage, vous pouvez également ajouter ce fichier .plist à votre dossier LaunchAgents. Cela peut être un moyen plus approprié d'ajouter des variables d'environnement au système depuis que Yosemite a décidé de supprimer launchd.conf. Cela devrait également fonctionner sur tous les comptes d'utilisateurs en raison de la nature du dossier LaunchAgents, mais je ne l'ai pas testé.

Pour ce faire, créez un fichier .plist avec le nom et le chemin suivants:

/Library/LaunchAgents/setenv.STUDIO_JDK.plist

et le contenu:

<?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>

Modifiez ensuite les propriétés du fichier en exécutant les commandes suivantes dans 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

Remarques:

1) Vous devrez peut-être modifier «jdk1.8.0_25.jdk» pour correspondre à la version que vous avez sur votre ordinateur.

2) J'ai essayé d'utiliser "jdk1.8. *. Jdk" pour essayer de tenir compte des différentes versions de Java *, mais quand j'ai ouvert Android Studio, je n'ai eu aucune erreur JVM même si si vous exécutez "echo $ STUDIO_JDK", il renvoie le chemin correct. Peut-être que quelqu'un a une idée de la façon de résoudre ce problème.

LithiumI0n
la source
0

J'avais précédemment désinstallé Java 6 et installé Java 7, Android Studio fonctionnait bien, puis j'ai mis à niveau Android Studio et j'ai eu le problème que tout le monde a. Aujourd'hui, j'ai désinstallé Java 7 et installé Java 8 à partir d'Oracle. Ensuite, je désinstalle Android Studio et j'ai installé la dernière. Tout fonctionne pour moi maintenant

Gibran E Castillo
la source
-1

J'ai pu le faire fonctionner en modifiant l'info.plist en changeant 16 * en 16+. J'ai essayé en utilisant la méthode recommandée mais cela a échoué.

haroldbk
la source