Чем лучше накачать мышцы. Мой катехизис культуриста. Полезная информация для похудения

По умолчанию все приложения устанавливаются на внутреннюю память Андроид-устройства. Она же используется для хранения их кэша. Но даже памяти современных смартфонов иногда недостаточно для загрузки всего необходимого софта. Хорошо, что есть карты памяти с достаточным для этого объемом. Как их использовать для разгрузки основной памяти, мы рассмотрим далее.

Как переключить память Андроид-телефона на карту памяти

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

Для начала рассмотрим варианты переноса уже установленных программ, а затем – способы изменения внутренней памяти на память флешки.

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

Способ 1: Link2SD

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

Скачать Link2SD вы можете

Инструкция по работе с Link2SD такая:

  1. В главном окне будет перечень всех приложений. Выберите нужное.
  2. Прокрутите вниз информацию о приложении и нажмите «Перенести на SD-карту ».

Обратите внимание, что те приложения, которые не переносятся стандартным способом, могут снизить свой функционал. Например, перестанут работать виджеты.

Способ 2: Настройка памяти

Снова вернемся к системным средствам. На Андроид можно указать SD-карту, как место установки приложений по умолчанию. Опять-таки, работает это не всегда.

В любом случае попробуйте сделать следующее:

1. Находясь в настройках, откройте раздел «Память ».

2. Нажмите на « Предпочитаемое место установки » и выберите « SD-карта ».

3. Также можно назначить хранилище для сохранения других файлов, обозначив SD-карту как «Память по умолчанию ».

Расположение элементов на Вашем устройстве может отличаться от приведенных примеров.

Способ 3: Замена внутренней памяти на внешнюю

А этот метод позволяет обмануть Андроид, чтобы он воспринимал карту памяти как системную память. Из инструментария Вам понадобится любой файловый менеджер. На примере будет использоваться Root Explorer .

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

Порядок действий такой:

1. В корне системы откройте папку « etc ». Для этого откройте свой файловый менеджер.

2. Найдите файл «vold.fstab » и откройте его с помощью текстового редактора.

3. Сред и всего текста отыщите 2 строки, начинающиеся на «dev_mount » без решетки в начале. После них должны идти такие значения:

  • «sdcard /mnt/sdcard »;
  • «extsd /mnt/extsd ».

4. Нужно поменять местами слова после «mnt/ », чтобы стало так:

  • «sdcard/mnt/extsd »;
  • «extsd/mnt/sdcard ».

5. На разных устройствах могут быть разные обозначение после «mnt/ »: «sdcard », «sdcard0 », «sdcard1 », «sdcard2 ». Главное – поменять их местами.

6. Сохраните изменения и перезагрузите смартфон.

Что касается файлового менеджера, то стоит сказать, что далеко не все подобные программы позволяют увидеть вышеупомянутые файлы. Мы рекомендуем использовать ES Проводник .

Способ 4: Перенос приложений стандартным способом

Начиная с версии Андроид 4.0, можно перенести некоторые приложения с внутренней памяти на SD-карту без использования сторонних средств.

Для этого понадобится проделать следующее:

1. Откройте « Настройки ».

2. Перейдите в раздел « Приложения ».

3. Тапните (дотроньтесь пальцем) по нужной программе.

4. Нажмите кнопку «Переместить на SD-карту ».


Недостаток этого способа в том, что он работает далеко не для всех приложений.

Такими способами можно использовать память SD-карты под игры и приложения.



Андроид: Простой способ связать внешнюю 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 карты.

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

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

QR-код


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

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

Нажимаем меню, затем «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.
В следующих двух строчках меняем название моунт точек местами: dev_mount sdcard /mnt/sdcard /devices/platform/goldfish_mmc.0 ... dev_mount sdcard /mnt/external_sd auto /devices/platform/goldfish_mmc.1 ... на dev_mount sdcard /mnt/external_sd /devices/platform/goldfish_mmc.0 ... dev_mount sdcard /mnt/sdcard auto /devices/platform/goldfish_mmc.1 ...
Подробнее можно почитать

Малое количество внутренней памяти на дешевых смартфонах и планшетах Android главная проблема в невозможности установить приложения в таких случаях вам может помочь замена внутренней памяти Android на карту памяти.

Для тех кто не понял из заголовка о чем данная статья: предположим у вас 400 МБ внутренний памяти Android, что очень мало (примерно 12-20 установленных приложений), то тогда можно подумать чтобы взять и подменить основную память на карту памяти.

Риски и что необходимо знать

Замена внутренней памяти Android на карту памяти происходит только при наличие установленных root прав (нет root, способ не работает)! Для тех кто не знает что такое Root и как получить:

