10 янв. 2013 г.

Не запускается Android SDK Manager

Как так можно, выпускать обновления тулсета без достаточного тестирования мне непонятно. Но обновив на днях и Android SDK до версии 21.01 и заодно Eclipse, c Indigo до Juno, испытал на себе сабжевую проблему.
Гугление выдавало в основном треды разной свежести на stackoverflow.com с кучей решений, кому-то помогло создание переменной окружения в винде %JAVA_HOME%, с указанием пути до JDK (в моем случае она давно присутствовала в виде C:\Java\jdk1.6.0(x64), с тех самых пор, как перешел на Windows 7 x64 и инсталлятор SDK перестал видеть установленный JDK и до сего обновления все работало), кому-то создание переменной окружения %ANDROID_SDK_HOME% (ничего не могу сказать, не понадобилось ни разу), кто-то изменил файл android.bat в директории Android-SDK\tools\, кто-то просто почесал ж*пу левой рукой и помогло. Короче всё оказалось не в кассу.
Потом нагуглился еще один страдалец как и я, с инструкцией... в общем изменив переменную окружения %JAVA_HOME% с C:\Java\jdk1.6.0(x64) на C:\Java\jdk1.6.0(x64)\bin удалось добится запуска SDK Manager через батник android.bat, а добавив в переменную окружения %PATH% путь C:\Java\jdk1.6.0(x64)\bin (раньше и без этого работало прекрасно) удалось добиться запуска SDK Manager непосредственно из Eclipse.
А запустить это чудо (SDK Manager.exe) непосредственно с бинарника удалось из консоли, предварительно выполнив в ней команду set PATH=c:\Java\jdk1.6.0(x64)\bin, что этой сволочи не хватало мне не понятно, возможно мешали другие прописанные пути, их можно проверить в той же консоли выполнив команду echo %PATH%.

Btw, делать рестарт после изменения переменных среды, как пишет по вышеназванной ссылке данный блоггер не обязательно, достаточно сделать смену пользователя (LogOff/logOn) и всё это дело апплится без перезагрузки машины. Проверяется тем же echo %PATH%.

И еще один маленький, но важный нюанс: в прошлом пользовался 32-битной виндой, при переходе на Windows x64 внезапно (ха-ха-ха) выяснилось, что запуск командного интерпритатора aka консоли (cmd.exe) из 32-битного приложения, запускает 32-битное же приложение интерпритатора cmd.exe из SysWOW64 вместо нативного для системы (т.е. под архитектуру AMD64) cmd.exe из System32, причем запуск непосредственно и из той и из другой директории 32-битного приложения (в моем случае Total Commander) запускает всё равно 32-битный cmd.exe, получается что-то вроде симлинка с редиректом в SysWOW64. Учитывая что JDK я устанавливал x64, ловил головняки.
А я так удобно запускал консоль из Total Commander прямо в нужной директории... Особо не искал решение, но надо бы разобраться и с этим делом.

Комментариев нет: