Sync To Android Data
1.1.0 · GitHub
More about this app
Syncs files in and out of restricted Android/data folders when target apps open or close
Sync To Android Data
An Android utility app to allow file synchronization within the Android/data directory.
🖼️ Background
Since Android 11, the Android/data directory has been locked down by the new scoped storage paradigm. Standard file explorers and sync solutions (like OneDrive, Syncthing, or Dropbox) can no longer access these folders. This makes it nearly impossible to automatically sync game saves or app data/configuration to the cloud/self-hosted servers for apps that store data in this directory.
Sync To Android Data leverages Shizuku to automate file transfer to and from locations in Android/data, enabling data for these previously-restricted apps to be synchronized. Defined "Sync Entries" automatically move files between these restricted internal folders and a standard external folder of your choice when the "target app" is opened or closed.
📦 Installation
- Go to the latest release.
- Download
sync-to-android-data.apk. - Install the APK on your Android device.
- Use the built-in wizard to setup the app, including installation of Shizuku and all other prerequisites.
⚙️ How it Works
- Sync Entries contain configuration for each app you intend to keep data in sync for.
- Target Apps within Sync Entries define which package will be monitored for open and close by the sync engine (the app you intend to keep data in sync for).
- Directory Pairs within Sync Entries define which directories will be kept in sync based on the targeted application. Multiple Directory Pairs can be created for each Sync Entry.
- External Directories within Directory Pairs define the location to be used as a source when the Target App is opened (External -> Internal sync occurs). Typically, these are directories that are accessible to your cloud storage/sync application.
- Internal Directories within Directory Pairs define the location to be used as a source when the Target App is closed (Internal -> External sync occurs). Typically, these are directories within the Target App's respective folder in
Android/data.
🎥 Tutorial/Demonstration Video
Screen_recording_20260811_230750.webm
⚠️ Safety & Disclaimer
- Backup Recommended: Always keep a primary backup of your important data.
- Data Loss Risk: Misconfiguration (e.g., swapping paths), failure of a dependency like Shizuku, or unhandled errors could lead to unintended results.
- Disclaimer: This software is provided "as is," and the developer is not responsible for any data loss incurred while using this app.
⚖️ License
This project is licensed under the MIT License.
How Shizuku is used
Can sync Android/data folders when apps open or close, browse restricted folders and enable detection via `sh -c` shell commands through Shizuku.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Shizuku is used to run privileged file and settings commands that let the app sync restricted folders it otherwise could not access.
- Sync folders on app open and close: when a chosen app is opened or closed, files are copied between its restricted internal folder and an external folder with a privileged copy command through Shizuku.
- Copy folders on demand: manually triggered syncs from the main list or edit screen copy the same paired folders in either direction with the same privileged copy command through Shizuku.
- Mirror deleted files optionally: when mirroring is turned on for a pairing, files missing from the source folder are removed from the destination folder with privileged listing and removal commands through Shizuku.
- Browse restricted folders: the folder picker lists the contents of restricted locations such as Android/data with a privileged directory listing command through Shizuku.
- Enable app detection automatically: the app can turn on its own app open and close detection by reading and updating the secure accessibility settings with privileged settings commands through Shizuku.
Android APIs or commands used
mkdir -pcp -uafindrm -rfls -Fsettings get secure enabled_accessibility_servicessettings put secure enabled_accessibility_servicessettings put secure accessibility_enabled
Changelog
What's new for version 1.1.0
What's Changed
- [Issue #2] Logging Improvements by @kamren-zirger in https://github.com/kamren-zirger/sync-to-android-data/pull/4
- [Improvement] Automated update check by @kamren-zirger in https://github.com/kamren-zirger/sync-to-android-data/pull/6
- [Issue #3] Check if shizuku is running before installation check in wizard by @kamren-zirger in https://github.com/kamren-zirger/sync-to-android-data/pull/5
Full Changelog: https://github.com/kamren-zirger/sync-to-android-data/compare/v1.0.1...v1.1.0
Permissions
7 permissions requested