11 votos

Termux escribir en la tarjeta SD

Android 5

Termux 0.54

No root, no deseo hacerlo

$ pwd
/storage/sdcard1
$ id
uid=10096(u0_a96) gid=10096(u0_a96) groups=1015(sdcard_rw),1028(sdcard_r),3003(inet),9997(everybody),50096(all_a96)
$ ls -l python
total 0
$ ls -dl python
drwxrwx---    2 root     sdcard_r     32768 Sep 23 22:10 python

Entonces, según los permisos, debería poder escribir en la carpeta python. Pero al crear un archivo me da permiso denegado.

He visto la solución con platform.xml pero no puedo editar el archivo.

Me gustaría poder escribir en la tarjeta para poder mover fácilmente la tarjeta y los archivos entre máquinas.

Saludos, Juan

0 votos

Quizás tenga algo que ver con SELinux. ¿Qué muestra ls -ld /storage/sdcard1/? Además, ¿has habilitado el permiso de almacenamiento en la configuración de la aplicación de Termux?

0 votos

Esto es algo de lo que Google es responsable. A partir de Android 5 en adelante, se han implementado aún más restricciones en la tarjeta SD externa. Se espera que las aplicaciones hagan uso de una interfaz llamada DocumentProvider, para solicitar permiso al usuario para operar en la tarjeta SD. Como se puede inferir por lo anterior, no hay forma de otorgar manualmente este permiso si no se solicita, a menos que se tengan privilegios de root e instale Xposed, o se tenga un recovery personalizado, soporte init.d y se flashee un .zip para permitir el acceso a la tarjeta SD a cualquier aplicación.

0 votos

@TomYan Lamentablemente, como puedes ver en mi respuesta aquí, el permiso de Almacenamiento solo afecta a /storage/emulated/0 (/storage/sdcard0 en Lollipop).

6voto

Brian Mains Puntos 31772

Usa termux-setup-storage para configurar tu almacenamiento. Consulta https://wiki.termux.com/wiki/Termux-setup-storage para obtener instrucciones y más información. La escritura de datos estará habilitada en la carpeta privada de Termux en el almacenamiento externo a través de ~/storage/external, que es un enlace a Android/data/com.termux/files/ en tu tarjeta SD externa.

1 votos

Esto es para Android 6. Como mencioné, tengo android 5.

0 votos

El soporte para Android 5 fue discontinuado en enero de 2020

0voto

Bdeveloper Puntos 21

Te dice "permiso denegado" porque termux requiere acceso su para otorgar acceso. Dado que tu dispositivo no está rooteado, es obvio que no puedes obtener acceso su. El comando de Python está almacenado en el almacenamiento root y el comando que escribiste no puede acceder a Python como un usuario normal

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X