Add backup of local contacts as an extra APK

so we can use the existing system backup API and keep this code
(and the tests as well as permissions) nicely separate from seedvault itself
19 files changed
tree: 79cb0ede382c623273cddbb59895da358ba4b1ca
  1. .idea/
  2. app/
  3. contactsbackup/
  4. gradle/
  5. libs/
  6. .editorconfig
  7. .gitignore
  8. .travis.yml
  9. Android.bp
  10. build.gradle
  11. CHANGELOG.md
  12. gradle.properties
  13. gradlew
  14. gradlew.bat
  15. LICENSE
  16. permissions_com.stevesoltys.seedvault.xml
  17. README.md
  18. settings.gradle
  19. whitelist_com.stevesoltys.seedvault.xml
README.md

Seedvault

Build Status

A backup application for the Android Open Source Project.

Features

  • Backup application data to a flash drive.
  • Restore application data from a flash drive.
  • User-friendly encryption using a mnemonic phrase (BIP39).
  • Automatic daily backups that run in the background.

Requirements

  • Android 11

For older versions of Android, check out the branches.

Getting Started

  • Check out the wiki for information on building the application with AOSP.

What makes this different?

This application is compiled with the operating system and does not require a rooted device for use. It uses the same internal APIs as adb backup which is deprecated and thus needs a replacement.

Permissions

  • android.permission.BACKUP to back up application data.
  • android.permission.MANAGE_DOCUMENTS to retrieve the available storage roots.
  • android.permission.MANAGE_USB to access the serial number of USB mass storage devices.
  • android.permission.WRITE_SECURE_SETTINGS to change system backup settings and enable call log backup.
  • android.permission.QUERY_ALL_PACKAGES to get information about all installed apps for backup.
  • android.permission.INSTALL_PACKAGES to re-install apps when restoring from backup.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/stevesoltys/seedvault.

This project aims to adhere to the official Kotlin coding style.

Third-party tools

The Seedvault backup parser allows you to decrypt and inspect your backups. It can also re-encrypt them.

License

This application is available as open source under the terms of the Apache-2.0 License.