Apéndice A: Cómo trabajar con RRO

Las superposiciones de recursos de tiempo de ejecución (RRO) se pueden enviar a la carpeta /vendor/overlays (que se lee automáticamente durante el inicio) o se pueden instalar ejecutando adb install. La última permite una iteración más rápida. Sin embargo, esto puede hacer que el mismo RRO resida en dos ubicaciones (/vendor/overlays y /data/app).

Para enviar y reiniciar, ejecuta lo siguiente:

$ adb root
$ adb remount
$ adb shell mkdir /vendor/overlay/<overlay-name>
$ adb push <path-to-overlay.apk-file> /vendor/overlay/<overlay-name>
$ adb reboot

Para la instalación, ejecuta el siguiente comando:

$ adb install <path-to-overlay.apk-file>

Para confirmar que el RRO está disponible, ejecuta el siguiente comando:

$ adb shell cmd overlay list --user current
    android
    [ ] com.android.sample_rro
    com.android.sample.targetapp
    [ ] com.android.sample.targetapp_rro

Cuando se muestra --- junto al RRO recién instalado, esto indica que no se encontró el APK de destino (revisa la declaración de targetPackage en tu AndroidManifest.xml) o que algunos de los recursos definidos en el RRO no coinciden con ningún recurso del destino.

Habilita y habilita los RRO

Para habilitar o inhabilitar una RRO, respectivamente, ejecuta el comando deseado:

  • Habilitar:
    adb shell cmd overlay enable --user current <rro-package-name>

  • Inhabilitar:
    adb shell cmd overlay disable --user current <rro-package-name>