Annexe A : Travailler avec les SRO

Les superpositions de ressources d'exécution (RRO) peuvent être transférées vers le dossier /vendor/overlays (qui est lu automatiquement au démarrage) ou installées en exécutant adb install. Ce dernier permet une itération plus rapide. Toutefois, cela peut entraîner la présence du même RRO dans deux emplacements (/vendor/overlays et /data/app).

Pour effectuer un push et un redémarrage, exécutez la commande suivante:

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

Pour l'installation, exécutez la commande suivante:

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

Pour vérifier que le RRO est disponible, exécutez la commande suivante:

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

Lorsque --- s'affiche à côté du RRO nouvellement installé, cela signifie que l'APK cible n'a pas été trouvé (vérifiez la déclaration targetPackage sur votre AndroidManifest.xml) ou que certaines des ressources définies dans le RRO ne correspondent à aucune ressource de la cible.

Activer et désactiver les RRO

Pour activer ou désactiver une opération de longue durée, exécutez la commande souhaitée:

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

  • Désactiver:
    adb shell cmd overlay disable --user current <rro-package-name>