Así que, estoy tratando de hacer una aplicación en Android studio y necesito hacer referencia a un archivo en particular en la aplicación, cascade.xml.
Lo he metido en el teléfono emulado sin problemas usando adb (está en la carpeta storage/sdcard). Sin embargo, la app sigue sin poder acceder a él y creo que es porque los permisos del archivo son -rwxrwx---
(lo que significa que no hay acceso global). Estos permisos se verifican en ADM y utilizando ls -l <filename>
Intento cambiar los permisos de ese cascade.xml
volviendo a entrar en el shell ( adb shell
) utilizando chmod 777 /storage/sdcard/cascade.xml
pero falla en silencio y no hace nada. He probado a hacer otros chmods y no le pasa nada en absoluto. Si hago su
y luego chmod 777 /storage/sdcard/cascade.xml
lo mismo. Tratando de hacer otras chmod
s como chmod 700
y similares tampoco hacen nada (falla silenciosa).
Ahora, si intento hacer un directorio en la carpeta, puedo hacerlo usando mkdir
- mkdir /storage/sdcard/cascades
funciona bien, y los permisos de archivo de la carpeta son drwrwx---
. Sin embargo, si intento utilizar mkdir chmod
para crear la carpeta y terminar con los mismos permisos - como mkdir chmod 770 /storage/sdcards/cascades2
- la cáscara dice mkdir failed for chmod, Read-only file system
. También puedo hacer archivos de texto haciendo algo como echo 'Hello World.' > /storage/sdcard/foo.txt
(que lo crea con permisos de -rwxrwx---
), pero si se intenta chmod
después, no pasa nada. Si intento hacer `echo 'Hello World.' > storage/sdcard/foo2.txt chmod 777, es el mismo permiso pero el tamaño del archivo es 24 en lugar de 14.
He hecho todas las iteraciones de mount
y remount
que se me ocurren, y sigo sin conseguir que chmod funcione correctamente. He probado a ejecutar su
frente a todo, y nada. He probado a empezar con adb root
y dice que ya estoy en Root. También puedo empujar cosas el emulador usando ADM y adb push
. Por desgracia, todo mi entorno está en un dispositivo con Windows 7, por lo que no puedo hacer un archivo con -rwxrwxrwx
y simplemente transferirlo (a menos que haya una configuración de permisos en Windows que haga que se transfiera como un permiso 777 que desconozco).
Editar: Se olvidó de mencionar, el teléfono emulado se ejecuta la API 19, objetivo de Google APIs (Sistema x86), corriendo KitKat.