375

I know I'm asking for the close-to-impossible -- as a real full-backup certainly requires root permissions. But still there are many folks around not wanting to root their devices -- afraid of voiding their warranties or bricking their devices, or just not having their devices supported by any rooting method.

I also know there were a lot of questions asked already on this topic, and I checked all of them having the backup tag -- none covers the entire topic, all just have pieces, and especially people new to Android (but other non-power-users as well) would have a hard time figuring out the best way.

So I want a detailed canonical answer to the question:

Not involving root-solutions, how to achieve a backup as close as possible to a full backup?

Please do not give simple one-liner answers like "Use app xyz [full-stop]." If mentioning an app (and I doubt a single app would be the answer here), include what parts are covered by it -- as well as ideas on how to fill the gaps it leaves. (And to make it absolutely clear: I know the first thing coming to mind is Titanium Backup -- I use it myself, but this does not apply here: This question is strictly about methods for non-rooted devices!) Moreover, the answer should be as generic as possible in terms of applying to a wide range of devices (i.e. it should not be restricted to one device or manufacturer).

I already mentioned having investigated all questions here tagged backup. These will certainly be helpful providing details for answers here, so I will list up the topmost ones concerning my question:

All these provide some details for my question (so feel free to get inspired by them) -- but I feel there are still details missing. Also it would be helpful to have a summary -- say, an answer including the full description of "the maximum possible".

A last criterium: While I'd consider cloud-based solutions legit, I'd favour local solutions. If you can provide both: all the better. But some people value privacy quite high (I'm one of them), and thus would not trust their data to some cloud service.


Thanks to Ryan, we now have a solution for a really complete backup of all apps and their data -- which I didn't dare to hope for! The only disadvantage: His solution only works for less than 10% of all Android users; namely those whose devices are running at least with Android 4.x.

So again, I ask the close-to-impossible: Any solutions applicable at least on Gingerbread (2.3.x) or, better, even Froyo (2.2.x) -- so they cover the majority of current devices? These solutions may involve multiple tools (try to keep it as simple as possible though; think of your mother to follow your instructions ;)

And keep in mind: NO ROOT!


To further motivate high-quality answers (and hopefully avoid low-quality ones), I will be a harsh one here: As I rarely do, I will down-vote answers not fitting the mentioned criteria on one end -- but on the other end, I will setup a bounty for the best answer (which cannot be done immediately, but earliest after 2 days).

3
  • 4
    what version of android are you looking to backup? because with 4.x there is the 'adb backup' solution that works for non-rooted devices. Commented Aug 26, 2012 at 14:45
  • 1
    As I'm not looking for myself (my devices are rooted, and so I can use NANDroid backups as well as Titanium Backup), this would be worth an answer -- as it would apply to everybody already having 4.x on his/her device. How much would it cover -- and what about gaps left behind, if any? Please also point out that it needs the SDK installed on the computer (including its pros and cons for unexperienced users).
    – Izzy
    Commented Aug 26, 2012 at 15:03
  • 1
    I created a question - Full Backup of non-rooted devices (Android version 2.3.X and below) to followup for device with Android 2.3.x and below cause I notice that the solution is for Android 4.X devices
    – Jack
    Commented Nov 16, 2012 at 1:35

8 Answers 8

286
+100

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] [-keyvalue|-nokeyvalue] [<packages...>]

Note: You may need quotes or escape characters.

  • -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)
  • -keyvalue|-nokeyvalue: include apps that perform key/value backups. (default -nokeyvalue)
  • <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:

  1. Go to "About device" (or "About phone" or "About tablet") section in Settings
  2. Tap 7 times on "Build number" row (usually the last row). After that "Developer options" section will appear in Settings

Enabling "Developer options"

  1. Go to "Developer options" section in Settings
  2. Tap the "USB Debugging" checkbox

Enabling "USB Debugging"

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. shift+rightclick

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.
## You can also include -system and -keyvalue to be able to backup and restore *some* system settings.
# 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.)

cmd

You will then be prompted on your device for a password (this is used to encrypt the backup):
backup screen

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: restore screen


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</code>. Within that folder is a folder named for the device, and inside that folder are the backups.

de backup

Double clicking on the Android Backup file will allow you to restore your device from the backup file.

