Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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/ 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/ brutally may result in data corruption when app is active.

How do I do that, with or without root?

share|improve this question

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

This done, and adb connected to the emulator, the generated backup file MyBackup.ab then can be restored using

adb restore MyBackup.ab
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.