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