RRO Permission

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.rroapp">

    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />

    <!-- ... rest of your manifest ... -->

</manifest>

RRO is a system level application and as such does not require any special permission.

  1. This permission allows an app to change the device's configuration, which includes applying overlays.

android.permission.CHANGE_CONFIGURATION
  1. This is needed if you're applying overlays across different user profiles.

android.permission.INTERACT_ACROSS_USERS
  1. System or Privileged App Status: While not a permission per se, RROs typically need to be:

    • Installed as system apps (in /system/app or /system/priv-app)

    • Or, signed with the platform certificate


Key Differences from Fabricated RROs:

  • RROs are typically easier to create and manage as they are packaged as regular APKs.

  • They don't require the CHANGE_OVERLAY_PACKAGES permission that Fabricated RROs need.

  • RROs can sometimes be installed by users (on some custom ROMs or rooted devices), whereas Fabricated RROs are strictly system-level.

Important Notes:

  1. Regular third-party apps from the Play Store generally cannot create or manage RROs due to these system-level requirements.

  2. On many stock Android devices, only pre-installed RROs or those signed with the platform certificate can be enabled.

  3. Some custom ROMs or rooted devices might allow user-installed RROs, but this is not standard behavior.

Last updated