Utilizando nuestro servicio de consultoría gratuita Jesús nos hizo la siguiente consulta:
Hola muy buenas, En primer lugar enhorabuena por la página. Me gustaría haceros una pregunta acerca de Android: tengo un emulador creado, con una sdcard, en la cual he creado una carpeta dentro (utilizando la vista File Explorer del eclipse). Mi pregunta es: ¿cómo puedo cambiar los permisos para todos los ficheros y directorios que añada a esa carpeta? el problema es que aunque los añada,no tiene los permisos que debería ----rwxr-x y yo quiero que sea de lectura y escritura para el usuario, ya que sino cuando ejecuto la aplicación el emulador no puede leerlo. En cambio desde mi terminal real sí, puesto que tiene los permisos de lectura escritura. ¿Cómo soluciono este problema? Muchas gracias por todoAl crear un nuevo Android Virtual Device (AVD) para probar el funcionamiento de tu aplicación en el simulador de Android, descubres que al tratar de manipular archivos dentro de una partición, como por ejemplo la SDCard, obtienes un “Permission Denied” si la partición es de sólo lectura.Si dentro de Eclipse, usando la perspectiva DDMS, pinchamos sobre la pestaña File Explorer, vemos los permisos que tiene cada directorio de nuestro dispositivo virtual en la columna Permissions. Si queremos cambiar alguno de ellos para que deje de ser read-only y pase a ser read-write veremos que no nos deja. Sin embargo, en el dispositivo real, al ejecutar la aplicación, este directorio si es de escritura y lectura porque se tienen los permisos adecuados. Bien, la solución no debemos de buscarla en el Eclipse, sino en la consola adb.
- Lanza tu AVD creado a través del Android Virtual Device Manager y pulsa Start.
- Una vez que haya arrancado, abre un terminal, en mi caso como uso Windows, ejecuto cmd.
- Hay que asegurarse de que podemos trabajar con privilegios de super usuario. Escribe:
adb root
Si la respuesta es “adbd is already running as root” es que ya los tenemos.
Si nos dice “unable to run as root on production builds”, tendremos que utilizar el comando “su” más adelante. - Escribe:
adb shell
Asegúrate de que aparece una #, eso es que ya estamos ejecutando la consola adb.
- Si no eres super usuario, escribe:
su
Si no, no hace falta que pongas nada.
- Escribe:
mount -o remount rw /sdcard
Con esto cambias los permisos de la carpeta SDCard. Puedes cambiar el directorio /sdcard por otro que necesites.
Reinicia tu AVD. En la ventana de File Explorer verás como cambian los permisos para la carpeta SDCard.
ANTES:
d--------
DESPUÉS:
d---rwxr-x
¡Esperamos que te haya sido de ayuda! Si aún persiste el problema o tienes alguna duda más, no dudes en hacer uso de los comentarios para notificarlo.
¡Saludos!
Muchas gracias,
Me función tal cuál quería!
Un saludo
Amigo, las configuraciones que me diste son para simular la tarjeta interna.. más no la externa.. es así?