情況因人而異,但除了到編輯android.bat,如前面描述的答案,我還是沒能讓SDK Manager在Windows 8 64位上運行,直到我第一次:
- 卸載了所有版本的Java
- 重啓*
- 只安裝了X86的JDK(包括安裝程序中的公共JRE選項)
我已經嘗試了所有的這些事情,更多以前*無需重新啓動,這是唯一的方式我得到了SDK管理器運行。希望這個信息可以讓你免受我經歷的一些徹底的沮喪和浪費。只是爲了讓工具在盒子外面運行而感到痛苦。可怕的經歷。
我會回答爲以前的答案評論,但顯然我沒有足夠的代表處做到這一點:https://meta.stackexchange.com/questions/25725/how-do-you-comment-on-a-specific-answer
編輯:下面更完整的答案。 (我不認爲重新啓動有什麼做它。)
似乎有幾種方法來啓動SDK管理器:
SDK Manager.exe
在Android SDK的根。
SDK Manager.exe
in sdk\tools\lib
的Android SDK。
Window -> Android SDK Manager
Eclipse中的菜單
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
但,則在我的情況下,關鍵的問題是,它並選擇加載無論從lib\x86
一個jar文件或這裏的lib\x86_64
文件夾。在某些時候,事情感到困惑的BAT文件中的錯誤,一個32位的JDK和一個64位的Android SDK之間。
SO,在我的情況的解決方法是:
- 卸載所有Java版本
- 安裝JDK
- 您可以使用32位的Android SDK和安裝32位JDK
- 或者使用64位Android SDK並安裝64位JDK
- 但是「bitne ss「應該與Android SDK匹配。看來,無論是32位或64位的一個將64位計算機上工作,只要JDK位數Android SDK的位數相匹配。
編輯「機器人。球棒」
如果使用的是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
做完之後這樣,我可以通過運行android.bat
或從Eclipse菜單中成功運行SDK管理器(但仍不能直接運行SDK Manager.exe
文件中的任何一個)。
OH GOD THANK YOU ...一直試圖讓android SDK運行一個多小時... –
如果不起作用,請嘗試'set swt_path = lib \ x86_64'。 – Sawny