File: mergeall-android11-updates-media/MORE--logs-and-code/Permissions-Termux-PRE-REINSTALL.txt
#######################################################################################
# Demo an odd and sporadic permissions demotion in Termux on Android 11.
# This is the "after" picture - when Termux's permissions have been downgraded.
# This appears to happen only shortly after installing the Termux app.
# To fix: toggle Termux's storage permissions off and on in Settings/Apps.
# See also Permissions-Termux-POST-REINSTALL.txt for the "before" picture.
#######################################################################################
$ python
Python 3.9.1 (default, Dec 9 2020, 13:22:01)
[Clang 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489 on linux
Type "help", "copyright", "credits" or "license" for more information.
# APP-PRIVATE: OKAY
>>> open('/data/data/com.termux/xxx.txt', 'w').write('1234')
4
>>> open('/data/data/com.termux/xxx.txt', 'r').read()
'1234'
# SHARED: CAN WRITE BUT NOT READ
>>> open('/sdcard/xxx.txt', 'w').write('1234')
4
>>> open('/sdcard/xxx.txt', 'r').read()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
PermissionError: [Errno 13] Permission denied: '/sdcard/xxx.txt'
# ONBOARD MSD: CAN WRITE BUT NOT READ
>>> open('/storage/6C2A-1618/xxx.txt', 'w').write('1234')
4
>>> open('/storage/6C2A-1618/xxx.txt', 'r').read()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
PermissionError: [Errno 13] Permission denied: '/storage/6C2A-1618/xxx.txt'
# ATTACHED USB: NO ACCESS AT ALL (A NEW NORM)
>>> open('/storage/8145-191C/xxx.txt', 'w').write('1234')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '/storage/8145-191C/xxx.txt'
>>>
>>> open('/storage/8145-191C/xxx.txt', 'r').read()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '/storage/8145-191C/xxx.txt'
# MSD APP-SPECIFIC: OKAY
>>> open('/storage/6C2A-1618/Android/data/com.termux/xxx.txt', 'w').write('1234')
4
>>> open('/storage/6C2A-1618/Android/data/com.termux/xxx.txt', 'r').read()
'1234'
# USB APP-SPECIFIC: NOPE
>>> open('/storage/8145-191C/Android/data/com.termux/xxx.txt', 'w').write('1234')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '/storage/8145-191C/Android/data/com.termux/xxx.txt'