Usando el programa de emulación de terminal termux (https://termux.com), escribo el siguiente comando:
ls /sdcard
Recibo el siguiente error:
ls: can't open '/sdcard': Permission denied
Al darme cuenta de que el directorio /sdcard en Android es un enlace simbólico, intenté encontrar la ubicación del directorio real -- descubriendo que no solo es un enlace simbólico, sino un enlace simbólico a otro enlace simbólico, y el directorio real es /storage/emulated/0
Entonces finalmente, escribí:
ls -ld /storage/emulated/0
El resultado que obtuve fue:
drwxrwx--x 63 root sdcard_r 4096 Aug 10 12:04 /storage/emulated/0
En resumen --- no sé si termux solía ejecutarse con los permisos del grupo sdcard_r o si los permisos o solían permitir lectura-escritura -- pero necesito saber cuál de los dos solía ser y cómo arreglar las cosas - porque poder acceder al contenido de la tarjeta SD interna es bastante crítico.
No, mi dispositivo no está rooteado, ni planeo hacerlo - así que no puedo dar ninguna información que tendría que rootea el dispositivo para obtener. Sin embargo, nunca antes el hecho de no estar rooteado me impidió tener acceso de lectura al directorio /sdcard - así que esto es nuevo (y perturbador).
Es cierto - han pasado unos meses desde la última vez que intenté hacer esto - pero esta nueva limitación de Android realmente obstaculiza la usabilidad de termux y quién sabe qué más -- ya que necesito poder acceder a los archivos que están en mi tarjeta SD. (Todavía puedo hacer mucho, incluso sin permisos de escritura, pero estoy prácticamente atascado si no tengo permisos de lectura, como es actualmente el caso.)
1 votos
Hmm, parece que tiene el permiso
READ_EXTERNAL_STORAGE
, así que debería tener acceso.3 votos
Sí --- pero aparentemente se había apagado. Me di cuenta cuando fui a Preferencias del Sistema > General > Aplicaciones > Termux ---- y encontré que había un interruptor para el acceso a los archivos que de alguna manera se había apagado. Huelga decir que lo volví a encender, y el problema se solucionó. Por supuesto, la crisis inmediata ha terminado --- pero esto aún plantea la pregunta de qué lo causó apagarse en primer lugar. (Sé que yo nunca hice eso.)
0 votos
Tuve el mismo problema, y tu respuesta aquí lo solucionó para mí. Aquí está lo que creo que sucedió: Android 7 ahora permite denegar permisos (¡bien!), pero, en el caso de Termux, por alguna razón, no solicita permiso como lo hacen otros programas. Entonces, el problema no es que de alguna manera se haya desactivado, sino que nunca se activó. Aunque esto es especulación.
3 votos
Se puede ejecutar termux-setup-storage para hacer que la aplicación solicite permisos de almacenamiento. Ver termux.com/storage.html.