Помимо этого вы обязаны знать структуру файловой системы Android .

Подмена памяти возможна только при условии что на вашем Android устройстве имеется имеется системный файл vold.fstab по пути /system/etc , если такового у вас нет, то данный способ к сожалению не для вас ! Воспользуйтесь альтернативными способами (ссылка 1 , ссылка 2 , ссылка 3). Также если на Android нет собственной памяти , то эта статья также не для вас . Статья в большей степени для устройств с процессором Mediatek (MTK) или Rockchip.

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

С подменной внутренней памяти на карту памяти, у последней очень сильно падает срок эксплуатации (из-за частого чтения/записи), а также может упасть скорость работы Android если очень низкий класс карты MicroSD .

Инструкция замена внутренней памяти Android

на карту памяти

1. Установить файловый менеджер Root Browser (если выбрали другой, то в комментариях не писать “умных” вопросов “не вижу” “не редактирует”)

2. Запускаем файловый менеджер Root Broswser и переходим по по пути:

/system/etc/

3. Ищем файл vold.fstab и открываем его (зажимаем на файле и выбрать Edit)

4. В файле vold.fstab видим примерно такую картину:

# Regular device mount

Format: dev_mount
label – Label for the volume
mount_point – Where the volume will be mounted
part – Partition # (1 based), or ‘auto’ for first usable partition.
– List of sysfs paths to source devices
#

# Mounts the first usable partition of the specified device
#/devices/platform/awsmc.3/mmc_host for sdio
dev_mount sdcard /mnt/sdcard auto /devices/virtual/block/XXXXXX
dev_mount extsd /mnt/extsd auto /devices/platform/XXXXXX/XXXXXXX
/devices/platform/sunxi-mmc.0/mmc_host
dev_mount usbhost1 /mnt/usbhost1 auto /devices/platform/sw-ehci.1 /devices/platform/sw_hcd_host0 /devices/platform/sw-ehci.2 /devices/platform/sw- ohci.1 /devices/platform/sw-ohci.2

На данном примере обратите внимание выделено две строки, если внимательно перед эти прочитали структуру файловой системы Android, то вы уже знаете, что /sdcard или /sdcard0 это внутренняя память, а /extsd или /external_sdcard , /sdcrad1 , /sdcrad2 , /external_sd это внешняя память, то есть MicroSD.

Все что нужно сделать это заменить эти две строки местами:

dev_mount extsd /mnt/extsd auto /devices/virtual/block/XXXXXX
dev_mount sdcard /mnt/sdcard auto /devices/platform/XXXXXX/XXXXXXX

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

Попробуем детально разобрать, что это такое. Для начала убедитесь, что Вы обладаете root правами , позволяющими вносить изменения в системные настройки Android. Кроме того перед внесением подобного рода изменений рекомендуется изучить структуру построения файловой системы Android.

Описанный ниже способ подмены памяти возможен только при наличии системного файла vold.fstab, расположенного в папке /system/etc.

Следует предостеречь, что при выполнении замены памяти есть риск совершения ошибки, так как будет непосредственное редактирование системных файлов. Также нужно быть готовым к тому, что у карты памяти очень снизится срок эксплуатации, а также значительно может упасть скорость работы Android. Устранить вышеуказанные неполадки поможет перепрошивка устройства. Так что советуем перед выполнением системных корректировок взвесить все «за» и «против».

Алгоритм замены внутренней памяти Android на карту памяти

Обычно для этих целей используют файловый менеджер Root Browser, при закуске которого переходим в папку /System/etc/. Далее находим файл vold.fstab и открываем его. Для этого используют длительное удержание, а после нажимают Edit.

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

Приведем пример для общего понимания того, на что следует обратить внимание. Как известно внутренняя память Android обычно называется sdcard или sdcard0, тогда как внешняя может иметь названия extsd, external_sdcard, sdcrad1, sdcrad2.

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

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

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


Прежде чем копаться в настройках и все разом приложения переносить на флешку, нужно понять, какие, вообще, существуют типы памяти на вашем Андроид-устройстве:

  • оперативная - необходима для корректной работы приложений, программ и других процессов, которые выполняются в телефоне или планшете;
  • ПЗУ - хранит информацию об операционной системе во время прошивки и эти данные нельзя перенести на сторонние носители;
  • внутренняя - сюда устанавливаются приложения в автоматическом режиме, а также любая пользовательская информация; сколько осталось свободного места система сообщает при установке нового ПО;
  • карточка расширения - внешний накопитель , который призван расширить внутреннюю память устройства и хранить приложения, пользовательскую информацию.

