用framework-res.apk覆盖编译方式由RRO替换为SRO

 

直接看一下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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值