直接看一下device.mk文件:
device/rockchip/common/device.mk
PRODUCT_ENFORCE_RRO_TARGETS += framework-res
一、修改策略
1.移除 PRODUCT_ENFORCE_RRO_TARGETS += framework-res,仍然使用SRO进行编译,移除后出现报错
out/target/product/H6000/obj/APPS/framework-res_intermediates/flat-res/device/rockchip/common/overlay/telephony/frameworks/base/core/res/res/values-mcc310-mnc260_strings.arsc.flat: error: resource array/wfcOperatorErrorCodes does not override an existing resource.
out/target/product/H6000/obj/APPS/framework-res_intermediates/flat-res/device/rockchip/common/overlay/telephony/frameworks/base/core/res/res/values-mcc310-mnc260_strings.arsc.flat: note: define an <add-resource> tag or use --auto-add-overlay.
error: failed parsing overlays.
从报错信息可以知道,缺少了–auto-add-overlay,于是加上
于是查看了下N版本上framework-res的Android.mk配置,对比发现缺少 -x 这个aapt flag
总结:修改如下:
//文件device/rockchip/common/device.mk
diff --git a/device/rockchip/common/device.mk b/device/rockchip/common/device.mk
index 8fb4086..d3ad649 100644
--- a/device/rockchip/common/device.mk
+++ b/device/rockchip/common/device.mk
@@ -3347,7 +3347,7 @@ ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
DEVICE_PACKAGE_OVERLAYS += device/rockchip/common/overlay/wifitethering_channel
endif
//修改位置
-PRODUCT_ENFORCE_RRO_TARGETS += framework-res
+#PRODUCT_ENFORCE_RRO_TARGETS += framework-res
# Add vendor minijail policy for mediacodec service for Android O
PRODUCT_COPY_FILES += device/rockchip/common/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy:mtk
//文件frameworks/base/core/res/Android.mk
diff --git a/frameworks/base/core/res/Android.mk b/frameworks/base/core/res/Android.mk
index b066929..43c7f96 100644
--- a/frameworks/base/core/res/Android.mk
+++ b/frameworks/base/core/res/Android.mk
@@ -28,7 +28,8 @@ LOCAL_AAPT_FLAGS += --private-symbols com.android.internal
# Framework doesn't need versioning since it IS the platform.
//修改位置
-LOCAL_AAPT_FLAGS += --no-auto-version
+LOCAL_AAPT_FLAGS += --auto-add-overlay
+LOCAL_AAPT_FLAGS += -x
# Install this alongside the libraries.
LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES)