以下是 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 构建系统中的产品配置体系。