Почему не получается сохранить приложения на SD-карту?

Во многих гаджетах автоматически разрешить установку новых приложений на флешку не получится. Это касается телефонов и планшетов начиная с версии 4.4.2 и заканчивая 6.0.1. В таком случае замена внутренней памяти на карту SD просто необходима, а сделать это можно несколькими способами (в том числе и использовать сторонние приложения). Но сначала нужно узнать версию Андроид, которая установлена на вашем гаджете. Для этого нажимайте последовательно на:

  1. Меню;
  2. Настройки;
  3. О телефоне.


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

Программы для переноса приложений на карту памяти

Разработчики позаботились о пользователях и создали программы для того, чтобы сделать память флешки основной на Андроид. Это особенно полезно для старых версий системы, например, 2.2 или даже более ранних.


Удобное ПО, в котором есть весь необходимый инструментарий для переноса информации с внутренней памяти на внешний накопитель. Интерфейс интуитивно понятный и простой. Доступные для перемещения приложения помечены иконками, при нажатии на которые открывается вся доступная о них информация, а также возможные действия (перенести, скопировать, удалить).

Move2SD Enablerv

Это ПО интересно пользователям по двум причинам. Первая - оно совместимо с разными версиями Android (в том числе и более поздними). А вторая - возможность перенесения данных и приложений, которые в системе помечены как «недопустимые для переноса».

Ещё одна интересная разработка, которая упрощает жизнь пользователей Android-гаджетов. Основные преимущества - простая установка ПО (без необходимости дополнительно качать скрипты и библиотеки) и возможность переносить информацию не полными библиотеками, а только их частями.

Какие ещё есть методы?

Есть ещё вариант, как внутренней памятью на Андроид сделать SD-карту. Если версия вашего гаджета от 2.2 до 4.2.2, то инструкция предельно простая, нажимайте на:

  1. Настройки;
  2. Память;
  3. Диск для записи по умолчанию;
  4. SD-карта.

Напротив флешки появится галочка или кружок, которая свидетельствует об изменении настроек. Теперь установка приложений будет автоматически идти на флеш-накопитель.

Для пользователей Android KitKat и выше процесс будет сложнее и муторнее. Главная проблема заключается в том, что вам потребуется получить root-права для своего устройства. Сделать это можно и в домашних условиях, но есть риск превратить своё устройство в «кирпич», который либо не подлежит ремонту, либо его приведут в чувство только в сервисном центре за дополнительную плату.

Помните, что, самостоятельно устанавливая рут-права, вы лишаете свой аппарат гарантии и действуете на собственный страх и риск. Стоит оно того или нет - решать вам. Может быть, менее рискованно каждый раз вручную переносить новые приложения?

А что думаете вы? Расскажите в комментариях, приходилось ли вам получать root-права, успешно ли или, может, вы знаете другие способы, как переключить память планшета/телефона на карту памяти.

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

Также стоит отметить, что не каждая карта подойдет для процедуры замены внутренней памяти на внешнюю. Все дело в классах скорости SD-карт, которые разняться от медленных (C2 и С4), до быстрых (С10 и С16). Если рассматриваемые ниже процедуры производить на медленных SD, то перенос данных отразится на общем быстродействии устройства, потому рекомендуется пользоваться только быстрыми флешками.

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

Перенос кэша для версий Android 4.0+

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

ВНИМАНИЕ! Представленные ниже способы можно применить только на устройствах с РУТ-правами. Все дальнейшие операции делаются на ваш страх и риск, никто не дает 100% гарантии, что в случае неудачи вы не получите кирпич. Также мы не несем никакой ответственности за потерю личных данных.

Перенос при помощи сторонних программ

Если приложение не поддерживает стандартный перенос данных, то можно это сделать насильственно при помощи сторонних утилит, таких как:

Принцип работы данных программ очень схож, так что рассмотрим способ на примере Link2SD.

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

Полный перенос android приложений на SD карту памяти

Внимательный пользователь смог заметить, что у Link2SD и других схожих утилит есть интересная функция «Сослать». С ее помощью переносятся не отдельные части программы, как в предыдущих пунктах, а абсолютно все данные. При этом программа будет считать, что работает она во внутренней памяти устройства, что для некоторых из них является важным условием нормальной работоспособности.

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

