RRO package in OEM partition

70 Views Asked by At

My rro package when I put it in system or vendor partition it works, but when I moved it in OEM partition the package is listed with cmd overlay list but with an error NO_IDMAP.

Do you have any idea ?

Thanks a lot!

What I got when package is in vendor or system `$ cmd overlay list com.xxx.x.partnerinterface [x] com.xxx.x.partnerinterface.rro

The output when my package is in OEM partition com.xxx.x.partnerinterface --- com.xxx.x.partnerinterface.rro

1

There are 1 best solutions below

1
On

I've also only used vendor and system overlays myself, but here are some various ideas:

  • In the overlay Android.mk did you setup the overlay using LOCAL_OEM_MODULE instead of LOCAL_VENDOR_MODULE like so:
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)
  • Make sure the APK is in the oem.img, did you add the package like so:
    PRODUCT_PACKAGES += \
        YourOverlay
  • What does the manifest look like, and what packages did you want it to apply to? For settings it might be something like:
<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>
  • Use package android for the frameworks itself.

  • Run adb shell dumpsys overlay to see if it shows up there.