中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android添加項目編譯.

發布時間:2020-07-03 09:00:47 來源:網絡 閱讀:2168 作者:AmosTsang 欄目:移動開發

一.產品配置文件

[由底層向上構建順序: 芯片架構層 -> 核心板層 -> 設備層 -> 產品層]      

  1. 芯片架構層: 產品使用的硬件架構,ARM X86等.

  2. 核心主板層: 硬件電路的核心板配置

  3. 設備層: 外圍設備的配置, 鍵盤,鼠標, 外接設備等.

  4. 產品層: 最終系統生成需要的配置, 支持(默認)的國家語言, 是否攝像頭, sensor等.
    [我們只需要配置產品層就行了.]

二.如何把產品加入編譯

1.vendorsetup.sh,這個文件用來統計這個基線所有的產品[型號] (下面以虛擬產品型號:c123)在源碼/device/c123/下,新建vendorsetup.sh,里面添加”add_lunch_combo c123[產品名稱]”,這個vendorsetup.sh文件將會在 envsetup.sh[build/下]中掃描device和vendor這兩個文件:

# Execute the contents of any vendorsetup.sh files we can find.
for f in `test -d device && find -L device -maxdepth 4 -name 'vendorsetup.sh' 2> /dev/null | sort` \
`test -d vendor && find -L vendor -maxdepth 4 -name 'vendorsetup.sh' 2> /dev/null | sort`
do    
    echo "including $f"
    . $f
done
unset f

2.AndroidProducts.mk,這個存放在具體產品文件下[device/c123/],用來定義產品的一些配置信息.一般只用來做一個'重定向':

PRODUCT_MAKEFILES := \
    $(LOCAL_DIR)/c123.mk1212

3.在device/c123/下新建名稱為c123.mk[就是AndroidProducts.mk的重定向文件]這個文件通常會配置一些手機需要的文件信息,如media,audio等xml文件,GMS包,jar引入,產品信息的命名等,也可以將一些需要拷貝到手機里面的文件放在這里:

# media_profiles and media_codecs 
PRODUCT_COPY_FILES += device/c123/media/media_profiles.xml:system/etc/media_profiles.xml \
                      device/c123/media/media_codecs.xml:system/etc/media_codecs.xml \
...
PRODUCT_NAME := 產品名稱[設置 - 關于設備]
PRODUCT_DEVICE := 設備名稱
PRODUCT_BRAND := 手機品牌
PRODUCT_MODEL := 產品型號
...

4.BoardConfig.mk,主要是配置使用什么架構,調整分區,設置分區大小等.也是在device/c123/目錄下.

TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
TARGET_CPU_ABI := arm64-v8a
...
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 分區大小[單位是bit]
BOARD_USERDATAIMAGE_PARTITION_SIZE := 分區大小[單位是bit]

基本以上文件都是放在項目文件下的,在源碼根目錄執行 ‘source build/envsetup.sh’ 的時候會自動把這些文件加載進行,然后 ‘choosecombo’ 選擇添加的項目名,然后執行 ‘make’ 就會編譯那個項目了.
關于Android.mk這個文件是一個android編譯單個目標的makefile.基本上源碼里面每個apk生成以及farmework很多編譯都需要這個文件.
  
注:源碼是Android 6.0.[此文章本人于在CSDN發表過.]

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通辽市| 田东县| 磴口县| 麦盖提县| 张家川| 汉寿县| 庆云县| 洛阳市| 新竹市| 江安县| 静安区| 肃宁县| 垫江县| 勃利县| 班戈县| 衡水市| 嘉祥县| 军事| 肇源县| 神农架林区| 湟中县| 潜山县| 秭归县| 泸西县| 镇原县| 永仁县| 江孜县| 梓潼县| 马山县| 潜江市| 阳春市| 聊城市| 伊金霍洛旗| 锡林郭勒盟| 改则县| 赫章县| 唐河县| 寿阳县| 澄迈县| 三门县| 沈丘县|