Здається, існує кілька способів запуску менеджера SDK:
SDK Manager.exe
в корені Android SDK.
SDK Manager.exe
в sdk\tools\lib
SDK для Android.
Window -> Android SDK Manager
меню Eclipse
android.bat
в sdk\tools
SDK для Android.
У моєму випадку це виглядає як 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-бітним SDK для Android.
Так , рішення в моєму випадку було:
- Видаліть ВСІ версії Java
- Встановіть JDK
- Можна або використовувати 32-розрядний SDK для Android, і встановити 32-розрядний JDK
- Або скористайтеся 64-розрядним SDK для Android та встановіть 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 за допомогою запуску android.bat
або з меню Eclipse (але все ж не за допомогою SDK Manager.exe
прямого запуску жодного з файлів).