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>