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