Status Update
Comments
sb...@gmail.com <sb...@gmail.com> #2
sb...@gmail.com <sb...@gmail.com> #3
sb...@gmail.com <sb...@gmail.com> #4
bn...@google.com <bn...@google.com>
ja...@google.com <ja...@google.com> #6
It looks like you are raising an issue as an Android user, rather than an Android Open Source Developer. Our Android Support team will be in contact with you shortly. In the meantime, here are helpful resources:
sb...@gmail.com <sb...@gmail.com> #7
Again: as of Samsung's Android 11 upgrade, an attached USB drive is no longer accessible to programs at its former mount point, "/storage/xxxx-xxxx" (where the xs are the drive's Android ID). This path pattern still works for an embedded micro-SD card, but not for USB drives--only.
This is huge for programs like mine which use the file API in the C library (NDK). Without access by device-agnostic paths, programs must allow for USB as a special case everywhere, and expand IO operations to handle them uniquely, using proprietary Java-based API code that's inconvenient for C-based programs and would be required on Android alone.
I would be happy to learn that this is a Samsung-only issue, but have no way to test this. Surely, the AOSP team does; simply attach a USB drive and run a wireless "adb shell ls /storage/xxxx-xxx" using the drive's ID to see if the drive's former mount path still works on Android 11. If this works, it's a Samsung issue, and has already been raised in its forums. Given that file explorers seem to open files with content URIs in 11, though, my bet is on it being an issue in Android itself.
Thanks for your attention.
ja...@google.com <ja...@google.com> #8
Thank you for reporting this issue. We just need a few things for us to further investigate this issue:
Please fill out each question and comment, thank you.
-
Have you observed this bug on Pixel devices as well?
-
Android Build Version (go to Settings > About Device > Build Number (hold down to copy))
-
Android app name and version if an app related issue:
-
Upload the full bug report file after the issue has occurred. Steps followed here:
https://developer.android.com/studio/debug/bug-report -
Please provide a simple sample project (exported zip Android Studio file) that reproduces the issue. This gives us the closest test environment to yours and allows us to inspect the code/structure used which will help analyze your issue.
-
Steps to reproduce issue specific to the provided sample project: [Be as specific as possible]
- 1
- 2
- 3
-
Expected Results:
-
Observed Results:
Note: Please upload to google drive and share the folder to
The more information we have, the more accurately our product and engineering team can solve the issue. Thank you so much for your time and for your cooperation.
sb...@gmail.com <sb...@gmail.com> #9
> Have you observed this bug on Pixel devices as well?
No. (I have only Samsung devices to test, and have been able to install Android 11 only on a Galaxy Note 20 Ultra to date. I suspect this is an Android issue based on file-open behavior of file explorers on 11, but may be wrong.)
> Android Build Version (go to Settings > About Device > Build Number (hold down to copy))
RP1A.200720.012.N986U1UEU1CTL4 (Aside: hold down does not seem to copy; does developer mode prevent this?)
> Android app name and version if an app related issue:
N/A. (This has been seen in ADB commands, so it's cross-app (but was also verified in Termux and Pydroid 3 apps.)
> Upload the full bug report file after the issue has occurred.
N/A. (This is a persistent, global condition, not a crash. If you require a bug report anyhow, please let me know.)
> Please provide a simple sample project (exported zip Android Studio file) that reproduces the issue.
N/A. (This is a persistent, global condition. The first observation was in Python code which ultimately runs C-library file API calls via NDK, but this is not relevant.)
> Steps to reproduce issue specific to the provided sample project: [Be as specific as possible]
As noted previously:
1 Connect a PC to a phone by wireless ADB
2 Insert an external USB drive into the phone
3 Run command "adb shell ls /storage/xxxx-xxxx" on the PC, where xxxx-xxxx is the Android drive ID
The Android drive ID is available in many file explorers, including Total Commander. This will produce an error message if the drive is not available at its former mount point. Alternatively, an "ls /storage/xxxx-xxxx" command run at the Termux app's command line on the phone itself will have the same effect without requiring an ADB connection.
> Expected Results:
If the bug doesn't exist, the ADB command should generate a listing of the USB drive's top-level content, as it does on Androids Oreo through 10 (and likely earlier).
> Observed Results:
For my USB drive:
~$ /.../android-sdk/platform-tools/adb shell ls /storage/8145-191C
ls: /storage/8145-191C: No such file or directory
> Note: Please upload to google drive and share the folder to android-bugreport@google.com, then share the link here.
I have uploaded all the files previously attached here to a Google Drive folder, which should be accessible at:
ja...@google.com <ja...@google.com> #10
Thank you for reporting this issue. We just need a one thing for us to further investigate this issue:
- Upload the full bug report file after the issue has occurred. Thank you so much.
sb...@gmail.com <sb...@gmail.com> #11
ja...@google.com <ja...@google.com>
vi...@google.com <vi...@google.com> #12
sb...@gmail.com <sb...@gmail.com> #13
Assuming that qualifies as official, this means that it's not limited to Samsung devices, and the ball is in Android's court. Please consider restoring general USB access; this is crucial functionality for many use cases, and seems to have been erroneously removed from legacy apps.
sb...@gmail.com <sb...@gmail.com> #14
To be fair, it's unknown if USB was ever accessible on Pixels as it was on Galaxies, and it's reasonable to put USB-drive access behind a user toggle in Settings. But an absolute revocation like that current in Android 11 kills existing programs which rely on USB for non-trivial content management, and are unable to invest in major recoding work. Please consider addressing this; Android 11 is unusable for many users as it is.
sb...@gmail.com <sb...@gmail.com> #15
This would be functionally equivalent to user approval of app requests, and could naturally come with a warning. But it would be especially helpful for C++/POSIX programs based on the File API. Without USB-path access, the rewrites required to support USB in such programs are so extensive that they often won't happen, leaving slow and unreliable alternatives for users with non-trivial content collections. With at least developer-level access, programs that rely on USB for content management would be able to advise users on the option, and defer or avoid prohibitively costly rewrites.
Restoring the former USB accessibility would be preferable, but a simple work-around that helps those who need it while not harming those who don't seems a reasonable compromise. At any rate, please consider some action on this; for many, USB access is one of the main reasons to use the Android platform.
su...@google.com <su...@google.com> #16
Thank you for your feedback. We assure you that we are doing our best to address all issues reported. For now, we will be closing the issue as Won't fix (Obsolete). If this issue currently still exists, we request that you log a new issue along with the bug report here
sb...@gmail.com <sb...@gmail.com> #17
As a standalone app, this is able to request Android's All Files Access permission (MANAGE_EXTERNAL_STORAGE) to regain file-path/POSIX access to both removable USB drives and on-phone storage. The app still uses Python code to access files (ultimately, with native C-library calls), but this works for both USB drives and on-phone storage with the user-granted permission.
This approach restores the USB-drive access taken away in Android 11. I would almost mark this as a solution, except that building standalone apps to get USB access is fairly onerous. This was a multi-month task, and seems unnecessary: users who attach a USB drive are implicitly granting access to it. Moreover, All Files Access is conditional on Play-store approval; many types of apps cannot use it, except for sideloading.
That said, this issue was closed without a change. We'll have to settle for standalone app development to run file-path/POSIX code and libraries on Android.
Description
embedded MSD card card still be addressed as "/storage/6C2A-1618"; only USB drives can no longer be accessed by my programs.
This is a showstopper for me. These are Python backup/sync programs which run in both the Termux and Pydroid 3 apps; use the POSIX file interface; and have worked well since Android Oreo, and on Notes 9 through 20. USB access is required for syncing large data sets, and alternatives like MTP are far too slow to be practical.
I am unfortunately unable to test on other devices, so am unsure if Android 11 has dropped USB path access, or Samsung has neglected to mount the drive. If it's Samsung, this should be fixed (and will be reported). If it's Android, this is a bug: these are legacy apps that should get an opt-out of the new scoped storage. They generally do, except for the USB drive.
Please resolve. Without access to USB drives' former path names, my phone has been functionally bricked by the upgrade, and Android has become a lot less useful for users with large content collections.