Android - How to fully backup non-rooted devices?
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 android-tools-adb
and android-tools-adbd
).
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 platform-tools
folder.
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:
Windows:
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.
Windows:
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.
There is an application called Simple ADB Backup.
Simple ADB Backup Backs Up Your Android Phone from the Desktop, No Root Required. Most Android backup tools require root, or run from your phone and save your data to your SD card. Simple ADB Backup is different. The app runs from and backs up your phone's data to your desktop, and does it all without root.
To use Simple ADB Backup, you'll need USB Debugging Mode enabled on your Android device (Go to Settings > Developer, enable developer options, then enable USB debugging) and the utility installed on your desktop. That's about it: just plug in your phone, launch the app on your Windows or Linux system, and choose a backup option. You have the option to back up your entire device, just apps, all data with or without system apps, or even a single app if you choose.
The app also lets you restore backed up data to your device. Before you back up, you'll be prompted to generate a password you'll also have to type into the app on your phone before the backup can begin, but after that, the process runs smoothly. It's extremely simple, completely free, and doesn't require you root first.
Whilst Titanium Backup is a more feature-filled app if you're willing to root (especially if you want a bulletproof backup system for your Android), and MyBackup Pro is great if you're migrating to a new phone and don't want a desktop as a middleman, but Simple ADB Backup is free and apparently so easy to use that even Android beginners can easily and quickly back up their important data.
Simple ADB Backup was released for free over at the XDA Developer forums. Hit the link below to download it there.
http://forum.xda-developers.com/showthread.php?p=36499906
Please Note: This is a new application currently still in Beta
Technically, you CAN create full Nandroid backup without rooting the device. You just need to flash CWM (or, any recovery which supports Nandroid backup) over USB. For example, you can use Odin (Windows) to flash CWM to Samsung devices after going to download mode, all without touching the Android. So, there's no rooting or root access involved at all.