引言
AOSP(Android Open Source Project)是Android操作系統(tǒng)的開源項目,通過下載和編譯AOSP源碼,您可以獲得原始的Android系統(tǒng),并進行定制和開發(fā)。本教程將向您介紹如何下載AOSP源碼并進行編譯的步驟。
如何只是瀏覽查看AOSP源碼,則沒必要下載源碼,可以使用google提供的Code Search工具進行瀏覽查閱,這個工具用起來堪比IDE,并且非常流暢,但是訪問這個站點需要翻墻操作。
https://cs.android.com/
下載AOSP源碼之前,你需要具備一定的Linux基礎(chǔ)知識及git、repo等工具的使用經(jīng)驗。
準備工作
1.確保您的計算機符合以下要求:
?操作系統(tǒng):Linux(推薦使用Ubuntu)、macOS或Windows(需要使用WSL),官方文檔使用的Ubuntu LTS 版本中進行開發(fā)和測試,所以最好是在Ubuntu TLS版本環(huán)境下進行開發(fā)
?內(nèi)存:建議至少16GB RAM
?存儲空間:建議至少200GB可用空間,只下載源碼可能200G,如果需要編譯源碼則建議至少500G空間
2.安裝所需軟件:
?JDK(Java Development Kit):確保安裝JDK 8或更高版本。
?Git:用于從AOSP倉庫下載源代碼。
?Repo:用于管理多個Git倉庫的工具。
下載AOSP源碼
AOSP的代碼托管在Google的Git服務(wù)器上,但由于一些普遍已知的原因,國內(nèi)用戶無法直接訪問。為了方便快速地下載代碼,我們可以使用清華大學(xué)提供的鏡像源進行訪問。
使用清華鏡像源的方法很簡單,只需要訪問
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
網(wǎng)站即可獲取相關(guān)說明和使用方法。
1.創(chuàng)建一個工作目錄,用于存儲AOSP源代碼。打開終端或命令提示符窗口,并執(zhí)行以下命令:
mkdirAOSP cdAOSP
1.初始化Repo工具。執(zhí)行以下命令:
repoinit-uhttps://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest
這里會提示無法連接到 http://gerrit.googlesource.com,需要我們修改一下bash的環(huán)境變量,然后重新初始化倉庫。
$echo`exportREPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'`>>~/.bashrc $source~/.bashrc $repoinit-uhttps://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest
出現(xiàn)如下提示,說明倉庫初始化成功。
1.同步源碼。執(zhí)行以下命令:
reposync
1.等待源碼同步完成。這可能需要一段時間,取決于您的網(wǎng)絡(luò)連接和計算機性能。
配置編譯環(huán)境
1.進入AOSP源碼目錄。執(zhí)行以下命令:
cd
1.配置編譯環(huán)境。執(zhí)行以下命令:
sourcebuild/envsetup.sh
1.選擇目標設(shè)備。執(zhí)行以下命令:
lunch
1.在菜單中選擇目標設(shè)備的編號,并按Enter鍵確認。
開始編譯
1.執(zhí)行以下命令開始編譯整個AOSP源碼:
make-j
?
1.等待編譯完成。這可能需要幾個小時,取決于您的計算機性能。
步驟五:獲取編譯后的系統(tǒng)鏡像
1.編譯完成后,在AOSP源碼目錄中執(zhí)行以下命令以獲取系統(tǒng)鏡像:
cdout/target/product/ /
1.在該目錄下,您將找到生成的系統(tǒng)鏡像文件。
AOSP源碼查看
Code Search
前面說了,如果不涉及開發(fā)調(diào)試,只限閱讀源碼,那么直接訪問下面網(wǎng)址就夠了。這是Google為Android開發(fā)的Code Search在線工具,體驗堪比IDE。
https://cs.android.com/
Android Studio導(dǎo)入
如果需要在本地開發(fā)調(diào)試,那么使用AS導(dǎo)入源碼,執(zhí)行下面命令會在AOSP源碼根目錄下生成android.ipr、android.iml及android.iws三個文件,使用Android Studio導(dǎo)入android.ipr文件即可導(dǎo)入AOSP源碼。
$cd~/aosp $sourcebuild/envsetup.sh $mmmdevelopment/tools/idegen/ $development/tools/idegen/idegen.sh
另外,導(dǎo)入AOSP源碼體積龐大,你需要修改AS的jvm參數(shù)
另外Android Studio建議使用JetBrains的ToolBox進行管理,避免因為修改配置導(dǎo)致AS無法升級的問題。
aidegen工具
Google在Android11之后提供了aidegen工具,可以針對AOSP源碼的特點,針對某個模塊生成ide配置,這樣導(dǎo)入后可自動完成依賴配置,符號依賴可以隨意跳轉(zhuǎn)。
廠商AOSP
對于拿到了廠商AOSP源碼來說,編譯調(diào)試更容易了,一般廠商都提供了集成好的腳本,直接執(zhí)行腳本就可以執(zhí)行編譯打包能力,例如Rockchip、高通、MTK等都有集成好的腳本進行編譯打包。例如筆者在基于Rockchip平臺開發(fā)時,有build.sh腳本可調(diào)用:
#!/bin/bash usage() { echo"USAGE:[-U][-CK][-A][-p][-o][-u][-vVERSION_NAME]" echo"NoARGSmeansusedefaultbuildoption" echo"WHERE:-U=builduboot" echo"-C=buildkernelwithClang" echo"-K=buildkernel" echo"-A=buildandroid" echo"-p=willbuildpackaginginIMAGE" echo"-o=buildOTApackage" echo"-u=buildupdate.img" echo"-v=buildandroidwith'user'or'userdebug'" echo"-d=huildkerneldtsname" echo"-V=buildversion" echo"-J=buildjobs" echo"-B=buildABImage" exit1 }
例如,可執(zhí)行下面命令編譯android、kernel、boot及打出update.img包
./build.sh-UKAu
通過本教程,您學(xué)會了如何下載AOSP源碼并進行編譯?,F(xiàn)在,您可以根據(jù)需要進行自定義和開發(fā),定制您自己的Android系統(tǒng)。請注意,AOSP編譯過程可能需要一些時間和計算機資源,建議在充足的時間和性能條件下進行操作。
審核編輯:劉清
-
Android
+關(guān)注
關(guān)注
12文章
3935瀏覽量
127337 -
RAM
+關(guān)注
關(guān)注
8文章
1368瀏覽量
114640 -
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209322 -
AOSP
+關(guān)注
關(guān)注
0文章
16瀏覽量
6195
原文標題:Android Framework | AOSP源碼下載及編譯指南(基于Android13)
文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論