It wouldn't be controversial for me to say that backing up and restoring apps is a terrible experience on Android. Now, that statement isn't universally true—if you're upgrading to an Android device from the same vendor as your previous device, then the app migration process will generally be pretty seamless. Ask anyone who has tried to migrate all of their apps to a new phone from a different OEM—which includes pretty much everyone in tech media—and you'll probably hear complaints about having to set up apps again. Android 11 has quietly made a major change on this front, but Google sadly still hasn't gone far enough yet.

The main reason why backing and restoring apps on Android can be such a pain is that many applications don't allow their data to be backed up. Android natively supports backing up and restoring apps and their data through the BackupManager infrastructure, which on most Android devices is handled through Google Play Services with files being stored in the cloud on users' individual Google Drive accounts. Up to 25MB of an app's private data files, including their shared preferences, databases, and files saved to the app's app-specific internal and external storage directories, can be backed up. However, many developers opt-out of having their app data backed up by setting the android:allowBackup Manifest attribute to "false." There are good reasons for some apps to opt-out, especially if the app handles sensitive data and doesn't want that data to be extracted, but those applications should not rely on the assumption that their private data directories can't be accessed and should instead encrypt any sensitive data they're working with.

Thus, no matter which approach you take to backing up your apps and their data, whether it be through ADB, Google Drive, or an app like Helium, there's no way to fully back up every single app on your device. This is why root-enabled backup and restore apps like Titanium Backup have been around for so long because all the non-root solutions aren't nearly as effective at data migration. For the average user, this can result in a frustrating experience when setting up a device after a factory reset or when switching to a new device.

What's changing in Android 11

On Android 11, though, the system disregards the allowBackup Manifest attribute for "device-to-device" migrations of application files. This only affects apps that target API level 30, which not many do at the moment, but there will be a big uptick in apps targeting Android 11 in the next year thanks to Google Play's shifting API level requirements.

For power users, this means that ADB backup and restore may get much more powerful in Android 11. The last time ADB backup and restore saw an upgrade was in Android 8.0 Oreo. Unfortunately, ADB backup and restore has been deprecated and could be removed in a future release (it's still working in Android 11 Beta 1), so who knows how long you'll be able to take advantage of this change in platform behavior.

On the flip side, the system will still respect the allowBackup attribute for cloud-based backups and restores. Sadly, this means that better backups and restores won't be available for the average user restoring a backup from Google Drive.