Ich baue eine App, die Updates von einem Server erhält. Zu Beginn der App findet also ein Download statt. Dieses Ding wird jedoch etwas nervig, da ich immer, wenn ich einen neuen Build testen möchte, Folgendes verwenden würde:
adb -d uninstall com.mycompany.myapp
Dieser Befehl entfernt die App sowie ihre gespeicherten Daten/Cache. Jetzt müsste ich jedes Mal, wenn ich dies tue, den Prozess des Herunterladens der Updates erneut durchlaufen, und es kostet Zeit (viel davon).
Gibt es einen adb
Befehl, der die App deinstalliert, ohne ihre Daten/Cache zu entfernen? Eclipse ADT kann dies tun, aber ich möchte Eclipse nicht jedes Mal starten, wenn ich baue.
BEARBEITEN : Ich habe versucht, es zu verwenden, adb uninstall -k com.mycompany.myapp
aber es antwortet immer so:
The -k option uninstalls the application while retaining the data/cache.
At the moment, there is no way to remove the remaining data.
You will have to reinstall the application with the same signature, and fully uninstall it.
If you truly wish to continue, execute 'adb shell pm uninstall -k com.mycompany.myapp'
Wenn ich es versuche adb shell pm uninstall -k com.mycompany.myapp
, sagt es nur Failed
.
Wenn Sie adb
ohne Argumente laufen, gibt Ihnen der Hilfetext die Antwort auf diese Frage.
adb uninstall -k com.mycompany.myapp
entfernt die App, lässt aber die Daten- und Cache-Verzeichnisse. Ähnlich,
adb install -r myapp.apk
installiert eine vorhandene App mit einer neuen APK-Datei neu, wobei ihre Daten intakt bleiben.
Als Nebenbemerkung weiß ich nicht, ob Sie davon betroffen sind, aber vergessen Sie nicht, dass die Entwicklerbedingungen von Google Play Apps verbieten, sich selbst (Aktualisierung der APK-Datei) über einen Nicht-Google-Play-Kanal zu aktualisieren. Damit soll verhindert werden, dass Entwickler die Google Play-Bedingungen umgehen, indem sie eine „Stub“-App erstellen, die sich nach der Installation selbst durch eine App ersetzt, die die Google Play-Bedingungen nicht erfüllt. Das Aktualisieren von Datendateien und dergleichen ist vollkommen in Ordnung.
adb uninstall -k com.mycompany.myapp
, erhalte ich eine Fehlermeldung, die besagt, dass es nicht verwendet werden soll, und wenn ich es wirklich verwenden möchte, sollte ich das adb shell pm
Gegenstück verwenden, das bei mir nicht funktioniert. Die App, die ich baue, ist nicht für Google Play, also denke ich, dass es in Ordnung ist? Kannst du mir einen Link geben, damit ich mir das genauer anschauen kann?-r
Option funktioniert perfekt für mich, wenn ich die apk einer von mir installierten App aktualisieren musste (wohlgemerkt mit derselben Signatur), ohne alle meine Daten zu verlieren.
Aditya Somani
Lanze Grau
Ich bin der Thaddäus