Anhang A, Arbeit mit RROs

Laufzeitressourcen-Overlays (RROs) können entweder in den Ordner /vendor/overlays verschoben werden (der beim Booten automatisch gelesen wird) oder durch Ausführen adb install installiert werden. Letzteres ermöglicht eine schnellere Iteration. Dies kann jedoch dazu führen, dass sich dasselbe RRO an zwei Standorten befindet ( /vendor/overlays und /data/app ).

Führen Sie zum Pushen und Neustarten Folgendes aus:

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

Führen Sie zur Installation Folgendes aus:

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

Um zu bestätigen, dass das RRO verfügbar ist, führen Sie Folgendes aus:

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

Wenn --- neben dem neu installierten RRO angezeigt wird, bedeutet dies, dass das Ziel-APK entweder nicht gefunden wurde (überprüfen Sie die targetPackage Deklaration in Ihrer AndroidManifest.xml noch einmal) oder dass einige der im RRO definierten Ressourcen mit keinem übereinstimmen Ressourcen im Ziel.

RROs aktivieren und deaktivieren

Um ein RRO zu aktivieren bzw. zu deaktivieren, führen Sie den gewünschten Befehl aus:

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

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