Windows 下使用adt-bundle-windows 啓動SDK Manager 時出錯閃退的原因和解決辦法

昨天在Windows7下搭建Android開發環境,在啓動SDK Manager的時候遇到了出錯閃退的問題,後來查詢嘗試了很多方法均未得到解決。今天,仔細看了下啓動用到的兩個bat文件,終於找到了問題的癥結所在!

順便把搭建過程也記錄下!

1. 先安裝JDK,去官網下載

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

得到exe文件,雙擊安裝即可!

2. 配置JDK的環境變量

java_home、classpath、 path 三個變量

path 變量注意把jdk的放在最前面,避免System32的干擾

3. 安裝 adt-bundle-windows

adt-bundle-windows 集成了eclipse、adt、sdk,解壓到D盤根目錄即可

下載地址:https://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip

4. 啓動adt-bundle-windows裏的eclipse編寫個HelloWorld可以運行

遇到了問題:

在工具欄啓動SDK Manager 時發生了下列錯誤


如下界面一閃而過


在嘗試了很多方法都無效後,我仔細查看了

D:\adt-bundle-windows-x86-20140702\sdk\tools\android.bat

D:\adt-bundle-windows-x86-20140702\sdk\tools\lib\fand_java.bat

這兩個相關批處理文件

最後發現在find_java.bat文件中有如下內容

reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" |^
find /i "x86" > NUL && set arch_ext=32 || set arch_ext=64

正是這一句,導致了錯誤

reg Query 會去查詢註冊表,由於我的Windows賬戶是自己建立的,而不是Administrator用戶,沒有權限導致查詢失敗,接着導致arch_ext這個在後面多次用到了變量沒正確設置,解決辦法可想而知了,直接設置而不去註冊表查詢,所以將上句改爲

arch_ext=32

改了後如圖所示:



這樣問題得到完美解決,SDK Manager 可以成功啓動了


但是更新時發現速度非常慢!

解決辦法:

1. 在C:\Windows\System32\drivers\etc\hosts後添加

203.208.46.146    dl-ssl.google.com
203.208.46.146    dl.google.com

2. 點擊Android SDK Manager -> Tools-> Options


勾上 Force https://...sources to be fetched using http://...

注意:註銷或重啓下使hosts生效!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章