8
  • 4
    BTW: Adding to your solution, just today I found a post on the XDA News: Ultimate Backup Tool, No Root Required. This "Ultimate Backup Tool" is just a simple .bat file calling the ADB commands you mentioned (Pastebin) -- and thus can serve as "inspiration" to Linux/Unix/Mac friends to create a similar shell script ;)
    – Izzy
    Commented Aug 27, 2012 at 8:34
  • 21
    ! Beware ! adb restore is far from complete, at least on an unrooted stock Android 4.3 on a Nexus 3! A few things are restored, a few not! I checked restoration of some features. NOT RESTORED, basically all the key telephony features: Contacts, sms, ringtone&notification sound, activated input languages (=kbd layouts), ownername (ownername set in first boot wizard is kept instead) PROPERLY RESTORED: Custom vocabulary, wallpaper, launcher icon positions, apps and their settings. Closing statement: This is an unsuited backup solution! Would adb backup complete on rooted phone?
    – porg
    Commented Oct 14, 2013 at 0:47
  • 8
    I think this is a terrible answer to the question - if your device is unrooted it will appear as if correct backup is being created, but you will only discover the truth once you try to restore it. Please emphasize the -nosystem option.
    – EFraim
    Commented Jun 1, 2014 at 19:28
  • 7
    @RyanConrad I guess this answer might require some updates: apps can opt-out of adb_backup (setting ALLOW_BACKUP to "no" in their Manifest files). If "root users" want to work around this, there's the Backup All Apps Xposed module, but no way around it without root. Maybe you also should point out what is not covered (apart from what you've already mentioned – see porg's "!Beware!" comment above). Plus maybe integrate other hints from the comments, and then request a comment cleanup?
    – Izzy
    Commented Jul 14, 2015 at 14:57
  • 7
    ⚠️ Be aware that an app can explicitly prevent backing up its data by setting android:allowBackup="false" in its AndroidManifest.xml. See developer.android.com/guide/topics/manifest/…. Running adb backup... will not save any data for these apps. Example apps that forbid backups are WhatsApp, LineMessenger.
    – ccpizza
    Commented Aug 14, 2019 at 17:36
36

There is an application called Simple ADB Backup.

enter image description here

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


Edit: Now called Holo Backup. See https://xdaforums.com/t/tool-windows-linux-4-0-holo-backup-full-backup-without-root.2091047/#post-36499906

8
  • 1
    And also note that, at least according to its name, it probably requires at least Android 4.0 -- as does Ryan's solution. Nevertheless, +1 from me as this makes it easier for those people afraid of the command line :)
    – Izzy
    Commented Jan 15, 2013 at 16:58
  • 2
    @Izzy: Yes to clarify Windows/Linux/Android (4.0+)
    – Simon
    Commented Jan 15, 2013 at 17:09
  • 1
    I successfully restored the data to new nexus 6p from nexus 4. However the google service always crash. I can't set up my google account in 6p. So it actually does not work for android 6.0.
    – Kane
    Commented Nov 8, 2015 at 14:27
  • 1
    @Celeritas yes, of course: the factory-reset in between. Why should restoring a backup delete additional stuff installed meanwhile – unless being explicitly told to?
    – Izzy
    Commented Dec 12, 2016 at 11:01
  • 2
    @Celeritas this is not a discussion area (be welcome to our chat room). But even on a computer, you would format the disk in such a case. I've never heard restoring a backup took care to remove "extra files" without being explicitly told. That would very much alienate me. Even more so as an ADB backup can be a full backup or just cover a single app; in the latter case, it would even be absurd would it delete everything else on restore.
    – Izzy
    Commented Dec 13, 2016 at 7:29
27

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.

3
  • 3
    @Izzy Unlocking does not gain root access. But it does void the warranty. Flashing the custom recovery does not require root access, just requires an unlocked bootloader. Once the custom recovery is in place, the recovery does have root access (but not the same as having root within the OS sense). I think though that flashing a custom recovery is a big barrier for most users. In a lot of cases, it is easier to root a device then flash a recovery. Also larger chance of soft bricking a device with flashing a recovery. Commented Sep 1, 2012 at 20:57
  • 12
    A major problem with this solution is for bootloader locked devices, a 'fastboot oem unlock' will wipe the device.
    – lid
    Commented May 16, 2014 at 20:42
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Andrew T.
    Commented Jul 30, 2022 at 5:30
18

Koushik Dutta (aka Koush aka Mr. ClockworkMod) has published Helium Backup, which should make the entire thing possible even without the need of a computer and USB cable:

Carbon Backup

Helium Backup should be able to backup apps and data to SD card, attached USB devices, Dropbox, Google Drive or Box.

This isn't a "full backup" in so far as it comes to system settings, but it does restore application settings and data. It does not backup your internal storage (the user files), so you'll have to backup those files separately.

If you find yourself unable to see your backups in the restore list, some of the backup metadata may have gotten lost in translation. The backup themselves can still be restored, but you'll need some extra leg work to get them.

Edit: For a full-fledged how-to on the usage of Helium, please see How to Backup Apps and Data without Root using Helium Android App (thanks for the hint, Simon!). And before complaining on anything, make sure you've checked with the Helium Wiki (thanks to golimar for pointing this out!).

