2012-10-02 177 views
1

我在使用java jdk 7u7的Windows 7 Pro x64上。Android SDK Manager將無法運行

我嘗試在我的電腦上安裝Android SDK,但是當我啓動SDK Manager.exe時,一個dos窗口打開並立即關閉。所以我試圖推出tools/android.bat。但是,沒有工作,這句話給我說:

"'C:\PROGRA~2\Android\ANDROI~1\tools\lib\\find_java.exe -s' isn't a external or internal command ... 

ERROR No suitable java such ..." 

我有修正錯誤做:

  1. 安裝Java 6u35
  2. 安裝Java X32和x64
  3. 檢查我路徑
  4. 啓動管理員
  5. 安裝在C:\開發的SDK
  6. 我與android-sdk.zip或Android的sdk.exe nstall
  7. 加入Android的目錄路徑

但這種嘗試的人是成功的。 有人可以幫助我嗎?

+1

嘗試JAVA_HOME添加到您的Windows系統變量,以作爲其值的Java JDK路徑。它可能會幫助您的安裝找到它 –

+0

它不起作用,但無論如何感謝您 – LBull

回答

0

本週我有這個答案,並確定是什麼導致它。

當Java更新它時會更改可執行文件的存儲路徑。這意味着當SDK管理器去查找javaw.exe時,它無法找到它並立即關閉。

因此重新安裝Android SDK不會解決問題。 也不會重新安裝JAVA。

解決此問題的唯一方法是正確指向存儲JAVA的位置。

Windows有一種做法,稱爲環境變量。 有一個稱爲PATH的變量,它存儲Windows將查找可執行文件的所有目錄。

因此,您必須修改該PATH變量以包含JAVA的路徑。 默認情況下,JDK 7具有以下路徑:

C:\Program Files\Java\jdk1.7.0_10\bin 

要編輯的環境變量做到以下幾點。

From the Start Menu right click on Computer and select "Properties" 
This will take you to the Control Panel System Menu 
On the left column look for the option "Advanced System Settings" 
This will open a System Properties window 
One of the tabs is named Advanced 
In that there is a button that says Environmental Variables 
If you search your System Variables you will see one called "Path" 
Edit that variable and add the path above to include the latest Java Path. 

一旦你完成了SDK管理器應該能夠立即打開,您可以繼續更新到了Android SDK的最新版本。

更新完成後,請不要忘記確保您的IDE(即Eclipse)指向存儲SDK的正確位置,以便它讀取最新的Android SDK文件。要在Eclipse中訪問此設置,請轉到窗口 - >首選項 - > Android

這將允許您手動設置存儲SDK的路徑。

0

唯一幫助我的是將java重新安裝到不包含任何空格的路徑中,因此不是將C:/ Program Files更改爲C:/ Java,並將Path變量更改爲新值。

希望這會有所幫助。

5

似乎有幾種方法來啓動SDK管理器:

  1. SDK Manager.exe在Android SDK的根。
  2. SDK Manager.exe in sdk\tools\lib的Android SDK。
  3. Window -> Android SDK Manager Eclipse中的菜單
  4. android.batsdk\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,在我的情況的解決方法是:

  1. 卸載所有Java版本
  2. 安裝JDK
    • 您可以使用32位的Android SDK和安裝32位JDK
    • 或者使用64位Android SDK並安裝64位JDK
    • 但是JDK的「bitness」應該與Android SDK。看來,無論是32位或64位的一個將64位計算機上工作,只要JDK位數Android SDK的位數相匹配。
  3. 編輯 「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 
      

這樣做後,我可以成功運行android.bat運行SDK管理器,或從Eclipse菜單(但仍然不是直接運行的是SDK Manager.exe文件)。

+0

偉大的!這節省了我的時間 – Bellash

-1

更改現有指向JDK路徑的JRE路徑JAVA_HOME爲我工作。

0

我有同樣的問題,它是最有可能在路徑名稱中使用空格引起的。據瞭解,在道路名稱和批處理文件空間不結合得很好。

您可以通過打開命令行提示符將位置更改爲%SDK%\ tools \ lib並運行find_java.bat來驗證。你會得到一個批次錯誤,如

'C:\PROGRA~2\Android\Android' is not recognized as an internal or external command, 
operable program or batch file. 

只需安裝SDK到C:\ Android的\ SDK和NDK的到C:\的Android \ NDK,它會工作。

0

這是怎麼了,我終於解決它 開放工具/ android.bat

set java_exe= 
call lib\find_java.bat 
if not defined java_exe goto :EOF 

與你的java路徑替換

set java_exe="c:\PROGRA~1\Java\jdk1.7.0\bin\java.exe" 

注: 不要使用C:\Program Files\Something它拋出錯誤,因爲空間的 使用短名稱符號C:\PROGRA~1\Something

,它會像魅力

0

同樣的問題對我來說SDK的manager.exe只是沒有錯誤信息或Windows事件停止。

我與已經提供的答案(我在Win 8.1上運行)的混合解決了這個。這個問題似乎是由find_java針對性的java.exe是失步與最近安裝的JDK版本。

對我來說:

  • <sdk>C:\用戶\西蒙\應用程序數據\本地\的Android \ SDK
  • <jdk>C:\ PROGRA〜1個\ Java的\ jdk1.7。0_80 \ bin

    1. 我將我的JDK安裝路徑添加到PATH環境變量例如...; C:\ PROGRA〜1 \ Java \ jdk1.7.0_80 \ bin; ...
    2. <sdk>\tools\lib\文件夾中打開一個新的命令窗口並運行find_java.bat後,我注意到,java_exe環境變量設置是C:\ WINDOWS \ SYSTEM32 \ JAVA.EXE這不是我所期望的。
    3. 我刪除(以及重命名)的的java.exeC:\ Windows \ System32下
    4. 我又跑find_java.bat現在java_exe環境變量設置爲java_exe=<jdk>\java.exe預期。
    5. 然後在<sdk>我可以運行SDK Manager.exe成功。