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?

1 Answer 1


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 <file.ab> is an all-or-nothing, no selective restore possible. Full syntax for adb backup is:

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

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
  • It gives a 1KB file! With the content of: ANDROID BACKUP 1 1 none xÚc£ŒT
    – Dr.jacky
    Jun 12, 2017 at 10:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .