Как переключить внутреннюю память на внешнюю SD-карту и перенести приложения

Прочитал данный совет на этом сайте и решил его дополнить, т. было много вопросов как объединить и как переместить приложения. Данный способ работает, но с косяками. То есть:

  • после объединения — карту памяти не вытаскивать, т.к. карта памяти станет единым с внутренней памятью
  • вы не сможете внутреннюю карту памяти вернуть в обычную без форматирования.
  • вы не сможете переместить приложения не объеденив карту памяти и внутреннюю память.

Перед объединением лучше сделать резервную копию файлов, которые были на SD-карте.

1) Как зайти на «Хранилище»?

Выбрать карту памяти, нажать на «Три точки» и выбрать «Настройки хранилища»;

В открывшемся окне выбрать Внутренняя память. Отформатировать.

2) Как переместить приложение?

Зайти в приложение Activity Launcher;

Найти в списке, либо вбить «Все приложения».

Нажать на Все приложения (com. android. settings. Settings$ManageApplicationActivity);

Выбрать приложение, которое надо переместить;

Нажать «Хранилище и кеш», «Изменить» и выбрать SD-карту.

Всем добра и удачи

Если возникли вопросы, постараюсь ответить.

Сразу оговорюсь, что речь пойдет не о программах типа link2sd. Принцип похож, но связывать мы будем не программные каталоги, а каталоги данных этих программ, например /sdcard2/Navigon -> /sdcard/Navigon или /mnt/extSdCard/Books -> /sdcard/Books и т. Кроме того, нам нужен рут (куда ж без него). Кстати, после того как я узнал про эту программу, это для меня очередной аргумент за root.

Многие владельцы андроид смартфонов или таблеток с небольшей встроеной памятью наверняка сталкивались со следущей проблемой: вставлена большая sd карта (например 16, 32 или даже 64 Гигабайт), но после установки нескольких тяжеловесных программ наше устройство или очередная программа с наглостью заявляет, что на карте не хватает места. Иногда сама программа небольшая, но после установки лезет в интернет и тянет на смартфон гигабайты данных. В очередной раз получив сообщение «Нет места» и заглянув на карточку видим, что она практически пуста, зато внутренняя память устройства забита под завязку. Это происходит потому, что внутренняя память часто используется как каталог по умолчанию для многих программ. Дело в том, что она монтируется как /sdcard, что исторически всегда было внешней sd картой (раньше так оно и было на всех смартфонах). Внешняя же sd карта монтируется в этом случае как /sdcard2, /mnt/sdcard2, /mnt/extSdCard или даже /sdcard/. externalSD. Я так понимаю, что это делается изготовителями, чтобы устройство работало из коробки, т. совсем без sd карты.

Читать еще:   Как найти телефон? ТОП-6 приложений для Android и iOS

Многие «недобросовестные» программы всегда хотят читать/писать данные из/в каталог /sdcard/НазваниеПодставить. Редко это можно изменить в настройках программы. В результате имеем, что имеем, и несколько возможностей чтобы поправить сложившееся положение:

  • перемонтировать каталоги: внешнюю sd карту на /sdcard, а внутреннюю на /sdcard2 (нужен рут, если нет в настройках). По моему недостаточно гибкий способ, т.к. теперь уже внутренняя память лежит у нас мертвым грузом. Еще один недостаток этого способа — скорость работы системы.
    Если вы все же решитесь пойти этим путем, внизу я добавил как это можно сделать.
  • создать символьную ссылку на внешние каталоги, как нам нужно, например
    ln -sf /mnt/externalSD/Books /sdcard/Books.
    Не работает, если файловая система не поддерживает симлинк (например fat).
  • при загрузке андроида примонтировать внешние каталоги на внутреннюю память, используя что-то типа
    mount -o bind /mnt/externalSD/Books /sdcard/Books
    и добавить это в автозагрузку, например используя Autostart (root), чтобы это происходило автоматически при включении или после перезагрузки устройства.

