Установка Android SDK не видит JDK на Windows 7 x64 (JDK 6)
Решение: проблема в разрядности JDK и SDK
Здравствуйте! Вы столкнулись с очень распространённой проблемой, особенно на Windows 7 x64. Дело в том, что Android SDK (установщик .exe) часто является 32-битным приложением, даже если вы скачали 64-битную версию JDK. 32-битная программа на Windows 7 x64 не может корректно обнаружить 64-битный JDK из-за особенностей реестра и путей поиска.
Вот пошаговое решение, которое гарантированно работает:
Шаг 1: Установите 32-битный JDK (рекомендуется)
Скачайте и установите 32-битную версию JDK 6 или 7 (например, jdk-6u45-windows-i586.exe). Путь установки по умолчанию: C:\Program Files (x86)\Java\jdk1.6.0_45. После установки:
- Удалите старую переменную
JAVA_HOMEили укажите новый путь:C:\Program Files (x86)\Java\jdk1.6.0_45 - Убедитесь, что в
PATHесть%JAVA_HOME%\bin - Перезагрузите компьютер
После этого запустите установку Android SDK — он должен увидеть JDK.
Шаг 2: Альтернатива — использование 64-битного JDK с ручной настройкой
Если вы хотите оставить 64-битный JDK, сделайте следующее:
- Создайте системную переменную
JAVA_HOMEсо значениемC:\Program Files\Java\jdk1.6.0_45 - Добавьте в
PATH(в начало):C:\Program Files\Java\jdk1.6.0_45\bin - Важно! Добавьте также путь к 32-битной JRE (если есть):
C:\Program Files (x86)\Java\jre6\bin(она часто ставится вместе с 32-битным JDK) - Скачайте не установщик .exe, а ZIP-архив Android SDK (SDK Tools Only) с официального сайта. Распакуйте его в
C:\Android\sdk - Запустите
SDK Manager.exeиз папки — он должен корректно определить JDK
Пример проверки в командной строке:
echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_45
java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
Шаг 3: Дополнительные проверки
Иногда проблема в правах доступа. Запустите установщик Android SDK от имени администратора (правой кнопкой мыши -> "Запуск от имени администратора"). Также проверьте, что в реестре Windows есть запись:
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.6
CurrentVersion = "1.6"
JavaHome = "C:\Program Files\Java\jdk1.6.0_45"
Если записи нет, создайте её вручную (для 64-битного JDK путь может быть в SOFTWARE\Wow6432Node для 32-битных программ).
Итог
Самый надёжный способ для Windows 7 x64 — установить 32-битный JDK 6 или 7. Это решит проблему в 99% случаев. Если вам критичен 64-битный JDK, используйте ZIP-версию Android SDK и настройте переменные окружения вручную. После этого ваш код будет компилироваться и Android SDK заработает.
Пример успешного запуска после решения:
android.bat
[INFO] Detected Java version: 1.6
[INFO] Found Android SDK at C:\Android\sdk
<<Альтернативное решение: обновление Android SDK Tools и установка JDK 7
Коллега выше верно указал на разрядность, но есть ещё один нюанс. Старые версии Android SDK (до r25) имели проблемы с JDK 6 на Windows 7 x64 из-за устаревших библиотек. Попробуйте обновить Android SDK Tools до последней версии, совместимой с JDK 6, или установите JDK 7.
Что делать:
- Установите JDK 7 (32-битный) — скачайте
jdk-7u80-windows-i586.exe(последняя версия JDK 7). Установите вC:\Program Files (x86)\Java\jdk1.7.0_80 - Обновите переменные:
JAVA_HOME = C:\Program Files (x86)\Java\jdk1.7.0_80- В
PATHдобавьте%JAVA_HOME%\bin
- Удалите старый Android SDK полностью (через "Установку и удаление программ")
- Скачайте свежий установщик Android SDK с официального сайта (выберите версию для Windows, она 32-битная)
- Запустите установку от имени администратора
JDK 7 имеет лучшую совместимость с Android SDK r24-r25. Если после этого проблема останется, попробуйте использовать Android Studio (она включает встроенный SDK Manager и не требует ручной установки JDK — только JRE). Это самый простой путь для начинающих.
Пример проверки после установки JDK 7:
javac -version
javac 1.7.0_80
После этого Android SDK должен увидеть JDK без дополнительных манипуляций.