4 votes

Désinstaller l'application sans supprimer les données

Je construis une application qui reçoit des mises à jour d'un serveur. Ainsi, au début de l'application, un téléchargement a lieu. Cependant, cela devient un peu ennuyeux car chaque fois que je veux tester une nouvelle version, j'utilise :

adb -d uninstall com.mycompany.myapp

Cette commande supprime l'application ainsi que ses données/cache stockées. Maintenant, chaque fois que je fais cela, je dois à nouveau télécharger les mises à jour et cela prend du temps (beaucoup de temps).

Y a-t-il un adb qui désinstallerait l'application sans supprimer ses données/cache ? Eclipse ADT peut le faire mais je ne veux pas lancer Eclipse à chaque fois que je construis.

EDIT : J'ai essayé d'utiliser adb uninstall -k com.mycompany.myapp mais il répond toujours par ceci :

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'

Si j'essaie adb shell pm uninstall -k com.mycompany.myapp ça dit juste Failed .

0 votes

Pourquoi ne pouvez-vous pas simplement provisionner votre application révisée comme une mise à jour qui installe sur la nouvelle application ?

0 votes

Comment je fais exactement ?

0 votes

@LanceGray - mettez à jour le code de version dans votre AndroidManifest.xml

6voto

Andy Brudtkuhl Points 1714

Si vous exécutez adb sans argument, le texte d'aide vous donnera la réponse à cette question.

adb uninstall -k com.mycompany.myapp

supprime l'application mais laisse les répertoires de données et de cache. De même,

adb install -r myapp.apk

réinstalle une application existante avec un nouveau fichier APK, en conservant ses données intactes.

Par ailleurs, je ne sais pas si cela vous concerne, mais n'oubliez pas que les conditions des développeurs de Google Play interdisent aux applications de se mettre à jour (mise à jour du fichier APK) par un canal autre que Google-Play. Cette interdiction vise à empêcher les développeurs de contourner les conditions de Google Play en créant une application "stub" qui, une fois installée, se remplace par une application qui ne respecte pas les conditions de Google Play. La mise à jour des fichiers de données et autres est parfaitement acceptable.

0 votes

Merci. Chaque fois que j'essaie adb uninstall -k com.mycompany.myapp j'obtiens une erreur disant qu'il n'est pas censé être utilisé et que si je veux vraiment l'utiliser, je dois utiliser la fonction adb shell pm homologue, qui ne fonctionne pas sur moi. L'application que je crée n'est pas destinée à Google Play, donc je suppose que tout va bien ? Pouvez-vous me fournir un lien pour que je puisse approfondir la question ?

0 votes

En -r Cette option fonctionne parfaitement pour moi lorsque j'ai eu besoin de mettre à jour l'apk d'une application que j'ai installée (avec la même signature, remarquez) sans perdre toutes mes données.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X