2010-06-16 5 views
8

Je rencontre un problème pour obtenir l'installation de mon environnement de développement Android dans Windows 7. Je suis les instructions here, ainsi que plusieurs sous-réseaux d'environnement. J'utilise Eclipse avec le plugin Android. J'ai installé le Java JDK plusieurs fois, dans divers endroits (jdk-6u20-windows-i586.exe) - mais il me manque évidemment quelque chose.L'appel "Android Create" échoue dans Windows 7 - manquant JDK

Chaque fois que je lance « android créer AVD --target 2 --name my_avd » Je reçois une erreur:

C:\Users\andrew>android create avd --target 2 --name my_avd 

WARNING: Java not found in your path. 
Checking it it's installed in C:\Program Files\Java instead. 


ERROR: No suitable Java found. In order to properly use the Android Developer 
Tools, you need a suitable version of Java installed on your system. We 
recommend that you install the JDK version of JavaSE, available here: 
    http://java.sun.com/javase/downloads/ 

You can find the complete Android SDK requirements here: 
    http://developer.android.com/sdk/requirements.html 

Ce message d'erreur est la raison pour moi d'installer plusieurs fois sur JDK. J'ai d'abord essayé d'installer à un emplacement sur mon e: drive. Je l'ai ensuite déplacé vers la loc par défaut (fichiers de programme (j86) \ java \ jdk.6.something.) J'ai également essayé de le forcer à aller dans le programme \ path, mais il s'installe automatiquement dans le chemin (x86). J'ai ajouté le chemin d'installation à la variable d'environnement de mon chemin à chaque fois, mais je continue à avoir cette erreur.Mon soupçon est que Windows 7 et les outils Android ne jouent pas bien ensemble pour trouver le JDK, mais qui sait, il peut être tout autre chose. Si vous avez vu cette erreur avant, je vous serais reconnaissant un soupçon.

+0

Est-ce vous essayez d'exporter la variable d'environnement JAVA_HOME? –

+0

Voulez-vous dire ajouter une variable d'environnement JAVA_HOME à Windows? Non, je ne l'ai pas fait. Que devrait-il lire? – reuscam

Répondre

7

la commande android est juste un fichier batch Windows, qui à son tour utilise le fichier batch tools\lib\find_java.bat pour trouver Java.

Ayant un coup d'oeil à la source, il fait ce qui suit:

  1. Regarde pour voir si java.exe est sur votre PATH.
  2. Attend pour java.exe quelque part sous %ProgramFiles%

Votre problème se pose parce que vous utilisez la version 64 bits de Windows. Cela signifie %ProgramFiles% est C:\Program Files mais Java est installé dans C:\Program Files (x86) car il s'agit d'une application 32 bits, ce qui signifie que find_java.bat ne le trouve pas. Pour résoudre ce problème, vous devrez ajouter le répertoire contenant java.exe à votre variable d'environnement PATH.

Vous devez l'ajouter le répertoire contenant java.exe - quelque chose comme C:\Program Files (x86)\Java\jdk6\bin - à la fin de PATH avec un point-virgule devant lui pour le séparer de l'entrée précédente.

This question on superuser.com couvre maintenant les variables d'environnement dans Windows 7.

+0

Ok, donc le chemin de niveau supérieur de l'installation n'était pas suffisant, j'avais besoin de forer un répertoire ou deux apparemment. Je vais essayer quand je rentre à la maison ce soir. Merci – reuscam

+0

Vous devez ajouter le répertoire qui contient réellement 'java.exe' –

14

