以下是 Android 构建系统中常见的用于产品配置、资源复制和构建规则的变量
1. PRODUCT_COPY_FILES
-
作用:指定需要从源码树复制到镜像的文件。
-
示例 :
makefilePRODUCT_COPY_FILES += \ device/manufacturer/device_name/file.conf:$(TARGET_COPY_OUT_VENDOR)/etc/file.conf
2. PRODUCT_PACKAGES
-
作用:定义需要打包进系统镜像的应用程序或模块(如 APK、可执行文件、库等)。
-
示例 :
makefilePRODUCT_PACKAGES += \ Camera2 \ Contacts \ libexample
3. PRODUCT_PROPERTY_OVERRIDES
-
作用:覆盖系统属性值,通常用于设置设备特定的系统行为。
-
示例 :
makefilePRODUCT_PROPERTY_OVERRIDES += \ ro.product.model=MyDevice \ dalvik.vm.heapsize=256m
4. PRODUCT_DEFAULT_PROPERTY_OVERRIDES
-
作用 :设置默认的系统属性,优先级低于
PRODUCT_PROPERTY_OVERRIDES
。 -
示例 :
makefilePRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ ro.adb.secure=1
5. PRODUCT_TAGS
-
作用:为产品添加标签,用于控制某些功能是否启用。
-
示例 :
makefilePRODUCT_TAGS += dalvik.gc.type-precise
6. PRODUCT_LOCALES
-
作用:定义支持的语言和地区设置。
-
示例 :
makefilePRODUCT_LOCALES := en_US zh_CN
7. PRODUCT_AAPT_CONFIG
-
作用:指定 AAPT 工具在打包资源时使用的资源配置。
-
示例 :
makefilePRODUCT_AAPT_CONFIG := normal large xlarge
8. PRODUCT_AAPT_PREF_CONFIG
-
作用:指定首选的资源配置(如屏幕密度)。
-
示例 :
makefilePRODUCT_AAPT_PREF_CONFIG := xxhdpi
9. PRODUCT_BOOT_JARS
-
作用:定义在启动过程中加载的 Java 库(JAR 文件)。
-
示例 :
makefilePRODUCT_BOOT_JARS += \ framework \ ext
10. PRODUCT_SYSTEM_SERVER_JARS
-
作用:定义系统服务所需的 JAR 文件。
-
示例 :
makefilePRODUCT_SYSTEM_SERVER_JARS += services
11. PRODUCT_USES_LIBCXX
-
作用:指定是否使用 libc++ 而不是 libstdc++。
-
示例 :
makefilePRODUCT_USES_LIBCXX := true
12. PRODUCT_CHARACTERISTICS
-
作用:定义设备的特性(如手机、平板、电视等)。
-
示例 :
makefilePRODUCT_CHARACTERISTICS := phone
13. PRODUCT_COPY_FILES_SKIP_STRIP
-
作用:指定不需要 strip 的文件列表。
-
示例 :
makefilePRODUCT_COPY_FILES_SKIP_STRIP += \ system/bin/example_binary
14. PRODUCT_EXTRA_RECOVERY_KEYS
-
作用:为 Recovery 添加额外的信任密钥。
-
示例 :
makefilePRODUCT_EXTRA_RECOVERY_KEYS += \ key1 \ key2
15. PRODUCT_GMS_CLIENTID_BASE
-
作用:定义 GMS 客户端 ID 的基础字符串。
-
示例 :
makefilePRODUCT_GMS_CLIENTID_BASE := android-google
16. PRODUCT_MANUFACTURER
-
作用:定义设备制造商名称。
-
示例 :
makefilePRODUCT_MANUFACTURER := MyCompany
17. PRODUCT_MODEL
-
作用:定义设备型号名称。
-
示例 :
makefilePRODUCT_MODEL := MyDeviceModel
18. PRODUCT_NAME
-
作用:定义产品的名称。
-
示例 :
makefilePRODUCT_NAME := my_product
19. PRODUCT_DEVICE
-
作用:定义设备的硬件名称。
-
示例 :
makefilePRODUCT_DEVICE := my_device
20. PRODUCT_BRAND
-
作用:定义设备的品牌名称。
-
示例 :
makefilePRODUCT_BRAND := MyBrand
这些变量共同构成了 Android 构建系统中的产品配置体系。