SSHelper: SD-карта Отказано в доступе

10

Я не могу записать на мою SD-карту с помощью 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

Во "внутреннем" sdcard нет проблем:

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

Android 5.1.1 Информация о приложении Permissions показывает:

  • изменить или удалить содержимое вашей SDCard. прочитайте содержимое вашей SD-карты

Чего не хватает, чтобы иметь возможность scp файлы на моей карте micro SD с помощью SSHelper?

heroedeleyenda
источник
На андроиде 4.2.2 он отлично работает как на / data, так и на / storage / sdcard1
heroedeleyenda
Это безумие, как трудно использовать разрешения для vfat, который не был разработан для этого. Я не понимаю, почему Android не использует вместо него ext2.
Heroedeleyenda

Ответы:

4

Взгляните на различные способы решения этой проблемы, как описано в официальных документах .

Вот некоторые выдержки:

Одно из нелегких решений - вынуть внешнее запоминающее устройство из устройства Android, записать его в другом месте и положить обратно. Это большая боль, и работает, только если у вас есть доступ к устройству и вы немного технарь.

Существует более сложное решение, которое предоставляет постоянный доступ для записи, и я объясню здесь. Но будьте осторожны - это не обычное действие для конечных пользователей, и если вы не будете осторожны, вы можете заблокировать ваше устройство.

Последнее решение требует root-доступа и модификации, /system/etc/permissions/platform.xmlчтобы включить <group gid="media_rw" />разрешение в соответствующие разделы, как показано ниже:

<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>

Также обратите внимание, что ваши изменения в вышеуказанном файле, скорее всего, будут потеряны при обновлении OTA (по воздуху).

Mansour
источник