1 android源碼下載編譯

1 概述

本文主要講解如何下載Android源碼以及編譯

2 Android13源碼下載

2.1 repo概述

概述
repo 是 Google 用于管理多個(gè) Git 倉(cāng)庫(kù)的工具女嘲,特別適用于 Android 源代碼的管理和同步帐偎。它使開(kāi)發(fā)人員能夠方便地在一個(gè)項(xiàng)目中管理多個(gè) Git 倉(cāng)庫(kù)晋被,簡(jiǎn)化了跨多個(gè)倉(cāng)庫(kù)進(jìn)行協(xié)作開(kāi)發(fā)的流程布疼。

以下是 repo 工具的一些主要特點(diǎn)和用法概述:

1 多倉(cāng)庫(kù)管理:repo 允許你在一個(gè)項(xiàng)目中管理多個(gè) Git 倉(cāng)庫(kù)鹤耍,這對(duì)于像 Android 源代碼這樣分布在多個(gè)倉(cāng)庫(kù)中的大型項(xiàng)目非常有用夸溶。

2 統(tǒng)一代碼版本:通過(guò) repo夕晓,你可以輕松地同步多個(gè)倉(cāng)庫(kù)中的代碼矾策,保持它們?cè)谙嗤拇a版本上匀伏。

3 分支管理:repo 支持跨多個(gè)倉(cāng)庫(kù)進(jìn)行分支管理,讓你能夠在整個(gè)項(xiàng)目中統(tǒng)一管理分支蝴韭。

4 代碼審查:repo 提供了一些工具和指令够颠,幫助你進(jìn)行代碼審查和檢查不同倉(cāng)庫(kù)之間的差異。

5 易于使用:repo 命令簡(jiǎn)單而直觀榄鉴,使得開(kāi)發(fā)人員能夠快速上手并利用其強(qiáng)大功能履磨。

使用 repo 工具可以更好地管理復(fù)雜的項(xiàng)目結(jié)構(gòu),提高團(tuán)隊(duì)協(xié)作效率庆尘,確保代碼的一致性和穩(wěn)定性剃诅。如果你是在處理涉及多個(gè) Git 倉(cāng)庫(kù)的項(xiàng)目,repo 可能是一個(gè)很好的選擇來(lái)簡(jiǎn)化項(xiàng)目管理和同步代碼的過(guò)程驶忌。

2.2 repo配置

在下載android源碼前矛辕,首先需要下載repo工具

sudo apt-get install curl

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/xxx/repo

1 首先在ubuntu中安裝curl下載工具
2 使用curl工具從清華大學(xué)的鏡像站點(diǎn)下載 repo 工具并將其保存到 ~/xxx/repo 文件中

接下來(lái)配置系統(tǒng)環(huán)境變量

sudo apt-get install vim
vim .bashrc(不安裝vim也可, 可以直接用gedit編輯)

下載Ubuntu編輯工具vim,打開(kāi)bashrc文件

<meta charset="utf-8">

