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>