macos pixel3的aosp下載、編譯及刷機

1,下載源碼

使用清華源下載

https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

注意代碼要放在大小寫敏感的磁盤中。

2,編譯aosp

進入aosp源碼目錄,執行:

source ./build/envsetup.sh

lunch

source命令是在當前bash環境下讀取并執行FileName中的命令。該filename文件可以無"執行權限",通常我們用“.”來代替。與./filename來執行相比,source是在當前shell進程中執行fliename中的命令,而不是打開一個子shell進程。所以該命令常用于環境初始化。

執行以上命令,會顯示可供編譯的版本。當然也可以不執行lunch,直接指定編譯版本。我這里使用:

lunch?pixel3_mainline-userdebug

這一步會有些耗時,完成后就可以正式編譯了:

make -jN

N是可選數字,用于多線程編譯。如果你的CPU是4核8線程,可以用make -8

遇到的坑

1,too many open files報錯

請見http://www.lxweimin.com/p/a31fefb67a40

2,OOM報錯

目前主線的aosp編譯需要至少16g內存,如果是8g內存就會有這個報錯。可以通過修改jvm配置和多次編譯來規避,但最一勞永逸的辦法還是升級內存

3,刷機環境配置

安裝android開發工具包:

brew cask install android-platform-tools

配置環境:

cd ~

touch .bash_profile

open .bash_profile

在里邊輸入:

PATH=${PATH}:/(platform-tools的文件夾路徑)

然后保存退出

安裝完之后,就可以在任意目錄使用adb和fastboot了

4,刷機

參考http://bbs.gfan.com/android-9204187-1-1.html?

解鎖bootloader

首先需要刷入Twrp及Root,參考網頁:

https://www.xzymoe.com/pixel-3xl-unlockbl-root/

正式刷機

首先要設置編譯的目錄,這個要根據自己的目錄情況設置:

export ANDROID_PRODUCT_OUT=/Volumes/android/aosp/out/target/product/pixel3_mainline

然后進行刷機,fastboot需要用root權限執行:

adb reboot bootloader
//解鎖(如已經解鎖就沒必要了)
fastboot oem unlock oem
fastboot flashall -w

燒寫完成后,執行:

fastboot reboot

單獨的刷機命令如下:

//進入recovery模式

# adb reboot bootloader

# fastboot flash system system.img

# fastboot flash persist persist.img

# fastboot flash cache cache.img

# fastboot flash userdata userdata.img

# fastboot flash boot boot.img

# fastboot flash recovery recovery.img

# fastboot reboot


原版ROM下載

https://developers.google.cn/android/drivers#sailfishnde63p

Gapps 安裝

編譯出來的 aosp 默認沒有 google 全家桶,可以通過以下方式進行安裝:

1,在 https://opengapps.org/ 根據系統版本、芯片類型選擇需要的 Gapps 全家桶,可以選 stock 版本

2,下載后把全家桶 push 到手機 sdcard(不用解壓)

3,在 https://twrp.me/devices/ 搜索你的設備,如: https://twrp.me/google/googlepixel2.html

4,下載 twrp.img 后根據截圖中的命令,把 twrp 加載到手機, 選擇 install 刷入 twrp.zip (這是一個 recovery 版本),重啟后,通過 adb reboot recovery 進入 twrp 的recovery 系統

5,在手機上選擇 install, 選擇步驟2中 push 到手機 sdcard 的全家桶,安裝結束后選擇擦除 dalvik cache 和 cache,重啟即可

源碼導入AS及調試

$ mmm development/tools/idegen/

$ sh ./development/tools/idegen/idegen.sh

第一行是,生成IDE工具文件,運行完將生成idegen.jar文件

第二行是,生成Android Studio配置文件,主要是生成android.iws, android.ipr, android.iml,這三個文件是Android?

Studio項目的關鍵文件,主要就是列出項目由模塊組成,依賴關系,目錄結構。

然后打開Android Studio,File->Open->工程根目錄android.ipr,Android會自動導入工程所有代碼,進行index

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。