0 votes

L'installation de l'application Android écrase /data/data/com.my.app

Le contexte : Dans le cadre d'une mise à jour vers A6/MM, j'ai fini par devoir effacer mon téléphone. J'ai cependant sauvegardé /data/app et /data/data avant de l'effacer. Après la mise à jour, j'ai rsync'ed /data/data sur le téléphone. Ensuite, j'ai procédé à la réinstallation de certaines applications de Google Play.

Je m'attendais à ce que les données de l'application dans /data/data soient utilisées, mais au lieu de cela, l'installation de l'application a d'abord échoué, mais à la deuxième tentative, l'installation a fonctionné (terminé), MAIS elle a écrasé tous mes paramètres (etc) que j'avais restaurés dans /data/data. Ma question est la suivante : comment puis-je éviter cela ? La première installation a-t-elle échoué parce que le programme d'installation de l'application a vu les anciennes données ?

L'application en question était Zoiper Lite, mais je ne pense pas que l'application spécifique soit terriblement significative. Est-ce qu'il y a quelque chose à propos de l'effacement (réinitialisation d'usine) qui fait que le processus d'installation de l'apk s'attend à ce qu'il n'y ait pas de données et donc échoue, mais qui efface les données si vous insistez avec une deuxième tentative ? Bien sûr, ce que je veux vraiment, c'est une solution de contournement qui me permette d'installer l'application ET de conserver les anciennes données. J'ai beaucoup d'applications pour lesquelles je voudrais faire cela, donc c'est vraiment un problème...

0voto

Andy Yan Points 9360

NE PAS créer les dossiers avant l'application elle-même, car vous ne pourrez souvent pas obtenir les autorisations, la propriété et les contextes corrects. Au lieu de cela, après une nouvelle installation, exécutez l'application une fois pour la laisser créer la structure des fichiers, puis procédez à l'écrasement. Il est également fortement recommandé de trouver quel(s) fichier(s) exact(s) stocke(nt) les préférences/données que vous voulez restaurer - généralement juste quelques fichiers XML dans le sous-dossier shared_prefs - et de ne restaurer que ceux-ci.

La solution définitive à ce genre de problèmes à l'avenir serait d'utiliser des applications telles que Sauvegarde en titane pour automatiser le processus de sauvegarde/restauration.

EDIT : J'ai téléchargé Zoiper moi-même et l'ai testé : j'ai modifié certaines préférences, sauvegardé /data/data/com.zoiper.android.app/shared_prefs/com.zoiper.android.app_preferences.xml puis j'ai effacé les données et relancé l'application pour qu'elle génère une structure. J'ai restauré le fichier pref après, et ils ont été restaurés après que j'ai fait le 1er truc. Le truc, c'est qu'il ne faut pas oublier de forcer la fermeture de l'application avant d'essayer de remplacer des éléments, sinon l'application en cours d'exécution l'ignorera tout simplement.

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