En un intento de transferir un archivo desde un servidor remoto a un dispositivo Android, me encontré con problemas de permisos.
Resulta que no tengo un permiso de escritura en la ubicación de la tarjeta SD (/ mnt / extSdCard).
Estoy usando SSHDroid como servidor ssh en el dispositivo Android y vSSH como cliente ssh para participar en ssh en el dispositivo Android.
Dado que tanto sudo como su parecen estar ausentes en la aplicación de servidor ssh (SSHDroid), me pregunto cómo puedo cambiar / obtener permiso para escribir en la ubicación de la tarjeta SD. ¿O el privilegio de root no es suficiente para cambiar los permisos de escritura, y esto se rige únicamente por el sistema operativo Android, por lo que es una limitación del sistema operativo?
Lo que puedo hacer es escribir en la ruta de inicio del servidor ssh (SSHDroid). Esta ruta, sin embargo, es muy engorrosa y no se puede acceder desde la API normal del navegador de archivos de Android. Esta es la razón por la que quería transferir el archivo a una ruta accesible , como la tarjeta SD.
Suplemento. La versión de Android es 4.4.2. La versión del kernel es 3.4.0-1539356 # 1.
fuente
Respuestas:
Una de las restricciones introducidas con 4.4-kitkat fue trasladar el
WRITE_EXTERNAL_STORAGE
permiso al nivel de protección "SignatureOrSystem", lo que significa que incluso si se solicita, una "aplicación normal" (es decir, una que se instale como "usuario normal" sin ninguna especialidad raíz) no Ya no lo concedas. Así que hay muy pocas cosas que puede hacer para "solucionar" esto:<sdcard>/Android/data/<package_name>/
, ya que este es el único lugar donde una aplicación puede escribir en SD con Kitkat)fuente
Siempre puede sacar la tarjeta sd externa del dispositivo y conectarla a su PC. La mayoría de las PC no son compatibles con las tarjetas micro SD, pero puede usar un adaptador. Más información aquí: https://en.wikipedia.org/wiki/Secure_Digital#Micro
Si la tarjeta sd externa está montada en su PC, puede leer y escribir todos los archivos en ella :-)
fuente