[Tool][Windows/Linux][4.0+] Holo Backup - Full backup without root!

Search This thread

omegavesko

Senior Member
Jun 9, 2012
88
223
OSIXf6X.png

A multiplatform GUI application I coded that uses ADB Backup to make full backups of your phone/tablet.

Unfortunately, ADB Backup itself is rather buggy so it will often fail on many devices, and may not work at all on some (the HTC One series, Sony phones from 2011, and some Motorola phones are most often reported to not work). All of the things the Ultimate Backup Tool has trouble with also affect this application. Sorry, that's just how it works. Do report devices that don't work though, just so everyone knows about it.

One of the best uses of ADB Backup is backing up Nexus devices before unlocking the bootloader, which wipes the device. You can then simply restore the backup to have your device in (mostly) the same state as before.

Tested by myself on Windows 7 and Linux Mint 14. As I've only tested it on my own phone, I'm treating this as an open beta.



Download
http://omegavesko.github.com/SimpleADBBackup/ - Contains links to downloads in .tar and .zip formats. Both executables and source are included.

Usage
On Windows, simply run HoloBackup.exe.
On Linux, run HoloBackupLinux. Running the binary as superuser is no longer necessary.

You can also run it from source on either platform, just move the script for your platform from the /src/ directory into the parent directory.

Source
https://github.com/omegavesko/SimpleADBBackup - It's rather messy, I'm not too good at keeping git repos tidy. Should still work, though.

Changelog
v2.0 - Huge update. See GitHub page for feature list.

v1.0 - Initial release.

Credits
All credits for the frameworks used do to the teams behind Python, Qt and of course the Android team.
Also check out Ultimate Backup Tool, which inspired me to do this in the first place.
 
Last edited:

Thassodar

Member
Oct 24, 2010
15
1
Will this work if you're trying to backup and restore to two different devices?
For example: Backing up from a broken Samsung GS3, and restoring to a new refurb GS3? Or backing up a Samsung Vibrant and restoring to a GS3?

My main concern is the app data, and doing it without root.
 

omegavesko

Senior Member
Jun 9, 2012
88
223
Will this work if you're trying to backup and restore to two different devices?
For example: Backing up from a broken Samsung GS3, and restoring to a new refurb GS3? Or backing up a Samsung Vibrant and restoring to a GS3?

My main concern is the app data, and doing it without root.

I'm afraid it won't. A backup can only be restored to the device it was made on.
 

scandiun

Senior Member
Jul 12, 2010
1,872
972
ADB backup and restore is plenty of bugs, please recommend clockworkmod instead.

Related adb backup and restore bugs:
Issue 28303: adb backup doesn't respect -noshared flag
Issue 32830: adb restore errors not displayed on device
Issue 34311: Galaxy Nexus gets stuck when restoring adb backup
Issue 25780: BackupManager causes reboot when BackupAgent missing
Issue 40691: ab backup and restore Ski Safari does not restore saved data
Issue 16286: Restoration of phone not working properly
 

omegavesko

Senior Member
Jun 9, 2012
88
223
ADB backup and restore is plenty of bugs, please recommend clockworkmod instead.

Related adb backup and restore bugs:
Issue 28303: adb backup doesn't respect -noshared flag
Issue 32830: adb restore errors not displayed on device
Issue 34311: Galaxy Nexus gets stuck when restoring adb backup
Issue 25780: BackupManager causes reboot when BackupAgent missing
Issue 40691: ab backup and restore Ski Safari does not restore saved data
Issue 16286: Restoration of phone not working properly

I'm aware of the buggy nature of ADB Backup. That's why I put warnings and disclaimers all over the place.

CWM is obviously better at backup and restore, but you also can't install CWM in the first place without unlocking the bootloader on a lot of devices, which usually wipes the device and defeats the purpose of a non-root backup utility.
 

Vyrlokar

Member
Apr 9, 2011
29
2
I personally have ADB up and running (and do my backups manually using adb backup. It does work very well on my OG Transformer, my Galaxy Note and my Nexus 7, and yes, I use it to transfer game progress between devices, and it works well). Still, this tool is useful if you don't like typing on the command line.