Разделы на карте памяти можно делать как на компьютере, с помощью таких программ как Paragon Hard Disk Manager 12 Server или MiniTool Partition Wizard Home Edition. Но это достаточно трудоемкий процесс, а потому мы все сделаем прямо на смартфоне, воспользовавшись .

  1. Скачиваем и инсталлируем утилиту.
  2. В настройках устройства находим раздел «Память», где жмем «Извлечь SD».

  3. Заходим непосредственно в AParted и в первой вкладке Create, два раза нажимаем ADD.

  4. В Part 1 оставляем Fat32, а в Part 2 выбираем ext2 или любой другой формат, если знаете для чего они вообще нужны.
  5. Смотрим чтоб поле Format было отмечено и выбираем необходимый размер памяти для каждого из разделов. При этом Part 1 будет оставаться нашей стандартной «флешкой», а вот на Part 2 будут ссылаться приложения.
  6. Жмем APPLY и подтверждаем действие.

  7. Терпеливо дожидаемся окончания процесса.

Теперь приложения и игры можно безопасно ссылать во второй раздел карты памяти, с помощью соответствующей функции Link2SD или его аналога.

Перенос кэша на флешку

Данный способ пригодится для пользователей, которые любят игры с большим кэшем. Сейчас многие крупные проекты (к примеру, серия игр , ) занимают несколько гигабайт. То же самое касается и навигационных карт. Не все устройства могут похвастаться таким объемом встроенной памяти, поэтому на помощь приходит FolderMount. Оно позволяет создавать виртуальные папки, чтобы система по-прежнему считала, что данные приложения находятся во внутренней памяти, хотя фактически все файлы расположены на флешке.

  1. Устанавливаем .
  2. Запускаем и предоставляем права Суперпользователя.
  3. Открываем выдвигающееся меню в левой части экрана.

  4. Переходим в «Анализатор приложений», ищем нужную игру и кликаем по ней.

  5. В открывшемся окне видим объем, который занимают отдельно данные приложения и его кэш.
  6. Нажимаем кнопку «Создать пару» напротив размера кэша.

  7. На вопрос отвечаем «Да» и нажимаем галочку в верхней части экрана, после этого снова необходимо ответить «Да».

  8. В строке уведомлений можно будет увидеть процесс переноса файлов.
  9. Как только перенос завершится (достигнет 100%), снова открываем выдвигающееся меню и выбираем «Список пар».
  10. Осталось лишь нажать переключатель напротив названия игры, которые вы переносили.

Замена внутренней памяти на внешнюю

Этот способ позволяет обмануть систему, т.е Android будет считать SD-карту памятью устройства. Одним из главных преимуществ является тот факт, что все приложения будут автоматически устанавливаться на флешку. Идеально подходит для устройств с очень маленьким объемом внутренней памяти. Для его осуществления понадобится файловый менеджер, лучше всего использовать Total Commander. Смысл способа – поменять местами пути к памяти устройства и флешке.

  1. Устанавливаем
  2. Кликаем по файл, далее «Редактировать».

  3. В файле содержится множество строк, которые начинаются с # (символ решетки). Но нам нужна строка, начинающаяся со слов «dev_mount» и без (!!!) решетки в начале.
    Таких строк должно быть 2: первая обозначает внутреннюю память, вторая – внешнюю.

    Например, если ваши строки:
    dev_mount sdcard/mnt/sdcard
    dev_mount extsd/mnt/extsd

    То они должны стать:
    dev_mount sdcard/mnt/extsd
    dev_mount extsd/mnt/sdcard

    То есть самое главное – поменять местами слова после /mnt/.

  4. Больше ничего изменять не нужно, нажимаем кнопку «Сохранить» (иконка дискеты).
  5. Перезагружаем устройство.

Сразу оговорюсь, что речь пойдет не о программах типа 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 карты.

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

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

QR-код


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

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

Нажимаем меню, затем «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.
В следующих двух строчках меняем название моунт точек местами: dev_mount sdcard /mnt/sdcard emmc@fat /devices/platform/goldfish_mmc.0 ... dev_mount sdcard /mnt/external_sd auto /devices/platform/goldfish_mmc.1 ... на dev_mount sdcard /mnt/external_sd emmc@fat /devices/platform/goldfish_mmc.0 ... dev_mount sdcard /mnt/sdcard auto /devices/platform/goldfish_mmc.1 ...
Подробнее можно почитать . Там же предлагают, как альтернативу, использовать другую интересную программу Root External 2 Internal SD .
Добавлю, что в обоих случаях, перед переключением, вам нужно скопировать все содержимое папки /sdcard на внешнюю sd карту.
Помните, что после переключения вся ваша система может работать , чем раньше.
Будьте осторожны - нужно понимать, что все что вы делаете под рутом, вы делаете на свой страх и риск, и например сохранение неправильного «vold.fstab» может привести к невозможности загрузить устройство и для лечения нужно будет грузится в рекавери и править «vold.fstab» уже там.

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