You have been able to backup most things via adb since android 4.0.
Backup and restore commands Description
backup [-f file] [-apk | -noapk] [-obb | -noobb] [-shared | -noshared] [-all] [-system | [-nosystem] package_names Write an archive of the device's data to file. If you do not specify a file name, the default file is backup.adb. The package list is optional when you specify the -all and -shared options. The following describes the usages for the other options:
-apk | -noapk: Back up or do not back up .apk files. The default value is -noapk.
-obb | -noobb: Back up or do not back up .obb files. The default value is -noobb.
-shared | -noshared: Back up or do not back up shared storage. The default value is -noshared.
-all: Back up all installed apps.
-system | -nosystem: Include or do not include system apps when backing up all installed apps (-all). The default value is -system.
restore file Restore the device contents from file.
Improvements to ADB in android 8: https://www.xda-developers.com/android-oreo-adb-backup-better/