[HOWTO] Backup and Restore Data on Android Devices

I currently use TWRP for backing up my /e/ devices, when of upgrading from one /e/ build to the next. I usually start with a ‘dirty flash’ - installing the new ROM without wiping the existing data used by the old ROM. If that doesn’t work, I wipe the data partition and do a clean install, then restore my apps and data from the TWRP backup. This works well, and has rescued me a couple of times when I flashed my device into a non-functioning state :slight_smile:

It’s not so good for migrating from one device to a different device - same or different model. TWRP backups seem to be tied to a specific device. (Even if that’s not the case, I have never managed to restore data from one device to another, even of the same model).

So I have been looking at a project called Android Backup and Restore Tools

More information in the projects README.md on github

It doesn’t need a rooted device, but rooted debugging must be enabled in 'Developer Options`.

It works pretty well: I have been able to backup installed apps and data, and restore to

  • the same device;
  • different device of the same model;
  • different model, running a ‘same version’ /e/ ROM

I haven’t tried, but I think it would work, to restore to a device running a newer (or older) version. It also works well at restoring a single app, with or without its data, which is a big improvement over TWRP backups.

Unfortunately, it currently seems to have one main weakness: it does not backup account information for apps where that information is handled by the Account Manager app (i.e. it’s listed in Settings | Accounts). I tried backing up using --system-apps, which does appear to backup Account Manager, and its data, but when I restored that app, there were still no accounts listed. The apps affected for me were :

  • Twidere (Twitter client)
  • NextCloud / e/Cloud 0- this is a biggie - I keep my contacts, calendar and notes in NextCloud, so I had to re-enter all account details in the NextCloud app and the WebDav accounts before my I could see my notes, contacts and calendars. (The Calendar app was populated, but the events were ‘device only’ and there was no synching).
  • Ebay
  • BBC Sounds
  • Nationwide (Banking app)
  • Bandcamp
  • XDA Developers
  • MyEG (England Golf app)
  • Ring (Smart Doorbell app)
  • Evernote
  • OS Maps (did not work after restore and had to be re-installed. Stored offline maps were not restored and had to be downloaded again)
  • OSMAnd (no login account is needed, but stored offline maps were not restored and had to be downloaded again)

Other apps which store their own account data did work OK after restore

  • K-9 Mail
  • Messenger
  • WhatsApp
  • Telegram
  • igMember (Intelligent Golf client)
  • Scottish Golf

The NHS Covid-19 (UK tracking app) did not work after restore and had to be re-installed.

All of that is a pretty big failing for my use cases, so I will carry on with TWRP backups until SeedVault migrates into /e/ user builds from the test builds. Roll on v0.15-q :slight_smile:

Until then, this tool may be useful for some people’s use cases .

I didn’t fully test the backup / restore_apps --system-apps functionality, and I only quickly played with the full-backup/restore, which seemed to backup OK, but restoring - full or partial - either did nothing or stopped the device from booting :slight_smile: There’s a good chance that was user error.

PS I know that Shelter can cause problems with TWRP backups. None of the devices I worked with used Shelter, so I have no idea whether this tool would work if Shelter` is installed and used.

9 Likes