Apêndice A: trabalhar com RROs

As sobreposições de recursos de execução (RROs) podem ser enviadas para a pasta /vendor/overlays, que é lida automaticamente durante a inicialização, ou podem ser instaladas executando adb install. A segunda opção permite iterações mais rápidas. No entanto, isso pode fazer com que o mesmo RRO resida em dois locais (/vendor/overlays e /data/app).

Para enviar e reiniciar, execute:

$ 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 a instalação, execute:

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

Para confirmar se o RRO está disponível, execute:

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

Quando --- aparece ao lado do RRO recém-instalado, isso indica que o APK de destino não foi encontrado (verifique a declaração targetPackage no AndroidManifest.xml) ou que alguns dos recursos definidos no RRO não correspondem a nenhum recurso no destino.

Ativar e desativar RROs

Para ativar ou desativar uma RRO, execute o comando desejado:

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

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