Solution Available for 4.0+ Devices:
For 4.0+ devices there is a solution called "adb backup".
Note: This only works for apps that do not disallow backup! Apps that disallow backup are simply ignored when creating a backup using this way.
This makes use of adb so you have to have the Android Software Development Kit (SDK) installed on your computer (on some Linux distributions: just packages
NOTE: This solution will not back up and restore contact, SMS or calendar information
The options for the adb command are:
adb backup [-f <file>] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|nosystem] [<packages...>]
- -f : the path of the *.ab file that will be saved on your computer. This file is a compressed file that contains an archive of the data/apks from your device.
- -apk|-noapk : indicates if the *.apk files should be backed up (default is -noapk)
- -obb|-noobb : enable/disable backup of any installed apk expansion (aka .obb) files associated with each application (default is -noobb)
- -shared|-noshared: enable/disable backup of the device's shared storage / SD card contents (default is -noshared)
- -all : indicates that you want the entire system backed up. you can use the packages filter to just backup specific packages, or use -all for a full system backup.
- -system|-nosystem: indicates if all the system applications and data are included when backing up. (default is -system)
- <packages> : this is where you can list specific packages to backup. Use these if you want to back up only specific applications. If using -all, you do not need to specify packages.
How to backup your device:
First, you need to enable "USB debugging" on you Android device:
- Go to "About device" (or "About phone" or "About tablet") section in Settings
- Tap 7 times on "Build number" row (usually the last row). After that "Developer options" section will appear in Settings
- Go to "Developer options" section in Settings
- Tap the "USB Debugging" checkbox
Second, on your PC from the command prompt you will need to be able to locate both the
adb command and your backup file. The easiest way to do this is to run the
adb command from the directory where
adb is located.
In Windows Explorer navigate to where you installed the Android SDK and
SHIFT+RIGHT CLICK on the
This will open a command prompt (your window will look different than mine).
In Mac's Terminal you can type
cd and then drag the folder platform-tools folder from finder to the terminal window and the path will be inserted. Hit and you will be in the right place.
In Linux, I hope you know how to locate and cd to the parent directory of the adb command. You are using Linux after all.
From here type the following command:
adb backup -apk -shared -all -nosystem -f backup08262012.ab
Linux & Mac
./adb backup -apk -shared -all -nosystem -f backup08262012.ab ## Notice that -all doesn't mean ALL. See the big bold NOTE at the top of this answer. # drop the `./` in the command if you are using `android-tools-adb` package
(if you want to store the backup in a different directory, include a path for the ".ab" file as shown in the screenshot below.)
You will then be prompted on your device for a password (this is used to encrypt the backup):
To restore, it works almost the same way.
adb restore backup08262012.ab
Linux & Mac
./adb restore backup08262012.ab
Then you will be prompted for your password to restore on the device:
Now for the shameless self promotion:
Droid Explorer (v0.8.8.7+) will be able to handle this for 4.0+ devices. While Droid Explorer is currently optimized for Rooted devices, this functionality will work for non-rooted devices as well.
Droid Explorer will do full backups of the device and save them in
%USERPROFILE%\Android Backups\. Within that folder is a folder named for the device, and inside that folder are the backups.
Double clicking on the Android Backup file will allow you to restore your device from the backup file.