是从SystemUI copy到overlay 是吧?发现 SystemUI 有一个新的文件夹,而overlay 没有,就报错了?
10-21 16:22:52.013 28008 28009 W idmap2d : failed to parse idmap header of '/data/resource-cache/vendor@overlay@SystemUIResOverlay@SystemUIResOverlay.apk@idmap'
10-21 16:22:52.015 28008 28009 E idmap2d : failed to retrieve loaded package at index 0 -> failed to generate resource map for '/vendor/overlay/SystemUIResOverlay/SystemUIResOverlay.apk'
SystemUI 新增了资源文件 比如res/drawable-land/ic.png
那么在对应的新建 SystemUIResOverlay/res/drawable-land/
当 Android 系统加载 overlay(RRO)时,idmap2 会做以下事情:
res/drawable/)在 overlay 中不存在:
drawable/。
res/drawable-land/):
drawable-land/ 目录
mkdir -p res/drawable-land
echo '<resources></resources>' > res/values/empty.xml类型 | overlay 是否必需占位 | 原因 |
|---|---|---|
老目录(SystemUI 原有) | 否 | 系统默认用原资源,不需要 overlay 占位 |
新目录(SystemUI 新增) | 是 | idmap2 需要 overlay 有目录占位,否则无法生成映射表 → 报错 |
一句话理解:overlay 是差异包,老字段可以缺,新字段必须占位。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。