Android aosp編譯和運行


1 環境准備

首先需要准備一台Linux服務器,筆者偏好CentOS,不過Google官方建議是Ubuntu;這里不具體列舉需要安裝的軟件。

2 源碼下載

2.1 repo工具

# mkdir ~/bin
# PATH=~/bin:$PATH
# curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
# chmod a+x ~/bin/repo

2.2 aosp下載

因為國內被牆的原因,通常會通過國內鏡像源的方式來下載(以11.0.0_r40版本為例)

2.2.1 直接下載

# repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-11.0.0_r40
# repo sync -j64

2.2.2 基礎包下載

# wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar
# tar xf aosp-latest.tar
# repo init -b android-11.0.0_r40
# repo sync -j64

3 編譯和運行

3.1 編譯

# cd aosp
# source build/envsetup.sh
# lunch aosp_car_x86_64-userdebug
# m

3.2 運行

這里是在編譯的服務器上直接運行,筆者嘗試過在Windows上來運行,但是不成功

# cd aosp
# source build/envsetup.sh
# lunch aosp_car_x86_64-userdebug
# emulator      // 運行模擬器
# adb emu kill  // 關閉模擬器

4 有用的信息

4.1 aosp版本號確認

# cat build/make/core/build_id.mk
BUILD_ID=RQ3A.210805.001.A1

然后參考<AOSP源代碼標記>找到對應的buildid即可知道具體aosp版本號

4.2 Android Studio查看aosp源碼

首先通過如下命令生成AS工程文件android.iml和android.ipr

# cd aosp
# source build/envsetup.sh
# lunch aosp_car_x86_64-userdebug
# mmm development/tools/idegen/
# development/tools/idegen/idegen.sh

由於aosp源碼量太大,可以通過修改android.iml中excludeFolder屬性來排除不關心的目錄(也可以在生成工程文件前通過修改development/tools/idegen/excluded-paths來實現)

最后通過AS打開android.ipr即可打開aosp工程來瀏覽源碼

參考:
<Android開發者Codelab>
<Tsinghua Android鏡像使用幫助>
<LineageOS Build for instantnoodle>
<使用Android Studio導入AOSP源碼的奇技淫巧>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM