Given a generic application I would like to transfer it, full with its own data, to another device or to the emulator.
After restoring the application and its /data/data/com.app
directory it should be supposed to work as normal, provided that its business logic doesn't take into account that the device ID has changed or other facilities (like accounts) are missing.
Copying /data/data/com.app
brutally may result in data corruption when app is active.
How do I do that, with or without root?
Answer
Solution one: TitaniumBackup
Both devices must be rooted and use TitaniumBackup application. I have found that Titanium doesn't start on Emulator 2.1
Solution two: use adb backup options
Use adb backup
and adb restore
properly. This would mean to restrict the backup to the single app to be cloned, including its data, but nothing else. This is important as adb restore
is an all-or-nothing, no selective restore possible. Full syntax for adb backup
is:
adb backup [-f ] [-apk|-noapk] [-shared|-noshared] [-all] [-system|nosystem] []
So to only have our "Foobar" app included, we need to connect the device and:
adb backup -f MyBackup.ab -apk com.foobar.app
This done, and adb
connected to the emulator, the generated backup file MyBackup.ab
then can be restored using
adb restore MyBackup.ab
No comments:
Post a Comment