Anhang A: Mit RROs arbeiten

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

Führen Sie zum Pushen und Neustarten folgenden Befehl 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 für die Installation Folgendes aus:

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

Führen Sie diesen Befehl aus, um zu prüfen, ob die RRO verfügbar ist:

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

Wenn neben der neu installierten RRO --- angezeigt wird, wurde das Ziel-APK entweder nicht gefunden (überprüfen Sie die targetPackage-Deklaration in Ihrer AndroidManifest.xml) oder einige der in der RRO definierten Ressourcen stimmen nicht mit den Ressourcen im Ziel überein.

RROs aktivieren und deaktivieren

Führen Sie den gewünschten Befehl aus, um eine RRO zu aktivieren oder zu deaktivieren:

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

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