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.
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
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.
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 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