Appendice A, lavoro con gli RRO

Gli overlay delle risorse di runtime (RRO) possono essere inviati alla cartella /vendor/overlays (che viene letta automaticamente durante l'avvio) o possono essere installati eseguendo adb install. Quest'ultimo consente un'iterazione più rapida. Tuttavia, questo può causare la presenza dello stesso RRO in due località (/vendor/overlays e /data/app).

Per il push e il riavvio, esegui:

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

Per l'installazione, esegui:

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

Per verificare che l'RRO sia disponibile, esegui:

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

Se accanto al RRO appena installato viene visualizzato ---, significa che l'APK di destinazione non è stato trovato (verifica la dichiarazione targetPackage nel tuo AndroidManifest.xml) o che alcune delle risorse definite nel RRO non corrispondono a nessuna risorsa nel target.

Attivare e disattivare gli RRO

Per attivare o disattivare un RRO, rispettivamente, esegui il comando desiderato:

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

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