A backup application for the Android Open Source Project.
Find a file
Torsten Grote 0ed8e94e1d
Merge pull request #303 from mikeNG/code-style
Make code style consistent
2021-09-08 05:56:47 -03:00
.github/workflows Add newline at the end of all files 2021-08-25 18:25:00 +03:00
.idea Add newline at the end of all files 2021-08-25 18:25:00 +03:00
app Merge branch 'master' into code-style 2021-09-08 05:37:02 -03:00
contactsbackup Merge branch 'master' into code-style 2021-09-08 05:37:02 -03:00
gradle Upgrade gradle and test libraries 2021-07-05 20:08:29 +05:30
libs Replace novacrypt BIP39 library with the zcash one 2021-07-05 23:50:18 +05:30
storage Upgrade storage lib after recent set of changes 2021-07-05 20:08:29 +05:30
.editorconfig Improve .editorconfig setup 2021-08-25 18:24:53 +03:00
.gitignore Add user dictionary to repo for spellchecker 2021-07-05 20:08:29 +05:30
Android.bp Replace novacrypt BIP39 library with the zcash one 2021-07-05 23:50:18 +05:30
build.gradle Upgrade gradle and test libraries 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 Add newline at the end of all files 2021-08-25 18:25:00 +03: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 newline at the end of all files 2021-08-25 18:25:00 +03:00
README.md add READMEs and tie them together in main README 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.

Components

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.