Future of device access to copy custom basemaps

I was worried I'd have to pause any software updates to prevent Android 13 / setup users with a way to use adb, but I just tested a Galaxy Tab S7 (SM-T870) that was recently updated to Android 13 / One UI 5.0, and after connecting over USB and allowing access to data, I can still navigate to \This PC\Galaxy Tab S7\Internal storage\Android\data\org.odk.collect.android in Win10 and write files to the device as normal.

I tried OpenMTP on MacOS also, but it seems to have broken functionality completely in a recent update, for Android 12 or 13.

Is the restriction on file structure access only on Android apps with no pending change to USB access?

1 Like

Thanks for chiming in on this topic, @ahblake. The only physical Android 13 device the core team has right now is a Google Pixel so we're not always totally sure how other devices will work. Google's communication on these kinds of changes is typically not very good. We're quite confident adb access will continue to work for Android 13 across the board, though.

Nothing has been announced about upcoming changes to adb access. We keep a close eye on Android release notes and will share here if we learn of anything.

When you say adb, I take it you are referring to the command line tool only?

When I said USB I was unclear, I meant using the computer system file manager (File Explorer in win10, or OpenMTP in MacOS), which is the easiest way to get files (tilesets) transferred for users. This is the access that I'm concerned about losing.

Tab S7 Android 13:
image

No, no, I scanned instead of reading, sorry about that. My guess would be that adb and mtp access either stay or go together but there's no clear information on any of this.

OpenMTP does not currently seem to know of an incompatibility with Android 13 though https://github.com/ganeshrvel/openmtp/issues/298 suggests there might be issues with either Android or macOS. I recommend filing your own issue there. I think it's more likely that a change in macOS or OpenMTP is causing the issue you see rather than a change in Android 13. Or are you able to use the same OpenMTP install with an older device?

I imagine Windows also uses an mtp connection though it's possible there's some other access I don't know about.

@Grzesiek2010 @seadowg anything to add?

No, my current install Ventura 13.0.1 / OpenMTP 3.2.0.6 doesn't work with Android 12 (S10 / Tab S8+) or 13 (Tab S7), so that appears to be a MacOS/OpenMTP issue. FWIW scrcpy 1.2.4 still works fine on both.

1 Like

One thing to point out is that it's still possible to access data\org.odk.collect.android using Android's default file app (often referred to as "AOSP Files"). You often need a workaround (like I mention in the Github discussion) to actually access the app itself, but that would allow you to copy basemaps into the correct directory as long as you are able to download them to the device first.

Also, I'd personally recommend using/relying on adb over things like OpenMTP if you can. Both phone ecosystems have pretty much dropped support for file transfer over a cable and I feel like MTP based work flows are only going to get harder whereas adb is still pretty essential for both app and the Android OS developers themselves. That's a very opinionated "doom & gloom" stance, but it's where my head is at currently.

One thing that might be helpful, but potentially not clear in the docs is that you can copy layers to a directory shared between projects - /sdcard/Android/data/org.odk.collect.android/files/layers. This directory will have the same path on every device so would be easier to write a script with adb around than the individual project layers directories.

1 Like

Thanks, @seadowg

I installed 'Files' on a Samsung (Tab S8+ Android 12, waiting for it to add to Intune to test Android13) and it does let me view /sdcard/Android/data/org.odk.collect.android/files/layers, but when I try to copy a file from somewhere else, eg Downloads, (long press to select, then three dots at top right, then copy to the only path accessible is Galaxy Tab S8+>Android>media>com.sec.android.gallery3d However, if I long press the file(s) once to select, then long press to copy I can drag over Galaxy Tab S8+, wait for the folders to appear and repeat hovering over Android, data etc until I get to layers.

Edit: Files on Tab S7/Android 13 also works fine with the slow drag/hold navigate method and the much faster split screen drag/drop method

Two Files windows & drag and drop was much easier.

I do use the /files/layers/ folder exclusively, so all tiles are available to all projects/forms, thanks for the reminder though.

1 Like

Thank's for the reminder @seadowg!

1 Like