OEM分区中的RRO封装

问题描述 投票:0回答:1

我的 rro 软件包当我将其放入系统或供应商分区时它可以工作,但是当我将其移至 OEM 分区时,该软件包会以

cmd overlay list
列出,但出现错误 NO_IDMAP。

你有什么想法吗?

非常感谢!

当包在供应商或系统中时我得到什么 `$ cmd 覆盖列表 com.xxx.x.partnerinterface [x] com.xxx.x.partnerinterface.rro

我的包在 OEM 分区时的输出 com.xxx.x.partnerinterface --- com.xxx.x.partnerinterface.rro

android android-source rro
1个回答
0
投票

我自己也只使用过供应商和系统覆盖,但这里有一些不同的想法:

  • 在覆盖 Android.mk 中,您是否使用
    LOCAL_OEM_MODULE
    而不是
    LOCAL_VENDOR_MODULE
    设置覆盖,如下所示:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_OEM_MODULE := true
LOCAL_CERTIFICATE := platform

LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res

LOCAL_PACKAGE_NAME := YourOverlay
LOCAL_SDK_VERSION := current

include $(BUILD_RRO_PACKAGE)
  • 确保APK在
    oem.img
    中,你是否像这样添加了包:
    PRODUCT_PACKAGES += \
        YourOverlay
  • 清单是什么样的,您希望它应用于哪些包?对于设置,可能类似于:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.settings.overlay.yours">
    <application android:hasCode="false"/>
    <overlay android:targetPackage="com.android.settings" android:isStatic="true" android:priority="600"/>
</manifest>
  • 使用包

    android
    作为框架本身。

  • 运行

    adb shell dumpsys overlay
    看看它是否出现在那里。

© www.soinside.com 2019 - 2024. All rights reserved.