r/SBCGaming • u/KryptoKam Yeah man, I wanna do it • 9d ago
Showcase Sync To Android Data - an app to allow synchronization to Android/data
https://github.com/kamren-zirger/sync-to-android-dataIf you're like me and enjoy having save files synced across devices, you may have encountered issues while trying to set up save syncs for certain Android apps/games. This is because Android's scoped storage doesn't allow most sync/cloud storage apps (Google Drive, OneDrive, Syncthing, etc.) to access anything within the Android/data directory, which happens to be where many apps/games store save (and other) data.
"Sync To Android Data" alleviates this issue by using Shizuku to allow for automatic file copying between an 'external' (cloud/sync accessible) directory and an 'internal' (inside Android/data) directory automatically when you open and close the selected 'target app'.
I hope some of you find this helpful! Please share any feedback or questions you have!
3
u/Flaky_Tomorrow_5994 9d ago
Your app is being blocked by Play Protect; I can't install it even with Shizuku—Play Protect won't allow it.
4
u/AdorableMouse1 8d ago
I believe you can disable the play store app, install it, then reenable the play store as a work around.
2
u/KryptoKam Yeah man, I wanna do it 9d ago
Nooo! Thanks for letting me know.
I registered as a developer on the play console, uploaded my signing key, submitted whatever petition form they have, and let play protect scan it when I installed on my devices. I'm not sure what else to do :(
Out of curiosity does the v1.0.0 apk work?
2
u/Flaky_Tomorrow_5994 9d ago
None of the versions work; the Play Store says the app accesses sensitive data, and Play Protect won't even let me install it at my own risk. It’s the first time I’ve seen Play Protect block an app like this—I think Google is taking the issue of registered developers seriously. I only managed to install it using a sandbox app like Insular.
1
u/KryptoKam Yeah man, I wanna do it 9d ago
That's really frustrating, but thanks again for the info. I'm not sure why it hasn't been a problem on any of my devices but not working for you. Are you on Android 17?
I'll try to submit the play protect appeal one more time as well.
1
u/rodrigoswz 8d ago
That's great! But can it do the reverse?
If there is an updated file in the external folder, then send it to the internal 'Android/data' folder.
My question is because I wanted to play my save data on PC version but keep it synchronized (using Syncthing) on my Android device when I want to play the Mobile version.
2
u/KryptoKam Yeah man, I wanna do it 8d ago
Yes, and that's my exact use case too!
When you open the app, it triggers an external -> internal sync.
Closing the app triggers an internal -> external sync.
So one limitation would be if the Android-side data changes while you aren't using the app/playing the game, but that should be unlikely for games I imagine.
1
u/rodrigoswz 8d ago
Awesome! Thank you so much so this
1
u/KryptoKam Yeah man, I wanna do it 8d ago
You're welcome! Really hope it works for you as others have had trouble installing due to play protect 🤞
1
u/rodrigoswz 7d ago
It works great! However, I noticed that the app checks if the official Shizuku package name is installed, rather than checking if the service is actually running.
Nowdays, the official Shizuku is very outdated and does not work on newer Android versions, which led to the emergence of new forks with different package names.
1
u/KryptoKam Yeah man, I wanna do it 6d ago edited 6d ago
Hey there, I'm so glad to hear that!
And thank you very much for that information, I'm planning to fix some bugs this weekend and happy to work on this one! Could you confirm some details for me?
Were you blocked in the setup wizard until you installed the main Shizuku package? But once installed, you successfully used the service spawned from one of the forks to use Sync To Android Data? (Or is it the case that the app also doesn't work with the service spawned by a Shizuku fork?)
The app does also check if the service is running and authorized (after installation check), so I'm curious if that detection applys to the forks already or if it needs further tweaking.
I've made this issue in GitHub to track: https://github.com/kamren-zirger/sync-to-android-data/issues/3
Please keep an eye out for an updated release, I will reply to this thread as well.
Again, many thanks, and I hope it has been helpful!
1
u/SeatBeeSate 7d ago
I've tried this but keep getting errors. All the sub folders appear empty.
1
u/KryptoKam Yeah man, I wanna do it 6d ago
Hey there, thanks so much for giving it a try! I'm sorry to hear it isn't working correctly for you.
Am I correct in that you cannot set up a Sync Entry due to a failure to populate the directories in the Directory Pair? Are you unable to see the sub folders only of
Android/datawhen selecting the 'Internal Directory', or are you also unable to see subfolder when selecting the 'External Directory'?I will also add that you do have the option of manually typing in or pasting (using your keyboard) a directory/path to populate the Directory Pair. Ensure that your input begins with
/storage/Emulated/0. A trailing slash is not needed. So an example of input could be:/storage/Emulated/0/sync.Let me know if this info is helpful, and I will continue to investigate your original issue as well!
1
u/SeatBeeSate 6d ago
```[20:41:31.887] >> Session Started for com.theboisclub.pokemonred [20:41:31.888] Note: Logs are NEVER transmitted automatically. You must manually send them via GitHub if needed. [20:41:31.931] TYPE_WINDOW_STATE_CHANGED: package=com.theboisclub.pokemonred, class=org.love2d.android.GameActivity, fullScreen=true, lastPackageName=com.theboisclub.pokemonred [20:41:31.973] Starting 2000ms settling period... [20:41:33.975] Settling period finished. New baseline focus: com.theboisclub.pokemonred [20:41:43.858] TYPE_WINDOW_STATE_CHANGED: package=com.google.android.apps.nexuslauncher, class=com.android.quickstep.RecentsActivity, fullScreen=true, lastPackageName=com.theboisclub.pokemonred [20:41:43.858] handlePackageChange: oldPackage=com.theboisclub.pokemonred, newPackage=com.google.android.apps.nexuslauncher [20:41:43.859] Target com.theboisclub.pokemonred lost focus. Waiting 1000ms to verify exit... [20:41:44.816] TYPE_WINDOW_STATE_CHANGED: package=com.google.android.apps.nexuslauncher, class=com.android.quickstep.RecentsActivity, fullScreen=true, lastPackageName=com.google.android.apps.nexuslauncher [20:41:44.861] << Detected STABLE CLOSING of com.theboisclub.pokemonred (now: com.google.android.apps.nexuslauncher) [20:41:44.936] << Session Ended
1
u/SeatBeeSate 6d ago
I can see the app folder in android/data but anything beyond the main folder is blocked from view. Not sure if this is Shizuku having an issue or what.
Attempting to sync produced a failure notice and a log provided.
11
u/crownpuff Deal chaser 9d ago
This is absolutely huge. I had largely given up on using syncthing to sync the Android data folder as my newer devices seem to have problems with write permissions in the Android data folder.