Do you mind if I post enhancement suggestions? (I know those are possible, and in fact, I have toyed with the idea of doing them all in a bash script, no Python needed, though I always find that manual use of ADB Backup is more useful for me, so I always put it for another day)
  • Open the list of packages on a separate window, not on the console that was used to launch the application. I first launched it from gnome-panel, and then forgot to look there when the app told me that I should check for the list of apps in the other window
  • Allow for the tool to be launched without root permissions. If so, check if adb is available to the system (I have ADB properly set up, so it's in my <user dir>/bin, but any directory that is in the $PATH variable will serve
  • Use curl or wget to check the play store (it's easy as you have the package names) and then extract the name of the app from there (sed is the typical way to do so)
  • Name the single app backups with the package name and a timestamp. add the timestamp to full backups (package_name.YYYYmmdd_HHMM.backup.ab). Add an option to name full backup (DEVICENAME.YYYYmmdd_hhmm.backup.ab)
  • Offer the option to backup multiple (but not all) apps at once.
  • Offer the option to backup multiple (but not all) apps at once, but individually (this obviously requires multiple insertions of the backup password on the device)
 

tomit12

Senior Member
Jul 2, 2007
110
10
Trying this out, never seems to get passed the "Now unlock your device and confirm the backup operation."

Trying to run it on a Tmo Galaxy S3. USB Debugging is on, I set a Desktop Backup password like it said to. Adb devices lists the phone, so that seems to be okay. Phone is unlocked when I'm trying this, obviously.

I'm sure I am missing something obvious, I just can't think of what.
 

Raider1284

Senior Member
Jan 11, 2013
185
69
Thassodar said:
Will this work if you're trying to backup and restore to two different devices?
For example: Backing up from a broken Samsung GS3, and restoring to a new refurb GS3? Or backing up a Samsung Vibrant and restoring to a GS3?

My main concern is the app data, and doing it without root.
I'm afraid it won't. A backup can only be restored to the device it was made on.

This is not true, you can backup from one device and restore to another using adb. I was originally on a Galaxy Nexus phone, but when I received the Nexus 4 I did a full backup of the Galaxy nexus, and then restored that backup onto my Nexus 4 and it worked beautifully. Though both phones probably should be running the same OS if you try this.

If this windows app is just running adb commands in the backened there's no reason why they couldnt do this.
 
Last edited:

hittingsmoke

Member
Nov 21, 2007
47
32
Getting "adb: unable to connect for backup" on Windows 7 x64 trying to backup a Nexus 4.

USB debugging and backup password is set.

I'll troubleshoot it later when I get a chance to see if ADB is seeing my device.
 
Last edited:
  • Like
Reactions: shah.jimish

omegavesko

Senior Member
Jun 9, 2012
88
223
This is not true, you can backup from one device and restore to another using adb. I was originally on a Galaxy Nexus phone, but when I received the Nexus 4 I did a full backup of the Galaxy nexus, and then restored that backup onto my Nexus 4 and it worked beautifully. Though both phones probably should be running the same OS if you try this.

If this windows app is just running adb commands in the backened there's no reason why they couldnt do this.

Ah, my mistake then. I was going off the advice in the Ultimate Backup Tool thread.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 204
    OSIXf6X.png

    A multiplatform GUI application I coded that uses ADB Backup to make full backups of your phone/tablet.

    Unfortunately, ADB Backup itself is rather buggy so it will often fail on many devices, and may not work at all on some (the HTC One series, Sony phones from 2011, and some Motorola phones are most often reported to not work). All of the things the Ultimate Backup Tool has trouble with also affect this application. Sorry, that's just how it works. Do report devices that don't work though, just so everyone knows about it.

    One of the best uses of ADB Backup is backing up Nexus devices before unlocking the bootloader, which wipes the device. You can then simply restore the backup to have your device in (mostly) the same state as before.

    Tested by myself on Windows 7 and Linux Mint 14. As I've only tested it on my own phone, I'm treating this as an open beta.



    Download
    http://omegavesko.github.com/SimpleADBBackup/ - Contains links to downloads in .tar and .zip formats. Both executables and source are included.

    Usage
    On Windows, simply run HoloBackup.exe.
    On Linux, run HoloBackupLinux. Running the binary as superuser is no longer necessary.

    You can also run it from source on either platform, just move the script for your platform from the /src/ directory into the parent directory.

    Source
    https://github.com/omegavesko/SimpleADBBackup - It's rather messy, I'm not too good at keeping git repos tidy. Should still work, though.

    Changelog
    v2.0 - Huge update. See GitHub page for feature list.

    v1.0 - Initial release.

    Credits
    All credits for the frameworks used do to the teams behind Python, Qt and of course the Android team.
    Also check out Ultimate Backup Tool, which inspired me to do this in the first place.
    6
    Hey thanks,

    I know this is an old post, but so an I..... Lol!

    Here is a Working Link for Win and Linux HERE

    Click on either Win of Linux
    Than just look down that page to....
    "This file has been truncated, but you can view the full file. For Win....
    Click on that working LINK!


    Same Text Link for Linux


    Might help someone!
    4
    ADB backup and restore is plenty of bugs, please recommend clockworkmod instead.

    Related adb backup and restore bugs:
    Issue 28303: adb backup doesn't respect -noshared flag
    Issue 32830: adb restore errors not displayed on device
    Issue 34311: Galaxy Nexus gets stuck when restoring adb backup
    Issue 25780: BackupManager causes reboot when BackupAgent missing
    Issue 40691: ab backup and restore Ski Safari does not restore saved data
    Issue 16286: Restoration of phone not working properly

    I'm aware of the buggy nature of ADB Backup. That's why I put warnings and disclaimers all over the place.

    CWM is obviously better at backup and restore, but you also can't install CWM in the first place without unlocking the bootloader on a lot of devices, which usually wipes the device and defeats the purpose of a non-root backup utility.
    3
    any link please ? i really want to try this

    https://github.com/omegavesko/HoloBackup

    Better do it yourself
    Enable Android ADB Backup
    The Android backup feature using adb backup is only available from Android 4.0+. To use this feature, USB debugging (under Settings -> Developer options) must be enabled on the device.

    Also, this feature does not work on all apps. To enable ADB backup for an app, that app must have set the android:allowbackup attribute to true in the Android Manifest (AndroidManifest.xml) XML file.

    Android Manifest XML File
    <application>
    ...
    android:allowBackup="true"
    ...
    </application>
    1
    2
    3
    4
    5
    <application>
    ...
    android:allowBackup="true"
    ...
    </application>
    Apps like the Google Authenticator have disabled the ADB backup feature to prevent sensitive information from being extracted from the device. ADB backup will not work on such apps. An attempt to perform an ADB backup on such apps will only generate a dummy file with no valid content inside.

    Perform Android ADB Backup
    To perform an ADB backup, you will first need to know the package name of the app in question. For example, if you want to perform a backup of the WhatsApp application, the package name would be “com.whatsapp“.

    You can get a list of the installed packages by running the pm list packages command from the ADB shell.

    $ adb shell pm list packages
    Another easier way is to extract the package name from the app’s Google Play Store web URL. For WhatsApp, the URL is https://play.google.com/store/apps/details?id=com.whatsapp and the package name can be found after the “id=” field.

    To perform a backup, connect the phone to the computer via USB and run the ADB backup command. If you want to backup WhatsApp, run adb like this:

    $ adb backup -f com.whatsapp.ab -noapk com.whatsapp
    This will trigger a confirmation dialog prompting you to authorise the backup on your phone as shown below. Click on the “Back up my data” button without providing a password. The backup will start only after you click on the button.

    Wait for the ADB backup command to complete. It may take a while, depending on the size of the data to be backed up. The backup will be written to the file specified in the “-f” option, in our case, it’s “com.whatsapp.ab“. The “.ab” extension indicates Android Backup. The “-noapk” option means that a backup of the .apk file is disabled and only the contents are backed up.

    Restore / Repack Android ADB Backup
    To restore the original Android Backup archive, run adb like this:

    $ adb restore com.whatsapp.ab

    A nice little helper for preparing ADB backups has landed in from switzerland:
    https://play.google.com/store/apps/details?id=ch.masshardt.adbbackuphelper&hl=en_US

    1. To backup app data along with apk

    Type in this command:

    adb backup -f “D:\myfolder\myapp.ab” -apk <package name>

    -f parameter specifies the file location, -apk specifies to backup apk (and not only app data)

    Once you enter this command on PC you will be prompted to unlock phone screen. Unlock screen and select ‘Back Up Data’ and also enter password if you have set up any previously. This command will store the backup to myapp.ab file on your PC. To restore this back to your phone simply type in:

    adb restore “D:\myfolder\myapp.ab”

    This command will restore entire app back to your phone.

    2. To backup only app data

    To backup only data don’t pass -apk parameter. This will only backup the app data in myapp.ab file. Remember that before you restore this backup the app should already be installed on the phone (From play store or from apk file which you are supposed to have).

    3. To backup multiple apps

    If you need to backup more than one app put in all package names in <package name> parameter with single space between each name. Alternatively if you want to backup all apps on phone you can use:

    adb backup -f “D:\myfolder\myapp.ab” -all -apk -nosystem

    -nosystem parameter is used to exclude system apps from backup, as restoring system apps sometimes causes stability issues.

    4. To backup your personal data only

    adb backup -shared -f “D:\myfolder\mydata.ab”
    -shared does a backup of personal data from the internal SDcard. It used to exclude apps, but should save settings
    3
    Looks like Githib is still under maintenance....

    It just came back up.


    Sent from my HTC One using Tapatalk 4 beta

    **Press the thanks button if I have helped you.