44 votes

Erreur Android Studio après ./studio.sh

Après ./studio.sh dans un terminal j'obtiens cette erreur "tools.jar n'est pas dans le classpath d'Android studio Veuillez vous assurer que JAVA_HOME pointe vers JDK plutôt que JRE".

Je l'ai cherché sur Google et c'est ce que tout le monde dit : "Vous devez définir votre variable d'environnement sur le chemin du JDK au lieu de JRE".

J'ai essayé ces deux commandes

export PATH=${JDK_HOME}:/etc/java-7-openjdk

export PATH=${JAVA_HOME}:/etc/java-7-openjdk

Et exécutez à nouveau ./studio.sh et je reçois la même erreur

Mon système d'exploitation est Linux Mint 14

84voto

user2533809 Points 633

J'ai résolu le problème en combinant la réponse de Jérôme et celle de Jarod :

  1. Installer JDK -- sudo apt-get install openjdk-7-jdk
  2. Variable d'environnement -- sudo nano /etc/environment en ajoutant la ligne suivante :
  3. JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386
  4. Redémarrez, et Android Studio démarre. (J'avais aussi ajouté un lien vers studio.sh dans le menu principal).

Je viens aussi de trouver https://stackoverflow.com/a/17827697/2533809 qui semble avoir un bon article, qui donne à peu près la même réponse.

(J'utilise Debian 7 Wheezy)

16 votes

Pour x64 JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64

3 votes

Si vous n'avez pas les droits d'administrateur, vous pouvez aussi export JAVA_HOME=/usr/lib... comme une commande, ou dans votre .$(shell)rc

1 votes

Vous pouvez également vous déconnecter et vous connecter au lieu de redémarrer.

10voto

Jerome Points 72

J'ai compris. Vous devez installer openjdk-jdk. Opensjdk-jre n'est pas suffisant. Donc dans le terminal tout ce que vous devez faire est d'écrire sudo apt-get install openjdk-7-jdk puis appuyez sur oui. Ouvrez le dossier bin d'Android studio, double-cliquez sur studio.sh, ouvrez dans le terminal, appuyez sur entrée, et Android studio devrait fonctionner.

1 votes

Cette solution fonctionne à merveille et est beaucoup moins contraignante que les autres solutions. Elle ne convient peut-être pas à tout le monde, mais il vaut la peine d'essayer avant de modifier un grand nombre de fichiers.

6voto

Voici comment j'ai résolu le même problème dans mon système : Merci pour @user2533809

$sudo apt-get install openjdk-7-jdk
$ls /usr/lib/jvm/java-1.7.0-openjdk-i386
ASSEMBLY_EXCEPTION  bin  docs  include  jre  lib  man  THIRD_PARTY_README
$export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386
$./studio.sh 

Environnement :

kesavan@kesavan-Ideapad-Z460:bin$ uname -a
Linux kesavan-Ideapad-Z460 3.2.0-59-generic-pae #0trisquel1 SMP Sat Feb 22 03:55:17 UTC 2014 i686 i686 i386 GNU/Linux
kesavan@kesavan-Ideapad-Z460:bin$

3voto

Milan Kerslager Points 31

Cela semble être un problème de permission. Quelqu'un qui a emballé Android Studio, a les fichiers originaux sous un compte non-Root. Si vous le décompressez en tant que Root, les fichiers et répertoires n'ont pas de permission pour "other" (juste pour le propriétaire). La personne qui emballe Android Studio en sait beaucoup sur Android et Java, mais pas beaucoup sur les permissions Unix (uch !). Il y a deux solutions possibles :

a) décompressez Android-studio-bundle-...-linux.tgz en tant qu'utilisateur normal, pas en tant que Root (ceci a un avantage - vous pourrez mettre à jour Andriod Studio en cliquant sur le menu ; mais c'est généralement stupide car vous êtes ouvert aux attaques de malware)

b) fixer les permissions de lecture pour les fichiers et les répertoires pour l'ensemble du répertoire Android-studio avec quelque chose comme : chmod -R +r /opt/Android-studio

2voto

Jarod Points 798

Pour openjdk : export JAVA_HOME=/usr/lib/jvm/default-java

mais il vaut mieux utiliser le jre d'oracle pour exécuter Android studio

0 votes

Et vous devez vous assurer que le paquet openjdk-7-jdk est déjà installé.

0 votes

Cela ne fonctionne pas export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64 .j'obtiens la même erreur

0 votes

Comment puis-je définir la maison java sur l'oracle jre ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X