SSHelper: permiso de tarjeta SD denegado

10

No puedo escribir en mi tarjeta SD usando SSHelper:

u0_a264@MSM8974:/storage/sdcard1 $ df /storage/sdcard1                                                               
Filesystem               Size     Used     Free   Blksize
/storage/sdcard1       119.1G   625.3M   118.4G   32768

u0_a264@MSM8974:/storage/sdcard1 $ mkdir Test

mkdir failed for Test, Permission denied

En la tarjeta sd "interna" no hay problema:

u0_a264@MSM8974:/data/data/com.arachnoid.sshelper/home $ mkdir Test
u0_a264@MSM8974:/data/data/com.arachnoid.sshelper/home $ rmdir Test

Los permisos de información de la aplicación Android 5.1.1 muestran:

  • modificar o eliminar el contenido de su tarjeta sd. lea el contenido de su tarjeta SD

¿Qué falta para poder scp archivos en mi tarjeta micro SD usando SSHelper?

heroedeleyenda
fuente
En un Android 4.2.2 funciona bien tanto en / data como / storage / sdcard1
heroedeleyenda
Es una locura lo difícil que es usar permisos en vfat, que no fue diseñado para eso. No entiendo por qué Android no usa ext2 en su lugar.
heroedeleyenda

Respuestas:

4

Eche un vistazo a las diversas formas de solucionar este problema como se explica en los documentos oficiales .

Aquí hay un extracto:

Una solución, nada fácil, es sacar el dispositivo de almacenamiento externo del dispositivo Android, escribir en otro lugar y volver a colocarlo. Este es un gran dolor, y funciona solo si tienes acceso al dispositivo y eres un poco técnico.

Hay una solución más difícil que otorga acceso de escritura permanente, que explicaré aquí. Pero tenga cuidado: esta no es una actividad normal para los usuarios finales y, sin tener cuidado, podría bloquear su dispositivo.

La última solución requiere acceso de raíz y modificación /system/etc/permissions/platform.xmlpara incluir <group gid="media_rw" />permisos en las secciones relevantes como se muestra a continuación:

<permission name="android.permission.READ_EXTERNAL_STORAGE" >
    <group gid="sdcard_r" />
    <group gid="media_rw" />
</permission>

<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
    <group gid="sdcard_r" />
    <group gid="sdcard_rw" />
    <group gid="media_rw"/>
</permission>

<permission name="android.permission.ACCESS_ALL_EXTERNAL_STORAGE" >
    <group gid="sdcard_r" />
    <group gid="sdcard_rw" />
    <group gid="sdcard_all" />
    <group gid="media_rw" />
</permission>

También tenga en cuenta que sus cambios en el archivo anterior probablemente se perderán cuando realice una actualización OTA (Over-The-Air).

Mansour
fuente