如何为 AOSP 配置各种 PRODUCT_AAPT_ 属性?

How to configure the various PRODUCT_AAPT_ properties for AOSP?

我正在寻找以下 AOSP 构建属性的解释、有效值是什么以及它们如何影响构建和任何相关属性。我知道系统 属性 ro.sf.lcd_density 但我在任何地方都找不到关于这些的任何官方文档:

PRODUCT_AAPT_CONFIG
PRODUCT_AAPT_PREF_CONFIG
PRODUCT_AAPT_PREBUILT_DPI

这是我的经验,可能不应该是公认的答案,因为我不确定我是否了解全部情况。

PRODUCT_AAPT_PREF_CONFIG:"preferred" 资源限定符。这应该是 PRODUCT_AAPT_CONFIG.

中的条目之一

PRODUCT_AAPT_CONFIG:资源限定符的有序列表。如果首选资源限定符不存在,这将作为后备。

PRODUCT_LOCALES:将包含的语言环境列表。无论出于何种原因,语言环境都是资源限定符的特例。

在我的例子中,我使用了这个:

PRODUCT_AAPT_CONFIG := large xlarge mdpi tvdpi hdpi
PRODUCT_AAPT_PREF_CONFIG := hdpi
PRODUCT_LOCALES := en_US en_GB en_IE de_DE pl_PL pt_BR es_US

我们的设备是 TVDPI,但由于通常没有特定于 TVDPI 的资源,我选择了下一个尺寸作为首选 (HDPI)。我包括 "large xlarge mdpi tvdpi hdpi" 以允许在没有 HDPI 资源的情况下进行回退。