J'ai eu ce même problème, après avoir accidentellement installé la version 32 bits de Java SDK. Je l'ai désinstallé et installé la version 64 bits (puisque j'utilise Windows 7 64). La configuration du SDK Android n'a jamais trouvé Java correctement, même après l'avoir ajouté à ma variable PATH! Après un peu d'exploration, j'ai découvert un fichier java.exe qui flottait dans mon dossier system32, qui dans l'ordre de la variable PATH précédait mon chemin SDK. Après avoir tapé le fichier java.exe dans mon dossier system32, le programme d'installation d'Android s'est bien passé!

Espérons que cela aide.

+3

J'ai eu exactement le même problème! La suppression de C: \ Windows \ System32 \ java.exe a réussi! –

2

Dans le dossier Outils SDK, accédez à libs et modifiez find_java.bat. Il peut généralement être trouvé dans C:\Program Files (x86)\Android\android-sdk-windows\tools\lib.

Remplacez toutes les instances de %PROGRAMFILES% par %PROGRAMFILES(X86)%. Je l'ai fait et l'erreur est partie.

1

Trouver android-sdk-windows\tools\lib\find_java.bat et ajouter quelque chose comme ce qui suit:

set java_exe= 
call :TestJavaDir "%JAVA_HOME%" 
if defined java_exe goto :EOF 
1

Ce qui a fonctionné pour moi était le suivant:

ajouter un chemin à votre répertoire java/bin à la variable système Path. N'incluez PAS java.exe.

étapes sur Win 7 64bit:

  • Cliquez sur le bouton de Windows
  • Clic droit sur l'ordinateur
  • Sélectionnez Propriétés dans le menu contextuel
  • Cliquez sur Paramètres système avancés sur la section gauche
  • Cliquez sur le bouton Variables d'environnement ... au bas de la boîte de dialogue des propriétés
  • Dans la liste inférieure (System v ariables) trouver le « chemin » Variable
  • Cliquez sur le bouton Modifier
  • Aller à la fin de la zone de texte et tapez quelque chose comme c: \ program Files \ Java \ jdk1.6.0_26 \ bin (assurez-vous qu'il correspond à la nom de votre java!)
  • Cliquez sur OK
  • Cliquez sur OK
  • Cliquez sur OK

Essayez!

HTH,

\ ^/mal

-2

C: \ Windows \ SysWOW64

1down vote

J'ai aussi eu ce même problème -> accidentellement installé la version 32 bits de Java SDK -> désinstallé -> installé la version 64 bits (Windows 7 64) -> -> l'installation Android SDK n'a jamais trouvé Java correctement!

J'ai découvert un fichier java.exe flottant dans le dossier C: \ Windows \ SysWOW64. Après avoir renommé ce fichier java.exe en javaX.exe, le programme d'installation d'Android s'est bien passé!

6

Il est vraiment l'enfer avec détection ... JDK

Mes params: Win 7 x64 + x64 JDK (chemin JDK (c: \ Program Files \ Java \ jre7 \ bin)

Était googler et jouer avec des variables env peut être 1 heure - pas moyen.

Enfin viennent avec une telle solution

modifier manuellement android-sdk-windows\tools\lib\find_java.bat par hardcoding le chemin de java.exe

set java_exe=c:\Progra~1\Java\jre7\bin\java.exe 
if not defined java_exe goto :CheckFailed 

:SearchJavaW 
set javaw_exe=c:\Progra~1\Java\jre7\bin\javaw.exe 
if not exist %javaw_exe% set javaw_exe=%java_exe% 
goto :EOF 

Cest fonctionne pour moi.

+0

Vous avez sauvé ma journée! Merci beaucoup! – RynoRn

1

Je mets la déclaration de rem dans android.bat après la commande d'appel et hardcode le chemin de \ bin \ java.exe:

rem Check we have a valid Java.exe in the path. 
set java_exe=<..>\jdk1.6.0_31\bin\java.exe 
rem call lib\find_java.bat 
if not defined java_exe goto :EOF 

même pour le réglage d'autres javaw_exe variables ainsi:

set javaw_exe=<..>\jre1.6.0_31\bin\javaw.exe 
if not exist %javaw_exe% set javaw_exe=%java_exe% 
goto :EOF