14 янв. 2013 г.

Oracle предупреждает (JDK)

Вот тут говорят, что:
About the Java 6 Auto-Update to Java 7
Oracle is now extending the End of Public Updates again for 4 additional months to provide developers and users with additional time to migrate to Java 7. The last publicly available release of Java 6 will be in February of 2013 with the release of Java SE 6 Update 39 (Java SE 6u39).
 Что-то непонятно как быть с Android SDK, коий требует определенную версию JDK:

JDK 6 (JRE alone is not sufficient)
 И насколько можно судить по отзывам, JDK 7 требует дополнительных телодвижений.

Припоминаю подобный фортель с Symbian SDK, который требовал ActivePerl, причём определенной версии и в один момент был убран с сайта ActiveState для свободного скачивания (однако для "users with ActiveState Busine$$ Edition $upport" неподдерживаемые версии доступны), подробнее об этом вот тут.
Занятно, когда адепты Private API, Symbian Platinum Partner$$ и платной премиум поддержки вляпались в свои же Premium к*к*шки, хотя вопрос с новыми версиями SDK (Symian^3, S60 5th Edition, and S60 3rd Edition SDKs) вроде как решили.

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 прямо в нужной директории... Особо не искал решение, но надо бы разобраться и с этим делом.