日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Makefile编译流程

發布時間:2025/3/21 Android 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Makefile编译流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

★★★ 友情鏈接 : 個人博客導讀首頁—點擊此處 ★★★

1、整編譯
當中android根目錄下敲擊make時候,根目錄下的Makefile就一句話include build/core/main.mk,即調用main.mk,以下為main.mk的依賴規則

2、模塊編譯
模塊編譯依賴各個模塊目標。

3、recovery.img

(1)在TARGET_NO_RECOVERY=false,TARGET_NO_KERNEL=false時候
INSTALLED_RECOVERYIMAGE_TARGET := $(PRODUCT_OUT)/recovery.img
依賴關系如下,則會生成revovery.img

(2)在AB分區功能打開,即TARGET_NO_KERNEL=true時,INSTALLED_RECOVERYIMAGE_TARGET等于空,則后面的依賴關系不復存在,也就不會生成revovery.img了

4、boot.img
.PHONY: bootimage
bootimage: $(INSTALLED_BOOTIMAGE_TARGET)
INSTALLED_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img
(1)無AB分區功能時的boot.img的依賴規則如下

(2)啟用AB分區時候,BOARD_USES_RECOVERY_AS_BOOT=true,此時的依賴規則變成如下:

可以看出,此時boot.img的生成規則,與無AB分區時生成revovery.img時候的規則一樣。即現在的boot.img就是以前的recovery.img

5、system.img
system.img的依賴關系

build-systemimage-target函數最終調用到build_image.py用戶創建鏡像

此前boot.img里面的ramdisk是recovery系統的recovery ramdisk,那之前boot.img里的ramdisk呢?系統如何來掛著system分區的呢??? 看下面代碼,可知,原boot.img里的ramdisk挪到system.img里面了。
build_image.py 調用了BuildImage函數
BuildImage函數部分內容如下:


6、userdateimage

7、cache.img
啟用AB分區時候,BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE 沒有定義,這里條件不能滿足,所以不會生成cache.img

8、vendor.img
和BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE宏是否定義相關。

9、有關AB分區的總結如下:
recovery.img,不再單獨生成,傳統方式的recovery.img現在叫做boot.img
boot.img,包含kernel和recovery模式的ramdisk
system.img,傳統方式下system.img由(PRODUCTOUT)/system文件夾打包而成,A/B系統下,制作時將(PRODUCT_OUT)/system文件夾打包而成,A/B系統下,制作時將(PRODUCTO?UT)/systemA/B(PRODUCT_OUT)/root和(PRODUCTOUT)/system合并到一起,生成一個完整的帶有rootfs的system.imguserdata.img,跟原來一樣,打包(PRODUCT_OUT)/system合并到一起,生成一個完整的帶有rootfs的system.img userdata.img,跟原來一樣,打包(PRODUCTO?UT)/systemrootfssystem.imguserdata.img(PRODUCT_OUT)/data文件夾而成
cache.img,A/B系統下不再單獨生成cache.img
vendor.img,文件的生成跟是否A/B系統無關,主要有廠家決定

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Android Makefile编译流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。