Кажется, есть несколько способов запустить SDK Manager:
SDK Manager.exe
в корне Android SDK.
SDK Manager.exe
в sdk\tools\lib
Android SDK.
Window -> Android SDK Manager
меню в Затмении
android.bat
в sdk\tools
Android SDK.
В моем случае это выглядит как android.bat
сбой на линии:
for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
Что касается того, что делает эта строка ... если я запускаю вручную: "[path_to_java]java" -jar lib\archquery.jar
Он успешно возвращает: x86_64
Но когда пакетный файл запускает ту же команду, я не знаю почему, но он выдает ошибку:
Unable to access jarfile lib\archquery.jar
Таким образом, переменная swt_path
устанавливается в пустую строку. Все разрушается оттуда.
Пакетный файл устанавливает правильное значение для переменной java_exe
. Другие обычно сообщают об этом как о проблеме, но эти обходные пути не были актуальны в моем случае.
Люди рекомендовали закомментировать проблемную строку, добавив REM в начало и добавив строку для ручной установки swt_path
переменной, что является допустимым обходным путем:
REM for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
set swt_path=lib\x86
НО , критическая проблема в моем случае заключается в том, что он решает загрузить файл jar из папки lib\x86
или lib\x86_64
. В какой-то момент возникла путаница между ошибкой файла BAT, 32-разрядным JDK и 64-разрядным Android SDK.
ТАК , обходной путь в моем случае должен был:
- Удалить ВСЕ версии Java
- Установите JDK
- Вы можете использовать 32-битный Android SDK и установить 32-битный JDK
- Или используйте 64-битный Android SDK и установите 64-битный JDK
- Но «битность» JDK должна соответствовать Android SDK. Похоже, что 32-разрядная или 64-разрядная версия будет работать на 64-разрядном компьютере, поскольку ДОЛГО КАК битность JDK совпадает с битностью Android SDK.
Редактировать "android.bat"
Если вы используете 32-битный Android SDK / JDK, используйте lib\x86
:
REM for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
set swt_path=lib\x86
Если вы используете 64-битный Android SDK / JDK, используйте lib\x86_64
:
REM for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
set swt_path=lib\x86_64
После этого я могу успешно запустить SDK Manager, запустив его android.bat
или из меню Eclipse (но все равно не запустив ни один из SDK Manager.exe
файлов напрямую).