I want to reset my phone but want to recover the system data before doing so. I tried to create a backup with adb and tried to restore it on a virtual device to see if it works. So I tried to restore it with adb on the virtual device and it would say that it fully restored it at the end. But nothing really changed. I wonder if adb backup/restore still works or if I did something wrong.
1 Answers
Deprecated means it is fully functional but may be removed in future versions. Google of course prefers that their cloud is used so that they still control access to the backup data.
The only part that seem to have changed by the deprecation is that the help text of adb backup
has been removed from the adb binaries. So to show the help text with all options of adb backup you have to execute now: adb shell bu help
However adb backup
has a problem with app that disallow backup via it's AndroidManifest.xml. The main problem you don't get any warnings or errors for such apps. hence it is totally unclear if a backup was successful by just looking at the messages printed on the console while creating the backup.
From an app perspective there is also the way to allow only partial backups. By a configuration file the app can specify certain paths or file types to be included or excluded from backup.
Therefore my recommendations is to backup only single apps without APK. Based on the size of the created backup archive you can see if the backup was potentially successful or not.
An alternative is to create a full backup (with or without APKs) and in the end convert the created backup archive using Android Backup Extractor to a tar archive and check that archive for the most relevant apps what files have been backuped.
Update for Android 12+
On Android 12+, apps that have a targetSDK
of 31 or higher (are developed for Android 12+) app data backup via adb backup
seems to be no longer possible:
For apps that target Android 12 (API level 31) or higher, when a user runs the adb backup command, app data is excluded from any other system data that is exported from the device.
https://developer.android.com/about/versions/12/behavior-changes-12#adb-backup-restrictions
adb backup
on Android 12 only work if targetSDK
is lower than 31 or the app is marked as debuggable=true
. Apps downloaded from Play Store are never debuggable and Google enforces apps to set targetSDK
to the latest API level. Therefore apps from Google Play Store that has been updated in 2022 or later should no longer allow app data backup using adb backup
.

- 20,025
- 6
- 47
- 66
/data/data
requires root permissions soadb pull
from that directory requires root permissions +adb root
(which itsel requires a patched adb binary). As this answer is about the commandadb backup
I am wondering why you ask foradb pull
instead of tryingadb backup
for the package name you want to backup. – Robert Nov 10 '21 at 08:10adb backup
doesn't work, surely there can be an (open source) tool that does what it fails to do? – Pacerier Jan 31 '23 at 01:01adb backup
which is deprecated and thus needs a replacement." – genpfault Jun 30 '23 at 13:40