7
  • 1
    Unfortunately requires Android 4.0, same as Ryan's solution.
    – Phoenix
    Commented Mar 23, 2013 at 4:31
  • 1
    Sure: Like Ryan's solution, it uses adb backup as backend.
    – Izzy
    Commented Mar 23, 2013 at 9:15
  • 1
    @Izzy Just found a nice write up about Carbon: maketecheasier.com/another-way-to-back-up-android-without-root/…
    – Simon
    Commented Sep 14, 2013 at 11:52
  • 1
    @Lucky for a not-rooted device that's sadly true, as the ADB component on-device first needs to be activated (after each boot) – which requires elevated privileges, so it cannot be done directly on-device without root, but is possible via ADB itself only.
    – Izzy
    Commented Jun 22, 2015 at 13:02
  • 1
    Recommended read prior to install: github.com/koush/support-wiki/wiki/Helium-Wiki
    – golimar
    Commented Feb 15, 2016 at 17:06
12

This answer is not the hint you dear readers hoped for but the result of my real world tests:

adb backup is far from complete, on a Nexus 3, both under an unrooted stock Android 4.3 and if run with adb root on Cyanogenmod 10.1.3!


A few things are restored, a few not! I checked restoration of some features:

NOT RESTORED: basically all the key telephony features: Contacts, sms, ringtone&notification sound, activated input languages (=kbd layouts), ownername (ownername set in first boot wizard is kept instead)

PROPERLY RESTORED: Custom vocabulary, wallpaper, launcher icon positions, apps and their settings.


These were my requirements, which brought me to the topic:

  1. Maximization of Android privacy
  2. Physical security to prevent drive by downloads (PDF), meaning:
    • bootloader locked, stock recovery, ADB off
    • even more secure with: full disk encryption
  3. Full local backup, no cloud backup (topic of this very thread here)

On Cyanogenmod the situation was a little different: SMS were completely restored, but contacts and call logs still not restored. Even when adb backup and restore where ran with an adb running as root through adb root.


So I will try to use a custom ROM, with root (to get some extra features), a locked bootloader, custom recovery, and only flash the recovery temporarily (theoretically possible from the rooted device with flash_image, but for me this failed too), from which I then do NANDROID backups (or adb backup + special backup solutions for sms/call-logs/contacts) plus custom ROM updates.

10

A full backup seems to be a very overloaded term in the Android world. Allow me to first define it (paraphrasing a comment from OP):

A full backup is anything that will restore your system state to when you made the backup.

So the first obvious follow-up question is: restore your state from what?

  • Scenario 1: Your phone is physically broken/lost and your replacement is a different model.
  • Scenario 2: Your partition table was corrupted and now it won't boot.
  • Scenario 3: Your entire drive (eMMC) has been blanked and it won't boot.
  • Scenario 4: You can only boot into a USB flash mode like fastboot/ODIN.
  • Scenario 5: You can only boot into your recovery mode.
  • Scenario 6: Your phone has been reset to factory state.
  • Scenario 7: You accidentally deleted your favorite cat wallpaper image.
  • Etc.

The list points out how ill-defined this canonical question is. Each of these scenarios can have a different backup solution. A generic full backup would have to be able to address all of them.


The second follow-up question is: what is "system state"?

Are we talking about the conventional memory sector state, or the fuzzier user experienced state of functionality. Most users will really only care about restoring latter to some degree, in which case it may be more desirable to get an easier backup solution for the specific scenarios you care about. E.g. if all you care about is preserving your photos, a backup might be as simple as enabling automatic cloud storage in your photos app; a full backup would be a waste of effort/resources.

We can divide the full backup solutions (with bootable and possibly different phones) into 2 categories based on the definitions of state:

  1. Developer restores
    Typically involves using a Nandroid, which is a complete or partial image of the eMMC sectors. Bit technical. Most partitions will require the device to be identical to the original. Sometimes sector state is too much hassle to backup/restore.
  2. Consumer restores
    Typically file based, can restore apps and data. These are more likely to work across different models, but it won't be a full backup/clone if you care about restoring every memory sector. E.g. a "restored" app might be a newer version, or the partition sizes on your new device will be different, or the files may have different names, etc.

In summary, if you can restore the sector state, then functionality restoration should logically follow. But both can be considered full backups for their use cases. Let the context determine if someone asking for a full backup wants option 1 or 2.

Beware consumer restores

