如何下载Android源码(非常详细,含自动恢复下载,编译,运行模拟器说明)
今天終于把代碼下載完成,特此開一篇博文記錄一下。上圖:
為了下載這些源碼,歷時5天5夜,說為什么這么長時間,是因為太容易中斷了,有時候下一晚上可能就一直沒在下,在你入睡的時候它就自己斷了,趁著這個周末有時間一直在電腦旁白看著它下完,中途也是挺曲折的,磁盤空間不夠用了(我的是40個G,不夠用),各種折騰,最后才把30多個G的代碼及臨時文件移動到其它磁盤(Windows下使用的普通磁盤),繼續下載完畢。
說一下如何下載,網上有挺多帖子說怎么下載的,我找了不少,但是由于國內不能訪問google,于是發現可以訪問清華的鏡像下載,下載速度還是挺快的,最高速度500KB/s。
下載并配置repo信息(一定要按照這個來,剛開始我自己建了一個文件夾,在文件夾內部做,一直不成功,后來從新開始按照這個弄才好的)
?a.
mkdir ~/bin
PATH=~/bin:$PATH
git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git//這是清華大學的鏡像
?b.
a步驟中得到的git-repo中的repo文件拷貝到bin目錄
cp git-repo/repo ~/bin/
?c.修改repo文件,修改REPO_URL
sudo gedit ~/bin/repo
在該文件中修改
REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo'
初始化repo
在ubuntu14.10上,建立放置源碼的文件夾
mkdir android
cd android
git config --global user.email "youremail@email.com"
git config --global user.name "Your Name"
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.0.2_r1//關于user.email,user.name,剛開始我以為是需要去哪里注冊的,于是在網上找了半天,都沒有說這個地方的注冊問題,于是我嘗試填了自己的郵箱,bingo!
(init的可能需要翻墻,如果是Linux系統的話大伙翻墻不方便的話,可以通過修改host文件來實現,更新帖參見:http://laod.cn/hosts/2016-google-hosts.html)
開始下載
repo sync
下載的過程中會一直中斷,需要看著電腦不停的讓他接著下載,可以通過以下腳本完成自動恢復下載:
一點小提示: 有時候google的android服務器老是斷,總不能讓我們守在電腦旁邊一直手工重新repo sync吧,這可是需要N個小時才能下載完的啊。
我們就寫個小腳本讓電腦自動repo sync,直到下載成功為止:
#!/bin/sh
count=0
ret=1
while [ $ret -ne 0 ]
do
repo sync
ret=$?
count=$(( $count + 1))
echo "try $count, ret: $ret"
done
echo "try $count, ret: $ret"
把上面的內容復制到一個文件里tryrepo.sh //新建文件的命令為touch tryrepo.sh,然后打開進行修改,使用vim編輯器:vim ./tryrepo.sh,如果沒有vim編輯器則進行安裝:sudo apt-get install vim,如果你的庫里面沒有vim的表文件的話,需要更新系統的軟件庫。
然后修改tryrepo.sh的屬性,開始自動工作吧。第二點早上應該就大功告成了
chmod a+x tryrepo.sh //這個我推測應該是加入系統環境變量的意思?
./tryrepo.sh
下圖是源碼下載完成之后,將臨時文件夾.repo刪除之后的空間使用分析圖:
所以在下載的時候一定一定要保留足夠的空間,中間不夠用的話,非常麻煩。100個G的空間推薦。
下載完成之后,編譯也同樣是需要很大的空間,預留30個GB,編譯時間視電腦性能而定,我用了2天時間,算上中間環境配置,空間不夠,編譯錯誤,電腦不穩定等因素。(如果空間不夠,則可以刪除臨時下載庫.repo文件夾),在編譯之前請參考其他文章添加系統環境變量。
使用命令:make -j8 -k 進行編譯
參數請看幫助文檔,編譯完成之后如下圖所示:
編譯完成之后還不可以運行模擬器,其他文章會說模擬器在out/hosts/linux-86/bin/的文件夾下,但是我這里沒有。需要使用下面的命令來導入一些系統需要的環境變量和參數:
source build/envsetup.sh
設置好參數之后,使用命令lunch選擇我們要啟動的目標,然后再輸入emulator稍等一會,模擬器就會啟動了,如下圖所示:
具體信息可以參見:http://jingyan.baidu.com/article/86112f13549b44273797872c.html?qq-pf-to=pcqq.c2c
總結
以上是生活随笔為你收集整理的如何下载Android源码(非常详细,含自动恢复下载,编译,运行模拟器说明)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java】函数式编程
- 下一篇: 腾讯2013实习生笔试题+答案1-5aa