# 在打開(kāi)的文件末尾添加  
PATH=/home/tsdl/Code/Repo:$PATH  
#首先替換git下載源碼鏈接付魔,由谷歌替換為清華源
git config --global url.[https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/.insteadof](https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/.insteadof)  [https://android.googlesource.com](https://android.googlesource.com)
 #將 https://mirrors.tuna.tsinghua.edu.cn/git/git-repo 設(shè)置為 REPO_URL 環(huán)境變量的值聊品。Repo 工具將使用該環(huán)境變量中的 URL 來(lái)下載 Repo 工具
export REPO_URL='[https://mirrors.tuna.tsinghua.edu.cn/git/git-repo](https://mirrors.tuna.tsinghua.edu.cn/git/git-repo)'

在 Ubuntu 系統(tǒng)中,.bashrc 文件是一個(gè) Bash shell 的配置文件几苍,用于配置用戶的個(gè)性化 Bash 環(huán)境翻屈。當(dāng)用戶登錄時(shí),Bash shell 會(huì)自動(dòng)執(zhí)行該文件中的命令妻坝,以便對(duì) shell 進(jìn)行初始化和設(shè)置伸眶。
1 配置系統(tǒng)環(huán)境 將該文件目錄添加到系統(tǒng)環(huán)境中惊窖,這樣在執(zhí)行命令時(shí),系統(tǒng)會(huì)去該目錄查找可執(zhí)行文件
2 配置git clone 下載代碼的源url
3 配置repo下載工具的鏈接

完成系統(tǒng)環(huán)境配置后
接下來(lái)進(jìn)入/home/tsdl/Code/Repo 目錄下厘贼,配置可執(zhí)行repo文件的權(quán)限

chmod a+x file

到這里界酒,我們以及準(zhǔn)備好了repo文件,同時(shí)配置了系統(tǒng)環(huán)境

2.3 配置gitconfig
sudo apt-get install git
git config --global user.name "XXXX"
git config --global user.email "XXXXX@XXXXXXXXX.com"

這里配置git的username和 useremail

2.4 下載android13源碼
repo init -u [http://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest](http://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest) -b android-13.0.0_r44

注意點(diǎn)
在使用repo下載android源碼時(shí)嘴秸,先調(diào)整python為3.0+

sudo ln -s /usr/bin/python3 /usr/bin/python

安裝同步代碼相關(guān)依賴

sudo apt install -y libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib git flex bison gperf build-essential libncurses5-dev:i386 tofrodos python python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev libsdl1.2-dev libesd0-dev git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libgl1-mesa-dev libxml2-utils xsltproc unzip m4 lib32z-dev ccache libssl-dev
sudo vim /etc/apt/sources.list
#在行尾添加下面這個(gè)源保存
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
 
#安裝libesd0-dev
sudo apt update && sudo apt install -y libesd0-dev

如果安裝依賴報(bào)錯(cuò) libncurses5-dev安裝不上
原因
當(dāng)前 libncurses已經(jīng)更新到6以上了盾计,所以沒(méi)辦法安裝5,但是android源碼sync時(shí)又需要libncurses5赁遗,我們可以建立鏈接

接下來(lái)同步代碼

repo sync -j$(nproc --all)

編譯代碼

cd /usr/lib/x86_64-linux-gnu 
sudo cp libncurses.so.6 libncurses.so.5
sudo cp libtinfo.so.6 libtinfo.so.5

sync完成后署辉,接下來(lái)執(zhí)行編譯操作,這里lunch選擇sdk_phone_x86_64
使用此參數(shù)可以構(gòu)建AVD系統(tǒng)映像岩四,與編譯 Android 設(shè)備系統(tǒng)映像的流程相同哭尝,方便加Log進(jìn)行調(diào)試。

source build/envsetup.sh
lunch sdk_phone_x86_64
make -j$(nproc --all)

成功后下載ASFP來(lái)輔助學(xué)習(xí)查看android源碼

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末剖煌,一起剝皮案震驚了整個(gè)濱河市材鹦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌耕姊,老刑警劉巖桶唐,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異茉兰,居然都是意外死亡尤泽,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)规脸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)坯约,“玉大人,你說(shuō)我怎么就攤上這事莫鸭∧重ぃ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵被因,是天一觀的道長(zhǎng)卿拴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)梨与,這世上最難降的妖魔是什么堕花? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮蛋欣,結(jié)果婚禮上航徙,老公的妹妹穿的比我還像新娘。我一直安慰自己陷虎,他們只是感情好到踏,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著尚猿,像睡著了一般窝稿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凿掂,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天伴榔,我揣著相機(jī)與錄音,去河邊找鬼庄萎。 笑死踪少,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的糠涛。 我是一名探鬼主播援奢,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼忍捡!你這毒婦竟也來(lái)了集漾?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤砸脊,失蹤者是張志新(化名)和其女友劉穎具篇,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體凌埂,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡驱显,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瞳抓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秒紧。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖挨下,靈堂內(nèi)的尸體忽然破棺而出熔恢,到底是詐尸還是另有隱情,我是刑警寧澤臭笆,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布叙淌,位于F島的核電站,受9級(jí)特大地震影響愁铺,放射性物質(zhì)發(fā)生泄漏鹰霍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一茵乱、第九天 我趴在偏房一處隱蔽的房頂上張望茂洒。 院中可真熱鬧,春花似錦瓶竭、人聲如沸督勺。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)智哀。三九已至次询,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瓷叫,已是汗流浹背屯吊。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留摹菠,地道東北人盒卸。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像次氨,于是被迫代替她去往敵國(guó)和親蔽介。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容