The current most highly voted answer based on adb backup is a consumer restore that can restore apps and data, with a few caveats:

  • Seems to omit some files
  • Variable results depending on the ROM (e.g. doesn't work on some Sony models, omits different items on CyanogenMod vs TouchWiz).

Though recently in Oreo there have been small improvements (XDA news) I still can't confirm if it can copy all user files like photos and music copied from your pc.

For a dev restore, you want a Nandroid.

You can't get a full Nandroid without either rooting OR using a recovery. An exception is perhaps an image of your SD card, giving you a partial Nandroid. So you have to risk installing an image or temporarily rooting, or wait until OEMs offer better recoveries.

Remember to name your backups with important information like date and partitions included.

You don't have to back up what you don't mind recreating

A Nandroid typically doesn't include a recovery, because they are usually applied from a recovery so it is redundant. But if your device is messed up and your recovery is gone you might panic, thinking you didn't back it up so there's nothing to restore. But it is often simple to download and then reinstall the recovery with a USB flash tool (e.g. fastboot).

Similarly, if you store your contacts in the cloud, there is usually no need to back them up again. Just sync again after restoring.

Remember, a full backup is not useful if it is too old, so you'll probably need to make regular backups. When chosing option 1 or 2 it is a tradeoff between how much you value the backup vs how much hassle you are willing to put up with.

1
  • The universal definition of "full backup" is: "forensic backup (to the furthest extent possible by a non-NOBUS)"
    – Pacerier
    Commented Feb 14, 2023 at 23:09
9

I'm a bit surprised by the other (complicated) answers. Maybe I've misunderstood the question, so feel free to comment and vote accordingly.

  1. By definition, a full backup (including ROM, apps and data) is called a Nandroid backup. Therefore, the question is asking "how do I do a Nandroid backup on my unrooted device".
  2. You do not need a rooted device to be able to do a Nandroid backup. Nandroid backups are usually done through a custom recovery (like TWRP or ClockworkMod) which do not always need a rooted device to install. For example, using ADB TWRP can be installed, as per the directions here. It may be possible to temporarily load a custom recovery, thus preserving the stock recovery (and your warranty; for TWRP this can be done replacing fastboot flash recovery twrp*.img with fastboot boot twrp*.img in step 4 of the linked tutorial). Some devices require the bootloader to be unlocked to install a custom recovery, others do not. Note that unlocking the bootloader usually factory-resets your device.
10
  • 5
    No. A nandroid backup is not the definition of a full backup, but the question fails to define what that is. Your method requires an unlocked bootloader and knowledge of flashing a recovery (which differs per model). Not really things a person who doesn't root wants to mess around with.
    – jiggunjer
    Commented Jan 22, 2017 at 10:15
  • 1
    @jiggunjer what makes you say a nandroid backup is not a full backup? Also some phones come with an unlocked bootloader. Also compared to the other answers I wouldn't say this one is complex.
    – Celeritas
    Commented Jan 22, 2017 at 11:23
  • 2
    A full backup would be every sector of the eMMC, nandroids are often images of a subset of sectors, they typically exclude the bootloader and the recovery itself. Arguably such a complete backup is not often necessary. Your answer is indeed simple but not practical for 95% of the unrooted users.
    – jiggunjer
    Commented Jan 22, 2017 at 11:52
  • 2
    A full backup in the view of a technician is probably a replication of the entire hardware including state of all bits. But as this is a user-oriented site, a full backup simply means: I can restore from that and end up exactly at the state where the backup was made (all settings, apps & data are covered). Besides: While an apple is a fruit, a fruit is not necessarily an apple; yes, a Nandroid backup usually is a full backup (though e.g. TWRP skips "shared storage") – but that doesn't mean a full backup always is a Nandroid backup ;)
    – Izzy
    Commented Jun 29, 2017 at 10:20
  • 2
    @Izzy Not logical. A full backup by most definitions lets you restore your drive state from any other drive state. This includes hardbricks if you're into low-level SoC debugging. A Nandroid doesn't do that. The key is that backup effectiveness depends on the state at the time when you want to restore. The more scenarios you want to recover from, the more extensive your backup has to be. Nandroids will cover 98% of user scenarios so they are an efficient choice. If you break your recovery and have to reinstall it, you are not actually restoring the original state--you are recreating it.
    – jiggunjer
    Commented Aug 28, 2017 at 8:23
8

We can take the backup of our device without using any apps or without rooting our phone.

Android includes a built-in way to back up and restore the contents of your phone or tablet. All you need is a computer and a device running Android 4.0 (Ice Cream Sandwich) or newer.

Go to adt-bundle-windows-x86\sdk\platform-tools folder and open command promt here.

  1. Make sure USB Debugging is Enabled.

  2. Check that your device is connected by running "adb device".

  3. Now execute "adb backup -apk -shared -all -f C:\Users\UserName\backup.ab".

  4. Unlock your device, provide encrpytion password and your whole device will be backed up.

  5. To restore again simply execute "adb restore C:\Users\UserName\backup.ab".

I have written step by step procedure with screen shots for the same here. Hope this helps!

1
  • 1
    Yes. That's what Ryan's answer states right as its start :) But thanks for the additional details and step-by-step guide!
    – Izzy
    Commented Nov 23, 2013 at 19:41

You must log in to answer this question.

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