Android SDK下載異常(hostname in certificate didn't match),androidhostname

來源:互聯網
上載者:User

Android SDK下載異常(hostname in certificate didn't match),androidhostname

對於Android開發人員來說,每次下載更新 Android SDK 都是一次痛苦的經曆,因為 google 被牆,每次我們都要想盡辦法來更新 SDK, 以前我是通過 VPN 來下載 SDK,但是也只能保證稍微穩定一點的下載速度,每次更新還是要耗費很長的時間來等待,上星期我的同事發現通過修改 hosts 檔案並將網域名稱指向 203.208.46.146 即可加快速度,而且下載速度基本上都是4,5M左右,這讓我驚喜異常,說實話,其實我甚至大家都很早知道可以通過修改 host 檔案來提高 SDK 下載速度,但是把網域名稱指向哪裡是一個問題,以前我曾經按照一篇文章來試過修改 host ip 的方法,先通過http://ping.chinaz.com 來 ping http://dl-ssl.google.com 這個網域名稱(Android SDK所用的網域名稱),然後點擊查詢即可,: 

可見這個網域名稱已經完全被牆掉,國內基本上沒有可以 ping 通的地方,有的博文說可以試下 海外 的 ip,於是我在監測點上只選擇了 海外,查詢後結果如所示: 

基本上都可以 ping 通,而且速度還很不錯,有的博文會推薦使用這些響應IP,但是我曾經試過,在 hosts 檔案中將 SDK 下載網域名稱指向這些 ip 之後依然無法下載 sdk,我們可以直接 ping 下ip,以 荷蘭 的 74.124.136.93 響應IP 為例,查詢結果如所示: 

很明顯,這個位於美國的 IP地址 已經被牆掉了,事實上,所以我們將 hosts 中的 sdk 網域名稱指向這些 ip 其實並沒有作用,伺服器依然被牆。

那麼為什麼我們要將 hosts 中的sdk網域名稱指向 203.208.46.146 這個 IP 呢?我們照例來 ping 下它就會知道: 

看到 IP歸屬地 我相信大家都已經明白了,這應該是 google 位於北京的伺服器,它的響應速度也是非常快的,我們將 sdk 網域名稱指向這個ip,由於伺服器就在北京,所以下載速度是非常可觀的,可以看下我修改後的下載速度: 

基本上是4,5M 每秒的速度,更新完全部sdk也只花費了我很少的時間。

這裡再簡單講一下如何修改 hosts 檔案, Windows 的 hosts 檔案位於 C:\WINDOWS\system32\drivers\etc 這個位置,通過檔案瀏覽器直接進入這個目錄然後用編輯器修改 hosts 檔案即可; 
 Mac 的hosts檔案位於 /etc/hosts,我們可以通過 shell 命令列來操作它,sudo nano /etc/hosts 是直接調用出預設文字編輯器來操作的,我們也可以使用 VIM 或者其它編輯器 sudo vim /etc/hosts,使用 sudo 則是因為 hosts 
檔案是系統檔案,操作它需要管理員權限,最後我們將以下內容粘貼儲存即可:

203.208.46.146  dl.google.com203.208.46.146  dl-ssl.google.com

注意前面不要加#號,否則這一行將被注釋掉。

修改完 hosts 檔案之後我們就可以開啟 eclipse,然後點擊菜單中的 Window —— Android SDK Manager 來下載更新 SDK 了,但是當我們勾選任務開始下載的時候,問題來了: 

Download interrupted: hostname in certificate didn't match: != Download interrupted: Connection to https://dl-ssl.google.com refusedDone. Nothing was installed. 

上面的異常資訊就是我們修改完 hosts 檔案之後下載 sdk 報的異常,異常資訊提示 dl-ssl.google.com 的 https 認證可能不正確,通過搜尋得知,我們可以將 Android SDK 下載預設使用的 https 協議改為未加密的 http 協議,這樣便能避免此異常的產生。

將 SDK 的 https 協議改為 http 協議的步驟如下:

  1. 在Eclipse菜單中選擇 Window —— Android SDK Manager即可開啟Android SDK 下載視窗;
  2. 在Android SDK下載視窗選擇 Preferences... 功能表項目開啟設定視窗;
  3. 最後在設定視窗勾選Others中的第一項Force https://... sources to be fetched using 
    http...
    即完成操作。 
     
    完成修改之後,我們關閉設定視窗就可以正常且快速的下載 Android SDK了。



參考連結: 
http://jingyan.baidu.com/article/1974b289ad9ad3f4b1f7749a.html

http://www.netfoucs.com/article/wsq2002/75368.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.