10 votos

Permiso de escritura en ciertas rutas, como la tarjeta SD (extSdCard)

En un intento de transferir un archivo de un servidor remoto a un dispositivo Android me encontré con problemas de permisos.

Resulta que no tengo permiso de escritura en la ubicación de la tarjeta SD (/mnt/extSdCard).

Estoy usando SSHDroid como un servidor ssh en el dispositivo Android y vSSH como un cliente ssh para participar en ssh en el dispositivo Android.

Como tanto sudo como su parecen estar ausentes en la aplicación del servidor ssh (SSHDroid), me pregunto cómo puedo cambiar/obtener permiso para escribir en la ubicación de la tarjeta SD. ¿O es que el privilegio de Root no es suficiente para cambiar los permisos de escritura, y por lo tanto esto se rige únicamente por el sistema operativo Android, por lo que es una limitación del sistema operativo?

Lo que yo puede do es escribir en la ruta de acceso del servidor ssh (SSHDroid). Esta ruta, sin embargo, es muy engorrosa y no puede ser alcanzada desde la API regular del navegador de archivos Android. Esta es la razón por la que quería transferir el archivo a un accesible como la tarjeta SD.

Suplemento. La versión de Android es la 4.4.2. La versión del núcleo es 3.4.0-1539356#1.

3 votos

Eso es una restricción de Kitkat (lo llaman "seguridad", pero en realidad es más bien un "force2cloud"). No podrás evitarlo sin rootear tu dispositivo. Excepto para elegir tu interno Tarjeta SD, porque allí se puede escribir.

0 votos

@Izzy Si hubieras puesto eso en una respuesta entonces esta pregunta sería un pregunta contestada .

0 votos

Hecho, con algunos detalles más suministrados. Me hubiera gustado darle una respuesta mejor (con una solución más conveniente), pero Google lo prohíbe...

9voto

Izzy Puntos 45544

Una de las restricciones introducidas con 4.4-kitkat estaba moviendo el WRITE_EXTERNAL_STORAGE permiso para el nivel de protección "SignatureOrSystem", lo que significa que incluso si se solicita, una "aplicación normal" (es decir, una que se instala como "usuario normal" sin ninguna especialidad de root) ya no se le concederá. Así que hay muy pocas cosas que puedes hacer para "evitar" esto:

  • obviamente: arraigando el dispositivo, y eliminando este límite
  • usando el el directorio "personal" de la aplicación como almacenamiento de sus archivos sincronizados (es decir. <sdcard>/Android/<package_name> ya que es el único lugar donde una aplicación puede escribir en SD con Kitkat)
  • usando tu internal-sd como almacenamiento (ya que aquí la limitación no se aplica)

0 votos

¿Cuáles son las desventajas de rootear un dispositivo Android? La garantía queda obsoleta?

0 votos

Lo más probable. En la UE hay una ley para eso, que distingue entre garantía y aseguramiento. Una de ellas se aplica por ley (y no puede ser obsoleta por el arraigo), la otra es una oferta no obligatoria del fabricante, y con ello la decisión tomada por él. Fuera de la UE se ve de manera diferente, así que no hay una respuesta definitiva aquí.

1voto

Karl Fast Puntos 2812

Siempre puedes sacar la tarjeta sdcard externa del dispositivo, y conectarla a tu pc. La mayoría de los PC no soportan las microtarjetas, pero puedes usar un adaptador. Más información aquí: https://en.wikipedia.org/wiki/Secure_Digital#Micro

Si la tarjeta sdcard externa está montada en tu pc, entonces puedes leer y escribir todos los archivos en ella :-)

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