«Создать Android» вызов не удается в Windows 7 - отсутствует JDK - PullRequest
8 голосов
/ 16 июня 2010

У меня проблема с настройкой среды разработки для Android в Windows 7. Я следую инструкциям здесь, , а также нескольким ссылкам среды. Я использую Eclipse с плагином Android. Я установил Java JDK несколько раз в разных местах (jdk-6u20-windows-i586.exe) - но мне явно что-то не хватает.

Каждый раз, когда я запускаю "android create avd --target 2 --name my_avd", я получаю сообщение об ошибке:

    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

Это сообщение об ошибке является причиной того, что я установил JDK несколько раз. Сначала я попытался установить в папку на моем диске e :. Затем я переместил его в каталог по умолчанию loc (программные файлы (x86) \ java \ jdk.6.something. Я также попытался заставить его перейти в программные файлы \ path, но он все равно автоматически устанавливается в путь (x86). I Я добавляю путь установки в мою переменную окружения path каждый раз, но я все еще продолжаю получать эту ошибку. Я подозреваю, что Windows 7 и инструменты Android не работают вместе с точки зрения поиска JDK, но кто знает, это может быть что-то совсем другое. Если вы видели эту ошибку раньше, я был бы признателен за подсказку.

Ответы [ 8 ]

14 голосов
/ 12 июля 2010

У меня была такая же проблема, после того, как случайно установил 32-битную версию Java SDK. Я удалил его и установил 64-битную версию (так как я использую Windows 7 64). Установка Android SDK никогда не находила Java правильно, даже после того, как я добавила его в переменную PATH!

После небольшого перебора я обнаружил java.exe, плавающий в моей папке system32, который в порядке переменной PATH предшествовал моему пути SDK. После запуска java.exe в моей папке system32 программа установки Android запустилась очень хорошо!

Надеюсь, это поможет.

7 голосов
/ 16 июня 2010

Команда android - это просто пакетный файл Windows, который, в свою очередь, использует пакетный файл tools\lib\find_java.bat для поиска Java.

Посмотрев на источник, он делает следующее:

  1. Проверяет, есть ли java.exe на вашем PATH.
  2. Ищет java.exe где-то под %ProgramFiles%

Ваша проблема возникает из-за того, что выВы используете 64-битную версию Windows.Это означает, что %ProgramFiles% - это C:\Program Files, но Java установлена ​​в C:\Program Files (x86), поскольку это 32-разрядное приложение, а это означает, что find_java.bat не находит его.

Так что, чтобы это исправить, вам нужнодобавьте каталог, содержащий java.exe, в переменную окружения PATH.

Вам нужно добавить каталог, содержащий java.exe - что-то вроде C:\Program Files (x86)\Java\jdk6\bin - в конце PATH с точкой с запятойперед ним, чтобы отделить его от предыдущей записи.

Этот вопрос на сайте superuser.com касается поддержки переменных среды в Windows 7.

6 голосов
/ 27 марта 2012

Это действительно ад с обнаружением JDK ...

Мои параметры: Win 7 x64 + JDK x64 (путь JDK (c: \ Program Files \ Java \ jre7 \ bin)

Погуглил и поиграл с переменными env может быть 1 час - никак.

Наконец-то есть такое решение

Вручную отредактируйте android-sdk-windows\tools\lib\find_java.bat, жестко прописав путь к 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

Это работает для меня.

2 голосов
/ 31 января 2011

В папке инструментов SDK перейдите к libs и отредактируйте find_java.bat.Обычно его можно найти в C:\Program Files (x86)\Android\android-sdk-windows\tools\lib.

Измените все экземпляры %PROGRAMFILES% на %PROGRAMFILES(X86)%.

Я сделал это, и ошибка исчезла.

1 голос
/ 30 июня 2012

Я помещаю оператор rem в android.bat после команды вызова и жестко прописываю путь \ 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

То же самое для установки другой переменной javaw_exe:

set javaw_exe=<..>\jre1.6.0_31\bin\javaw.exe
if not exist %javaw_exe% set javaw_exe=%java_exe%
goto :EOF
1 голос
/ 30 июля 2011

Что сработало для меня, так это:

добавить путь к каталогу java / bin в системную переменную Path. НЕ включайте java.exe.

Шаги на Win 7 64bit:

  • Нажмите кнопку Windows
  • Щелкните правой кнопкой мыши на компьютере
  • Выберите Свойства из контекстного меню
  • Нажмите Расширенные настройки системы в левом верхнем углу
  • Нажмите кнопку Переменные среды ... в нижней части диалогового окна свойств
  • В нижнем списке (системные переменные) найдите переменную "Path"
  • Нажмите кнопку Изменить
  • Перейдите в конец текстового поля и введите что-то вроде c: \ program файлы \ java \ jdk1.6.0_26 \ bin (убедитесь, что он соответствует имени вашего Справочник Java!)
  • Нажмите OK
  • Нажмите OK
  • Нажмите OK

Попробуйте!

НТН,

\ ^ / i l l

1 голос
/ 05 июля 2011

Найдите android-sdk-windows\tools\lib\find_java.bat и добавьте что-то вроде следующего:

set java_exe=
call :TestJavaDir "%JAVA_HOME%"
if defined java_exe goto :EOF
0 голосов
/ 13 сентября 2011

C: \ Windows \ SysWOW64

1 голосование вниз

У меня тоже была такая же проблема -> случайно установлена ​​32-битная версия Java SDK -> удалена -> установлена ​​64-битовая версия (Windows 7 64) -> -> установка Android SDK никогда не находила Java правильно!

Я обнаружил java.exe, плавающий в папке C: \ Windows \ SysWOW64.После переименования этого java.exe в javaX.exe программа установки Android запустилась просто отлично!

...