2 votes

Clonage d'une application avec sa base de données complète entre appareils

Étant donné une application générique, j'aimerais la transférer, avec ses propres données, vers un autre appareil ou vers l'émulateur.

Après avoir restauré l'application et ses /data/data/com.app il devrait être censé fonctionner normalement, à condition que sa logique commerciale ne tienne pas compte du fait que l'identifiant de l'appareil a changé ou que d'autres éléments (tels que les comptes) sont manquants.

Copie /data/data/com.app brutalement peut entraîner une corruption des données lorsque l'application est active.

Comment faire, avec ou sans Root ?

2voto

Sean O Donnell Points 601

Première solution : TitaniumBackup

Les deux appareils doivent être rootés et utiliser l'application TitaniumBackup. J'ai constaté que Titanium ne démarre pas sur l'émulateur 2.1.

Deuxième solution : utiliser les options de sauvegarde adb

使用する adb backup y adb restore correctement. Cela signifie qu'il faut limiter la sauvegarde à la seule application à cloner, y compris ses données, mais rien d'autre. C'est important car adb restore <file.ab> est un tout ou rien, aucune restauration sélective n'est possible. Syntaxe complète pour adb backup est :

adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|nosystem] [<packages...>]

Ainsi, pour que notre application "Foobar" soit incluse, nous devons connecter l'appareil et.. :

adb backup -f MyBackup.ab -apk com.foobar.app

Ceci fait, et adb connecté à l'émulateur, le fichier de sauvegarde généré MyBackup.ab puis peut être restaurée à l'aide de

adb restore MyBackup.ab

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