【記錄】2021編譯Android源碼(aosp)+ pixel 3 燒錄運(yùn)行

參考: macOS 下載編譯 aosp 源碼
注意:編譯環(huán)境還是挺重要的,我用了另一臺(tái)mac (版本較新)去嘗試編譯(按上面的參考文章去解決問題),里面遇到的問題一 按同樣的步驟不行,換了另一臺(tái)電腦用同樣的步驟就可以, 看來系統(tǒng)版本不同,影響大啊,深究不了。沒啥辦法的話,可以嘗試一下linux方式去編譯吧各位

internal error: Could not find a supported mac sdk: [“10.10” “10.11” “10.12” “10.13”]
ninja: build stopped: subcommand failed.

其他文章鏈接:
repo reset: error: Entry 'command.py' not uptodate. Cannot merge

源碼版本支持查看
https://source.android.com/docs/setup/about/build-numbers?hl=zh-cn#source-code-tags-and-builds


正文要開始了!!

一、親測(cè)可行的編譯環(huán)境:
1.系統(tǒng):macOS Catalina 10.15.6
2.區(qū)分大小寫、日志式的磁盤 (這邊格式化了個(gè)移動(dòng)硬盤,用于裝源碼)
3.xcode:11.3.1(按參考文章把10.13 版本的sdk 下載下來用)
4.aosp 目標(biāo)編譯平臺(tái):android-9.0.0_r1
其余一些小細(xì)節(jié)的環(huán)境可以參考 上面提到的文章


image.png

二、下載源碼
以前也嘗試過下源碼去編譯,不過源碼都沒下載成功過,這次又來挑戰(zhàn)了,也是麻煩的要命,主要是沒找對(duì)文章,還好這次成功了!
國外的太難下了,建議下 清華大學(xué)的鏡像,參考:AOSP 鏡像使用幫助
0、安裝python3.7
1、下載repo 工具
2、在新文件夾下執(zhí)行以下命令

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-9.0.0_r1
repo sync
image.png

三、構(gòu)建源碼

source build/envsetup.sh
lunch
make -j4
image.png
image.png

image.png

運(yùn)行模擬器
如果剛剛編譯完,直接執(zhí)行 emulator 即可。否則需要重新執(zhí)行 source build/envsetup.sh; lunch aosp_x86-eng; 導(dǎo)入 emulator 命令。

emulator

四、遇到的問題
參考上面參考文章中提到的問題,
1、10.13 sdk 的問題,要下載源碼編譯所需 的對(duì)應(yīng)版本
2、libc++_static 庫被重復(fù)引入

五、真機(jī) pixel3 運(yùn)行
編譯出來肯定是想要在真機(jī)運(yùn)行看看 是不是真的沒問題的,實(shí)踐才是真理啊,就在閑魚買了臺(tái) 洋垃圾,pixel3 ,便宜能用就行
為啥買pixel 3 ?
1.便宜
2.aosp 上比較新的分支 支持編譯 pixel 3 (blueline)
3.因?yàn)橐芎煤眠\(yùn)行,需要相應(yīng)的驅(qū)動(dòng),pixel 的驅(qū)動(dòng),google 有提供下載,所以還是搞一臺(tái)來好好研究吧

步驟:
1、源碼中切換分支
Android 源碼分支,支持設(shè)備查詢
https://source.android.com/setup/start/build-numbers?hl=nb

repo init -b android-9.0.0_r11
repo sync

2、下載對(duì)應(yīng)驅(qū)動(dòng)
https://developers.google.com/android/drivers#blueline

image.png

下載兩個(gè)驅(qū)動(dòng)文件,并解壓到源碼目錄下運(yùn)行的到vender 文件夾
image.png

image.png

3、編譯

make clean
source build/envsetup.sh
lunch aosp_blueline-userdebug
make -j8

4、刷寫設(shè)備
設(shè)置環(huán)境變量 (另外解鎖oem,解鎖bl就不說了)
export ANDROID_PRODUCT_OUT=/Volumes/ziqstore/aosp_9/out/target/product/blueline
adb reboot bootloader
fastboot flashall -w

image.png

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容