以下是 Android 構建系統中常見的用于產品配置、資源復制和構建規則的變量
1. PRODUCT_COPY_FILES
- 作用:指定需要從源碼樹復制到鏡像的文件。
- 示例:
PRODUCT_COPY_FILES += \device/manufacturer/device_name/file.conf:$(TARGET_COPY_OUT_VENDOR)/etc/file.conf
2. PRODUCT_PACKAGES
- 作用:定義需要打包進系統鏡像的應用程序或模塊(如 APK、可執行文件、庫等)。
- 示例:
PRODUCT_PACKAGES += \Camera2 \Contacts \libexample
3. PRODUCT_PROPERTY_OVERRIDES
- 作用:覆蓋系統屬性值,通常用于設置設備特定的系統行為。
- 示例:
PRODUCT_PROPERTY_OVERRIDES += \ro.product.model=MyDevice \dalvik.vm.heapsize=256m
4. PRODUCT_DEFAULT_PROPERTY_OVERRIDES
- 作用:設置默認的系統屬性,優先級低于
PRODUCT_PROPERTY_OVERRIDES
。 - 示例:
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ro.adb.secure=1
5. PRODUCT_TAGS
- 作用:為產品添加標簽,用于控制某些功能是否啟用。
- 示例:
PRODUCT_TAGS += dalvik.gc.type-precise
6. PRODUCT_LOCALES
- 作用:定義支持的語言和地區設置。
- 示例:
PRODUCT_LOCALES := en_US zh_CN
7. PRODUCT_AAPT_CONFIG
- 作用:指定 AAPT 工具在打包資源時使用的資源配置。
- 示例:
PRODUCT_AAPT_CONFIG := normal large xlarge
8. PRODUCT_AAPT_PREF_CONFIG
- 作用:指定首選的資源配置(如屏幕密度)。
- 示例:
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
9. PRODUCT_BOOT_JARS
- 作用:定義在啟動過程中加載的 Java 庫(JAR 文件)。
- 示例:
PRODUCT_BOOT_JARS += \framework \ext
10. PRODUCT_SYSTEM_SERVER_JARS
- 作用:定義系統服務所需的 JAR 文件。
- 示例:
PRODUCT_SYSTEM_SERVER_JARS += services
11. PRODUCT_USES_LIBCXX
- 作用:指定是否使用 libc++ 而不是 libstdc++。
- 示例:
PRODUCT_USES_LIBCXX := true
12. PRODUCT_CHARACTERISTICS
- 作用:定義設備的特性(如手機、平板、電視等)。
- 示例:
PRODUCT_CHARACTERISTICS := phone
13. PRODUCT_COPY_FILES_SKIP_STRIP
- 作用:指定不需要 strip 的文件列表。
- 示例:
PRODUCT_COPY_FILES_SKIP_STRIP += \system/bin/example_binary
14. PRODUCT_EXTRA_RECOVERY_KEYS
- 作用:為 Recovery 添加額外的信任密鑰。
- 示例:
PRODUCT_EXTRA_RECOVERY_KEYS += \key1 \key2
15. PRODUCT_GMS_CLIENTID_BASE
- 作用:定義 GMS 客戶端 ID 的基礎字符串。
- 示例:
PRODUCT_GMS_CLIENTID_BASE := android-google
16. PRODUCT_MANUFACTURER
- 作用:定義設備制造商名稱。
- 示例:
PRODUCT_MANUFACTURER := MyCompany
17. PRODUCT_MODEL
- 作用:定義設備型號名稱。
- 示例:
PRODUCT_MODEL := MyDeviceModel
18. PRODUCT_NAME
- 作用:定義產品的名稱。
- 示例:
PRODUCT_NAME := my_product
19. PRODUCT_DEVICE
- 作用:定義設備的硬件名稱。
- 示例:
PRODUCT_DEVICE := my_device
20. PRODUCT_BRAND
- 作用:定義設備的品牌名稱。
- 示例:
PRODUCT_BRAND := MyBrand
這些變量共同構成了 Android 構建系統中的產品配置體系。