Разрешение на запись в корень sd-карты на Android 4.4+

Сегодня: 21.05.2018, Понедельник

Ни для кого не секрет, что операционная система Android широко распространена в мобильном мире.

Защита Google для OS Android

Такое повсеместное использование детища от Google провоцирует и рост числа хакерских атак на данную платформу. В целях борьбы с этим неприятным моментом IT-гигант пытается вводить новые функции, нацеленные на повышение безопасности владельцев устройств с системой Андроид, но некоторые из этих функций могут стать источником дополнительных неудобств. О том, как устранить одно из таких неудобств, и пойдёт речь ниже

Ограничение доступа к карте памяти

В теме Память на Android. Все разделы памяти Андроид устройств мы уже касались вопроса памяти мобильной операционной системы. Многие пользователи смартфонов на базе Android версий 4.4 и старше столкнулись с ситуацией, когда программы от сторонних разработчиков не имеют доступ в корень карты памяти. Причём возникает данная проблема и у тех, кто приобрёл новый аппарат уже с Android KitKat и выше на борту, и у тех, кто обновился до новой системы уже после покупки.

Почему программы Андроид не имеют доступ в корень sd-карты?
Дело в том, что открытый доступ в корень накопителя - это большая дыра в безопасности всей операционной системы. Делая попытки обезопасить пользователей от злоумышленников, компания Google пошла на такой шаг, как ограничение доступа к карте памяти.

Говоря простым языком, во многих прошивках на базе Android 4.4 и выше программы от сторонних разработчиков больше не могут записывать данные в корень карты памяти. Возможность записи в каталоги, расположенные на флеш-карте, сохранилась. Усугубляется ситуация тем, что данное ограничение затронуло все приложения без исключения, в том числе и файловые менеджеры.

Такое положение дел устраивает далеко не всех, поэтому ниже мы рассмотрим способ вернуть сторонним программам доступ к корню карты памяти.

Программа SDFix от компании NextApp

Сразу отметим, что для решения проблемы нам необходимо наличие рут-прав у пользователя в системе Андроид. В статье Убираем рекламу на Android. Файл hosts мы уже касались этого определения. Приведём ниже небольшую выдержку:

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

Итак, у нас, по сути, есть два варианта действий:

  • программный (в автоматическом режиме);
  • ручной (редактированием системных файлов).

Для использования программного метода нам необходимо скачать на свой аппарат приложение SDFix: KitKat Writable MicroSD от компании NextApp из магазина Google Play или из прикреплённого к этой статье файла: nextapp.sdfix

Установить программу и запустить её, дав разрешение на root-доступ

Запуск программы SDFix на Андроид

Соглашаемся на внесение изменений и жмём на кнопку Continue
После некоторого ожидания программа выдаст сообщение об успешном завершении операции

Выполнение программы SDFix на Андроид

Кроме того, перед внесением изменений программа SDFix создаёт резервную копию редактируемых файлов, которая сохраняется по пути

/system/etc/permissions/platform.xml.original-pre-sdfix

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

Ручное предоставление доступа к карте памяти на Андроид

Устранение проблем записи на внешнюю SD-карту в Android 4.4+ возможно и в ручном режиме.
Стоит понимать, что вышеупомянутая программа SDFix всего лишь выполняет одну функцию, которую вполне можно воспроизвести и самостоятельно.

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

Приведём пошаговую инструкцию по редактированию файла platform.xml

  1. Делаем бэкап системы смартфона. Бэкап нам нужен для возможности отката в случае непредвиденных обстоятельств и сбоев. Можно просто сделать копию файла, который мы собираемся редактировать, но надёжнее будет делать полный бэкап системы из recovery
    Бэкап системы Android из recovery
  2. Теперь запускаем любой файловый менеджер Андроид, допустим, это будет Total Commander
    Каталог /system/etc/permissions/ на Android
  3. Переходим в каталог
    /system/etc/permissions/
  4. Копируем из каталога файл platform.xml в любое удобное место
  5. Открываем созданный файл текстовым редактором для внесения изменений
    Редактирование файла platform.xml
  6. Находим в файле кусок кода, имеющий вид:
    <permission name="android.permission.WRITE_EXTERNAL_STORAGE">
    <group gid="sdcard_r" />
    <group gid="sdcard_rw" />
    </permission>
  7. И перед закрывающим тегом прописываем следующую строчку:
    <group gid="media_rw" />

    В итоге у нас должен получиться следующий фрагмент кода:

    <permission name="android.permission.WRITE_EXTERNAL_STORAGE">
    <group gid="sdcard_r" />
    <group gid="sdcard_rw" />
    <group gid="media_rw" />
    </permission>
  8. Сохраняем внесённые изменения
  9. Копируем отредактированный файл обратно в папку /system/etc/permissions/, согласившись на замену (то есть при запросе нажимаем Перезаписать)
  10. Теперь в свойствах файла выставляем ему права rw-r--r-- (код, соответствующий этой настройке - 0644)
    Выставление прав на файлы в Андроид
  11. Перезагружаем аппарат.

На этом всё. После того, как ваше устройство загрузится, сторонние приложения смогут записывать свои данные в корень нашей флеш-карты.

Мы предоставили доступ к корню карты памяти Андроид программам.

Полных вам прав и безграничных возможностей.



Добавить комментарий

Разрешение на запись в корень sd-карты на Android 4.4+: 7 комментариев


  1. Dimsson A.B.Ciz

    После перепрошивки мой девайс»»в 2018г. Вдруг браузер перестал грузить в папки какие я хочу-на microSD из за какой-то там политики андроид. Раньше без проблем😀
    А сейчас😬. Смотрел в поисковике что к чему весь вечер что за порога эта-SDFix-почему других прог нет, на этом сайте проникся скачал прогу установил все как написано -1мин. И вуа-ля браузер как раньше, надеюсь и программы типо Фото и видео будут также переносить как раньше. Мой-
    -Micromax Canvas Pace 4G

  2. Слава

    У меня уже была прописана эта строка. Хотя плеер джетаудио например не может изменять файлы на сдкарте.

  3. Александр

    Все как часики !!! Работает. Спасибо ! Я не морочился с заменой файлов и атрибутов. Просто отредактировал родной файл. Естественно копию сделал на всякий случай. ))) Без рута господа это бесполезно. Кто не знает что такое рут права тому это не поможет.

    1. Apres Автор записи

      Спасибо за положительный отзыв, Александр.
      Думаю, кто в следующий раз до комментариев доберётся, может сэкономить время благодарю вашему сообщению.

    1. Apres Автор записи

      Руслан, если я ничего не путаю, то чтобы разрешить запись в корень карты на прошивке MIUI, нужно предварительно зайти в Настройки — Все приложения — Отобразить системные, найти там приложение Документы (или Documents), включить его. И после этого уже проверять возможность записи в корень карты сторонними приложениями.
      Должно сработать.

      1. Аноним

        Способ с Документами пробовал в первую очередь.Результата ноль.