Блокировка свободной записи на SD в устройствах Android 4.4

    Всем хорошего дня! На днях на мой HTC ONE Dual Sim вышла свежая кастомная прошивка на Android 4.4.2 Kit Kat и сразу же озадачила большинство пользователей устройства тем, что Google заблокировал приложениям свободную запись на SD — карты.

    image


    Далее тривиальный интерес, немного гугления и после нескольких проб и ошибок у меня получилось обойти ограничение.
    Отбросив тени сомнения, решил поделиться с сообществом, возможно кому-то это решение пригодится.
    Работает этот вариант только под устройствами имеющими root-доступ, т.к. нужно править системные файлы.
    Итак, нам нужно отредактировать файл /system/etc/permissions/platform.xml
    В нем находим секции android.permission.WRITE_EXTERNAL_STORAGE и android.permission.WRITE_MEDIA_STORAGE
    Их то нам и надо отредактировать. В моем устройстве данные секции должны выглядеть так:
    <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
        <group gid="sdcard_r" />
        <group gid="sdcard_rw" />
        <group gid="media_rw" />
    </permission>
    <permission name="android.permission.WRITE_MEDIA_STORAGE" >
        <group gid="sdcard_rw" />
        <group gid="media_rw" />
    </permission>
    

    После сохранения файла и перезапуска устройства мой любимый файл — менеджер получил права на запись на SD-карточку.
    На данный фикс меня натолкнула статья на androidpolice.
    Думаю, что продвинутые Android — разработчики знают это решение, но решил все-таки поделиться.
    Да и навряд ли производители смартфонов оставят это ограничение, если захотят использовать внешний SD слот.
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 30

      +1
      Похоже, это актуально для аппаратов с физической картой памяти, а не ее эмуляцией на встроенном чипе памяти. На HTC One (одномимовый) и Нексус 5 файлы тем же ЕС проводником отлично записываются на виртуальную карту.
        +2
        Речь идет о External SD картах, насколько я помню HTC One односим и Nexus 5 не имеют внешних слотов для SD?
          0
          Поправлюсь — даже если у Nexus 5 есть таки внешняя SD карта, но возможно для него данная проблема не актуальна.
            +1
            У Nexus 5 нет внешней карты памяти.
              0
              Спасибо, смутила противоречивая информация в интернете, т.к. не являюсь владельцем данного устройства — засомневался.
          0
          Google заблокировал приложениям свободную запись на SD — карты.


          В смысле, теперь приложение может писать только в свою папку...? Или и getExternalStorage() сломалась?
            +7
            Если только в свою то хорошо, а то этот срач в корне уже надоел.
              0
              Вы готовы к тому, что при удалении инстаграма будут тереться все его фотки с вашей карты?
                0
                Я то готов, но можно же разделить хранимые данные на текоторые сохранятся при удалении и те которые нет
                  0
                  Сорри за долгий ответ.
                  В статье на androidpolice, как я понял, говорится как раз о том, что ВСЕ данные приложения будут удаляться при удалении приложения.
                  Типа, вот такая новая концепция гуголя.

                  Хотя, возможно, это просто я чего-то не вкурил.
                    0
                    Гы, только сейчас обратил внимание, что статья и ваш комментарий были от 3 марта. Пролежали у меня в ридере.
                    Так что и первый мой ответ был супер-слоупочным.
                    Еще раз, извиняюсь. 8)
                  0
                  Это ограничение относится только к карте памяти, а во внутреннем хранилище срач, увы, так и останется. По мне, людей просто начинают исподтишка загонять в облачные сервисы. Конкуренции маловато, вот Google и распоясались.
                0
                Вот статья на русском языке internetua.com/Android-4-4-KitKat-blokiruet-programmam-svobodnuua-zapis-na-karti-SD Насколько я понимаю запись доступна только во внутреннее хранилище. Я не настолько силен в Android, решение пришло методом тыка.
                  0
                  Как ваши впечатления от 4.4.2 на One?
                  Не было ли проблем с Wi-Fi, перепрошивкой?
                  Если не секрет, какая у вас версия аппарата (d/w/t)?
                    0
                    У меня 802W, проблем с Wi-Fi не было. Мне 4.2.2 в общих чертах понравилась, Sense 5.5 можно использовать только после установки Sense 5 Toolbox, но это сугубое ИМХО, т.к. меня аж трясет от сетки 4x4 на рабочем столе.
                      0
                      4.4.2 конечно же, извиняюсь.
                        0
                        Спасибо за информацию. Да, меня стандартная сетка 4х4, или 4х5 тоже очень огорчает, достаточно долго уже пользуюсь Nova Launcher из-за этого.
                      0
                      После 4.4 на Samsung S5 на экране постоянно возникает «недостаточно памяти». Видимо какие-то приложения пытаются писать на SD карту.
                      Самое обидное, что слетел BT Sync — не может синхронизировать папки на внешней карте, а там все фотки.
                        0
                        S5 ведь еще не вышел. Да и он из коробки идет с 4.4
                          0
                          Ошибся, конечно S4. Сейчас на нём следующее в platform.xml:

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

                          Буду рутовать.
                            0
                            Подверждаю для S4. После рутования и изменения platform.xml все приложения, которые хотели писать на SD Card, снова заработали.
                              0
                              не последнем циане из коробки

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


                              пока что не видел проблем, хотя на 4.4.2 обновился еще до того как он стал офф поддерживаемым сообществом Циана
                        +3
                        Я тут нашел подробное описание того, что изменили, зачем и какие у этого последствия. Рекомендую.

                        www.androidpolice.com/2014/02/17/external-blues-google-has-brought-big-changes-to-sd-cards-in-kitkat-and-even-samsung-may-be-implementing-them/
                          0
                          Упс, извиняюсь, эта та-же самая ссылка, что и в статье. Слишком много открытых окон в браузере :)
                          0
                          Кстати, из приведенной ссылки на статью, да и из документации следует, что в некоторых случаях для записи на SD рут необязателен.
                          Например, если хотим, чтобы кеш яндекс карт сохранялся на SD, нужно в дополнительных настройках указать каталог, в котором данное приложение будет иметь полные права:
                          /storage/extSdCard/Android/data/ru.yandex.yandexmaps
                          

                          для карт 2ГИС:
                          /storage/extSdCard/Android/data/ru.dublgis.dgismobile
                          

                          К сожалению, не все приложения имеют такую возможность, например, для яндекс навигатора я не нашел способа смены каталога. Будем надеяться, что разработчики прочитают документацию и учтут разрешения на каталоги в будущих версиях, и «совместимо» с Android 4.4 можно будет писать без кавычек
                            0
                            что-то у меня не получилось заставить яндекс карты скачивать свои карты в каталог
                            /storage/external_SD/Android/data/ru.yandex.yandexmaps
                            но зато я смог заставить работать приём файлов в ES проводнике в
                            /storage/external_SD/Android/data/com.estrongs.android.pop
                            что меня гораздо больше радует.
                              0
                              а после перезагрузки телефона и загрузка в /storage/external_SD/Android/data/ru.yandex.yandexmaps заработала.
                              0
                              Больше спасибо, много волос было сохранено этим комментом!
                              Мне похоже пришлось только каталог самому создать там, и яндекс начал качать туда карты.
                              0
                              И как теперь файлменеджером чистить SD без рута?
                                0
                                На ASUS родной Андроидный файловый менеджер позволяет копировать на внешнюю SD.

                                Only users with full accounts can post comments. Log in, please.