4576c6d332
* New SetupWizard uses external/setupdesign (sud) and external/setupcompat (suc) to achieve the desired looks * It prevents proper previews when included in any app, though, so we better try achieving the same by manually styling the activities for 12 * This patch mimics the design by applying styles similar to the ones from sud, sometimes reusing parts taken from there Change-Id: Iccf588e5239aeb00645f97b095910986f32c52d0 |
||
---|---|---|
.github/workflows | ||
.idea | ||
app | ||
contactsbackup | ||
gradle | ||
libs | ||
storage | ||
.editorconfig | ||
.gitignore | ||
Android.bp | ||
build.gradle | ||
CHANGELOG.md | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
logcat-verbose.sh | ||
permissions_com.stevesoltys.seedvault.xml | ||
README.md | ||
settings.gradle | ||
whitelist_com.stevesoltys.seedvault.xml |
Seedvault
A backup application for the Android Open Source Project.
If you are having an issue/question, please look at our FAQ.
Components
- Local Contacts Backup - an app that backs up local on-device contacts
- Storage library - a library handling efficient backup of files
- Seedvault app - the main app where all functionality comes together
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 12
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.android.permission.USE_BIOMETRIC
to authenticate saving a new recovery codeandroid.permission.INTERACT_ACROSS_USERS_FULL
to use storage roots in other users (optional).
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
⚠ WARNING: the Seedvault developers make no guarantees about external software projects. Please be aware that disclosing your secret recovery key to other software has security risks.
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.