01 Android系統(tǒng)之添加Product

      網(wǎng)友投稿 1324 2025-03-31

      理解概念

      1、Product

      在android源碼正式編譯之前選擇Product,使用lunch product-xxx,這一步操作理解為預(yù)先對(duì)要編譯的源碼進(jìn)行一系列的配置。在android-10的源碼中,將一個(gè)Product配置分成三個(gè)部分:

      BoardConfig.mk: 芯片硬件相關(guān)配置,分區(qū)設(shè)置等

      product.mk: 一個(gè)產(chǎn)品的軟件相關(guān)的配置,比如內(nèi)置哪些軟件模塊,由AndroidProducts.mk 中的PRODUCT_MAKEFILES指定

      AndroidProducts.mk: 指定 product 配置,并把 product 添加到 lunch 選擇項(xiàng)中

      2、組織結(jié)構(gòu)

      Google為AOSP源碼內(nèi)置了Product配置,位于源碼的build/target目錄:

      hinzer@ubuntu:target$ pwd /home/hinzer/source/android-10/build/target hinzer@ubuntu:target$ tree -L 1 . ├── board ├── OWNERS └── product 2 directories, 1 file

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      同時(shí)也允許第三方定制Product配置,在源碼device目錄下。待會(huì)自定義Product在這個(gè)目錄下:

      hinzer@ubuntu:device$ tree mi mi # 公司名 └── pure # device名(我喜歡寫為Product,與product區(qū)分),一個(gè)device可對(duì)應(yīng)多個(gè)product ├── AndroidProducts.mk # 指定product配置,添加lunch選項(xiàng) ├── BoardConfig.mk # 硬件配置 boardconfig └── product01.mk # 軟件配置 product 1 directory, 3 files

      01 Android系統(tǒng)之添加Product

      1

      2

      3

      4

      5

      6

      7

      8

      自定義product

      模仿aosp源碼的Product配置,就引用了build/target/board/generic_x86_64/BoardConfig.mk和build/target/board/generic_x86_64/BoardConfig.mk的配置。然后進(jìn)行自定義

      1、創(chuàng)建device/[company]/[device]目錄

      hinzer@ubuntu:android-10$ mkdir -p ./device/mi/pure

      1

      2、分別添加AndroidProducts.mk、product.mk、BoardConfig.mk配置文件

      hinzer@ubuntu:pure$ ls AndroidProducts.mk BoardConfig.mk product01.mk # 1.添加 AndroidProducts.mk hinzer@ubuntu:pure$ cat AndroidProducts.mk PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/product01.mk # 指定 product COMMON_LUNCH_CHOICES := \ product01-eng # 添加lunch選項(xiàng) # 2.添加 BoardConfig.mk hinzer@ubuntu:pure$ cat BoardConfig.mk include $(SRC_TARGET_DIR)/board/generic_x86_64/BoardConfig.mk # 這里直接飲用 # 3.添加 product01.mk hinzer@ubuntu:pure$ cat product01.mk $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_x86_64.mk) PRODUCT_NAME := product01 # product名(與文件保持一致) PRODUCT_DEVICE := pure # device名,BoardConfig.mk相關(guān)

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      3、lunch剛才創(chuàng)建的product,編譯

      hinzer@ubuntu:android-10$ source ./build/envsetup.sh hinzer@ubuntu:android-10$ lunch product01-eng hinzer@ubuntu:android-10$ make -j4

      1

      2

      3

      4、驗(yàn)證

      # 運(yùn)行虛擬機(jī) hinzer@ubuntu:android-10$ emulator # 查看手機(jī)version信息,編譯時(shí)間、產(chǎn)品名是否對(duì)應(yīng)

      1

      2

      理論補(bǔ)充

      1、build variants

      aosp為build系統(tǒng)提供三種Product配置,文檔里叫做build variants,分別是:

      eng : 對(duì)應(yīng)到工程版。編譯打包所有模塊。表示adbd處于ROOT狀態(tài),所有調(diào)試開關(guān)打開

      userdebug : 對(duì)應(yīng)到用戶調(diào)試版。打開調(diào)試開關(guān),但并沒(méi)有放開ROOT權(quán)限

      user : 對(duì)應(yīng)到用戶版。關(guān)閉調(diào)試開關(guān),關(guān)閉ROOT權(quán)限。最終發(fā)布到用戶手上的版本,通常都是user版。

      參考資料

      AOSP開發(fā)文檔 - 添加新設(shè)備

      Android系統(tǒng)開發(fā)入門-2.添加product

      Android

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:生產(chǎn)制造成本與利潤(rùn)的區(qū)別(生產(chǎn)制造成本與利潤(rùn)的區(qū)別與聯(lián)系)
      下一篇:小家伙大智慧
      相關(guān)文章
      亚洲综合色婷婷在线观看| 亚洲自偷自偷精品| 久久亚洲精品成人av无码网站 | 亚洲AV性色在线观看| 亚洲美女自拍视频| 日产亚洲一区二区三区| 亚洲A∨无码无在线观看| 精品国产亚洲一区二区三区| 日韩精品亚洲aⅴ在线影院| 亚洲成A人片在线观看无码3D | 国产精品亚洲片在线观看不卡| 三上悠亚亚洲一区高清| 毛茸茸bbw亚洲人| 久久精品国产亚洲5555| 亚洲精品NV久久久久久久久久| 国产AV日韩A∨亚洲AV电影| 国产成人亚洲综合无| 男人的天堂亚洲一区二区三区 | 国产成人亚洲精品无码AV大片| 亚洲色丰满少妇高潮18p| 亚洲综合中文字幕无线码| 狠狠色伊人亚洲综合网站色| 亚洲一级毛片在线播放| www.亚洲成在线| 麻豆狠色伊人亚洲综合网站| 亚洲综合一区国产精品| 亚洲人成电影网站免费| 亚洲国产无线乱码在线观看| 亚洲av中文无码字幕色不卡| 色欲aⅴ亚洲情无码AV蜜桃| 无码一区二区三区亚洲人妻| 亚洲阿v天堂在线2017免费| 亚洲国产成人影院播放| 久久久久亚洲AV成人网| 国产亚洲AV无码AV男人的天堂| 亚洲va中文字幕无码久久 | 久久久久亚洲爆乳少妇无| 亚洲尤码不卡AV麻豆| 亚洲国产一区在线| 亚洲精品不卡视频| 国产成人精品日本亚洲专一区|