Bei einer generischen Anwendung möchte ich diese komplett mit ihren eigenen Daten auf ein anderes Gerät oder auf den Emulator übertragen.
Nach dem Wiederherstellen der Anwendung und ihres /data/data/com.app
Verzeichnisses sollte sie normal funktionieren, vorausgesetzt, ihre Geschäftslogik berücksichtigt nicht, dass sich die Geräte-ID geändert hat oder andere Einrichtungen (wie Konten) fehlen.
Brutales Kopieren /data/data/com.app
kann zu Datenbeschädigung führen, wenn die App aktiv ist.
Wie mache ich das, mit oder ohne Root?
Beide Geräte müssen gerootet sein und die TitaniumBackup-Anwendung verwenden. Ich habe festgestellt, dass Titanium auf Emulator 2.1 nicht startet
Verwenden adb backup
und adb restore
richtig. Dies würde bedeuten, das Backup auf die einzelne zu klonende App zu beschränken, einschließlich ihrer Daten, aber sonst nichts. Dies ist wichtig, da adb restore <file.ab>
ein Alles-oder-Nichts, keine selektive Wiederherstellung möglich ist. Vollständige Syntax für adb backup
ist:
adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|nosystem] [<packages...>]
Um also nur unsere "Foobar"-App enthalten zu haben, müssen wir das Gerät verbinden und:
adb backup -f MyBackup.ab -apk com.foobar.app
Dies erledigt und adb
mit dem Emulator verbunden, kann die generierte Sicherungsdatei MyBackup.ab
dann wiederhergestellt werden
adb restore MyBackup.ab
Dr.jacky
£
ŒT