【Android源碼編譯】在公司內網環境下使用repo獲取android源碼失敗解決辦法

一、機器以及軟件環境:
公司內網+代理+VirtualBox+Linux

二、錯誤內容:
在Linux環境下(虛擬機爲 VirtualBox)獲取Android源代碼的時候,

使用命令:repo init -u git://android.git.kernel.org/platform/manifest.git 時提示下列錯誤:
 fatal: Unable to look up android.git.kernel.org (port 9418) (Name or service not known)

三、發生錯誤原因:
用一句話來概括就是聯網出現問題,因爲僅僅在網絡設定裏面設定代理還不夠,我們需要用某種fanqiang工具來實現代理的操作。

四、錯誤發生情形

正常使用repo獲取android源碼步驟爲:
1、安裝所需軟件:
sudo apt-get install git-core curl


2、設置工具repo的存放目錄並將其加入環境變量內:
mkdir ~/bin
PATH=~/bin:$PATH

3、下載repo的腳本並將其模式改爲可執行:

curl http://android.git.kernel.org/repo > ~/bin/repo

chmod a+x ~/bin/repo


4、創建下載源代碼的目錄

mkdir ~/source

cd ~/source

5、開始repo操作

repo init -u git://android.git.kernel.org/platform/manifest.git

如果是在正常網路不用代理的情況下一般repo都會成功。

但由於公司特殊的網絡環境,導致在repo的時候發生fatal: Unable to look up android.git.kernel.org (port 9418) (Name or service not known)的問題。


五、解決方法:

1、安裝corkscrew

sudo apt-get install corkscrew


2、在任意目錄建立任意文件

例如:    ~/bin/proxy-hoge-user.sh

添加如下內容並保存:

1 #!/bin/bash
2  CORKSCREW=`which corkscrew`
3  $CORKSCREW proxy.hoge.com8080 $1 $2~/bin/user-pwd

其中:

proxy.hoge.com爲代理的服務器,

8080爲代理的端口,

~/bin/user-pwd爲存放代理的用戶名和密碼的文件。

需要根據自己的情況進行設定。


3、新建存放代理的用戶名和密碼的文件

~/bin/user-pwd

格式爲

<username>:<password>

例如 user:pwd


4、改文件屬性

chmod 755 ~/bin/proxy-hoge-user.sh

chmod 600 ~/bin/user-pwd


5、添加環境變量GIT_PROXY_COMMAND

sudo vi ~/.bashrc

添加如下命令:

export GIT_PROXY_COMMAND=~/bin/proxy-hoge-user.sh

保存退出。

source ~/.bashrc

6、重新再source目錄下進行repo操作就能成功了。

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