Два последних способа тоже не являются панацеей, т. требуют определенных навыков от пользователя, кроме того не достаточно «чисты», например известны проблемы при подключении смартфона к компьютеру через usb (не отмонтируются) и т.

Поправить положение поможет программа DirectoryBind, которую хороший человек slig из xda написал для себя и выложил на форуме для всеобщего пользования.

Хоть публика здесь технически подкованная, но для неискушенных читателей хабра нужно сделать пару пояснений. Как он сам написал (программа not idiot-proof), т. врядли пройдет тест на дурака.

После установки запускаем программу (первый раз естественно навечно разрешаем права Root), нажимаем меню затем «Preferences» и выставляем пути по умолчанию на внешнюю память «Default data path» например /sdcard/external_sd/ и внутреннюю память «Default target path» /sdcard/. Выходим из меню.

Читать еще:   Обход ограничений при раздаче интернета по Wi-Fi с телефона на ноутбук, компьютер

Нажимаем меню, затем «Add new entry»

Теперь создадим новую связь каталогов, например перенесем папку CamScanner на внешнюю карту. Долгое нажатие на путь к папкам открывает небольшой встроеный файловый менеджер, в котором можно создать и/или выбрать папку. Папка на внешней карте должна быть создана (и пуста).

Установив галочку в «Transfer files from target to data» файлы и папки будут перенесены из каталога /sdcard/CamScanner/ в каталог /sdcard/external_sd/CamScanner.

Нужно заметить, что связи после создания не активируются автоматически (серая иконка дискеты, как на скрине внизу для gameloft). Для завершения связывания папок, выбираем галочками нужные связи и нажимаем меню -> «Bind checked». Иконки активных (связанных) папок должны стать зелеными.

Кстати если вы хотите присоединить еще и всю внешнюю карточку полностью рекомендую это сделать не так /sdcard/externalSD/, а с точкой впереди /sdcard/. externalSD/. Это спасет вас от таких неприятностей как двойные превьюшки в галереях, и т. Правда поможет не для всех галерей и плееров, т. некоторые ищут медиа и в скрытых каталогах. Помучившись, я для себя решил, связывать только отдельные каталоги.

UPD. Кстати, внешняя SD карта значительно медленнее внутренней памяти, поэтому перенос данных программы на внешнюю SD, естественно замедляет работу этой программы. Это особенно нужно помнить решившим полностью поменять маунт-пойнты внутренней и внешней памяти, т. скорее всего все ваше устройство будет работать медленнее, чем раньше.

Надеюсь эта программа дополнит и вашу копилку полезных утилит для андроид устройств.

Если вы все-таки решились поменять местами внутреннюю и внешнюю память, т. переназначить внешнюю sd карту на /sdcard и в настройках устройства нет такой опции — имея рут, это можно легко сделать выполнив следущую операцию:
В Root-Explorer монтируем «/etc» как R/W (если R/O), находим файл «/etc/vold. fstab», сохраняем копию и открываем (длинным кликом) его в Text Editor. В следующих двух строчках меняем название моунт точек местами:

Читать еще:   Настройка интернета на Андроид-смартфоне

Подробнее можно почитать здесь. Там же предлагают, как альтернативу, использовать другую интересную программу Root External 2 Internal SD. Добавлю, что в обоих случаях, перед переключением, вам нужно скопировать все содержимое папки /sdcard на внешнюю sd карту. Помните, что после переключения вся ваша система может работать медленней, чем раньше. Будьте осторожны — нужно понимать, что все что вы делаете под рутом, вы делаете на свой страх и риск, и например сохранение неправильного «vold. fstab» может привести к невозможности загрузить устройство и для лечения нужно будет грузится в рекавери и править «vold. fstab» уже там.

Этот способ можно использовать совместно с DirectoryBind, только теперь наоборот «Default target path» (/sdcard) и все связи созданные в DirectoryBind будут указывать на внешнюю карту.

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