A backup application for the Android Open Source Project.
Find a file
Torsten Grote e7a8ad50e8 Add version number to chunks cache
so we can later do in-place version upgrades and find out which chunks we need to store new versions for
2021-07-05 20:08:29 +05:30
.github/workflows Move CI to GitHub Actions 2020-11-10 16:34:40 -05:00
.idea Add storage library (and demo app) 2021-07-05 20:08:29 +05:30
app Only require network for storage backups when storage needs network 2021-07-05 20:08:29 +05:30
contactsbackup Add storage library (and demo app) 2021-07-05 20:08:29 +05:30
gradle apply ktlint to storage.lib as well 2021-07-05 20:08:29 +05:30
libs Remove 'host_supported: true' from Android.bp files 2020-10-07 19:01:39 +05:30
storage Add version number to chunks cache 2021-07-05 20:08:29 +05:30
.editorconfig Enable automatic coding style linting with ktlint (also on CI) 2020-10-07 19:44:05 +05:30
.gitignore Add storage library (and demo app) 2021-07-05 20:08:29 +05:30
Android.bp Add storage library (and demo app) 2021-07-05 20:08:29 +05:30
build.gradle Add storage library (and demo app) 2021-07-05 20:08:29 +05:30
CHANGELOG.md Switch all text references to github.com/seedvault-app 2021-04-20 03:59:01 +05:30
gradle.properties Add storage library (and demo app) 2021-07-05 20:08:29 +05:30
gradlew Add experimental support for standalone builds 2018-11-07 22:04:37 -05:00
gradlew.bat Add experimental support for standalone builds 2018-11-07 22:04:37 -05:00
LICENSE Update license to Apache-2.0 2019-12-22 20:20:19 -05:00
logcat-verbose.sh Add script to turn on verbose logging for backup related tags 2020-10-23 07:37:16 -03:00
permissions_com.stevesoltys.seedvault.xml Add storage library (and demo app) 2021-07-05 20:08:29 +05:30
README.md Add storage library (and demo app) 2021-07-05 20:08:29 +05:30
settings.gradle Add storage library (and demo app) 2021-07-05 20:08:29 +05:30
whitelist_com.stevesoltys.seedvault.xml Make MANAGE_DOCUMENTS permission optional 2020-10-23 07:37:16 -03:00

Seedvault

Build

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.ACCESS_NETWORK_STATE to check if there is internet access when network storage is used.
  • 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.
  • android.permission.MANAGE_EXTERNAL_STORAGE to backup and restore files from device storage.
  • android.permission.ACCESS_MEDIA_LOCATION to backup original media files e.g. without stripped EXIF metadata.
  • android.permission.FOREGROUND_SERVICE to do periodic storage backups without interruption.
  • android.permission.MANAGE_DOCUMENTS to retrieve the available storage roots (optional) for better UX.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/seedvault-app/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.