標籤:andorid 下載源碼 設定代理
今天在下載andriod源碼,特來與大家分享一下我的經驗。當然,網上教下載源碼的教程較多,本文主要針對在GFW下下載源碼出現的各種問題的解決方案。
1、首先安裝下載用戶端git , curl。
命令如下:
sudo apt-get install culr git
2、建立一個bin目錄,加入到PATH當中。
mkdir ~/binPATH=~/bin:$PATH
3、下載repo的指令碼並添加可執行許可權。
curl http://git-repo.googlecode.com/files/repo-1.13 > ~/bin/repochmod a+x ~/bin/repo
在這裡,問題就出來了。自5月底開始,Google的相關網站,基本上都已經不能直接存取了,當然,我一直用goagent翻牆,所受影響不大,除了打不開tools.android.com這個網站之外。在這裡,我假設你已經有代理工具的了(如果沒有,會折騰的用goagent,不會折騰的一個月花幾塊錢買一個)。下面我們就需要設定curl的代碼,方法很簡單,加個參數 -x Proxy 位址。比如我的Proxy 伺服器為我在區域網路裡的另一部電腦,IP為192.168.137.1,連接埠為8087.那麼上面下載 repo指令碼的命令就應該為:
curl -x 192.168.137.1:8087 http://git-repo.googlecode.com/files/repo-1.13 > ~/bin/repo
下載之後,再修改許可權,如上面所示。
4、建立一個目錄,用於下載andriod源碼。然後進入該目錄。
5、初始化repo。
repo init -u https://android.googlesource.com/platform/manifest
不出意外,這裡問題又來了。googlesource.com網站被牆,所以這裡不能直接下載,需要設定代碼。這裡設定代碼很簡單,設定一下https.proxy的變數就可以了。如下:
export https_proxy=192.168.137.1:8087
後面對應的值記得改回你自己的Proxy 伺服器地址及連接埠。
(補述,http的代理也要設定 ,後面下載代碼會用到,方法同上,設定一下http_proxy變數。)
然後我們再執行初始化。這時,問題又來了,控制台輸出:
Get https://code.google.com/p/git-repo/error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none while accessing https://code.google.com/p/git-repo/info/refsfatal: HTTP request failed
顯示是認證問題。匯入認證我不知道怎麼整,不過我找到了另一種方法,就是取消GIT的SSL驗證。命令如下:
export GIT_SSL_NO_VERIFY=1
然後我們再執行初始化,這時成功了(如果網路斷開請多試一試)。
6、最後,執行repo sync即可。