Android 系統新增新專案及配置
1. build/envsetup.sh 使用時必須用 source 或者 . 執行,否則設定內容不會到當前bash環境。
2. envsetup.sh 指令碼會掃描 device 或者 vendor 目錄下的 vendorsetup.sh 檔案;
所以新增新專案必須在這兩個目錄中執行,當前也可以放到其他目錄,然後做個link到這兩個目錄。
建立新專案需要的檔案:
1. vendorsetup.sh 裡面填寫如下內容:
add_lunch_combo newproj-user
add_lunch_combo newproj-userdebug
add_lunch_combo newproj-eng
2. 建立 newproj.mk 檔案:
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
include device/xxxx/newproj/BoardConfig.mk
$(call inherit-product, device/xxxx/newproj/device.mk)
PRODUCT_CHARACTERISTICS := tablet
PRODUCT_NAME := newproj
PRODUCT_DEVICE := newproj
PRODUCT_BRAND := Android
PRODUCT_MODEL := mt6595
PRODUCT_MANUFACTURER := rockchip
# Get the long list of APNs
PRODUCT_COPY_FILES += vendor/xxxx/yyyy/zzzz.xml
PRODUCT_PROPERTY_OVERRIDES += \
ro.product.version = 1.0.0
PRODUCT_LOCALES := zh_CN en_US
3. 建立 AndroidProducts.mk 檔案,指向剛建立的檔案:
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/newproj.mk
4. 建立BoardConfig.mk, device.mk等硬體配置相關檔案:
完成。
然後再自己的工程目錄下可以建立 overlay 目錄用於過載系統設定。
在 BoardConfig.mk檔案中新增:
PRODUCT_PACKAGE_OVERLAYS += device/xxxx/newproj/overlay