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

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

Замена внутренней sdcard на внешнюю external

В способе решения этой проблемы мы видим замену местами внутреннюю карту с внешней. Данная процедура возможно на телефонах от компании Samsung и нам нужен полный root и файловый менеджер системных файлов — .

Инструкция по замене памяти местами
1. Получаем полный , одни из методов;
2. Скачиваем специальный хак с нашего сервера и распаковываем его себе на компьютер;
3. Делаем полное резервное копирование устройства, например, с помощью , или зайти в и сделать полный бекап (рекомендуем два варианта);
4. Заходим в RootExplorer и делаем копирование файлов (из хака) в папку system/etc соглашайтесь с их заменой. Предварительно желательно скопировать содержимое папки себе на компьютер;
5. Перегружаем смарт и наслаждаемся результатом.

Обратная процедура

Для выполнения откатки есть три метода, если какой-то Вам не помог, то переходим к следующему, все сразу делать не нужно. Процедура выполнения в порядке
1. Делам обратную замену папки etc со своего компьютера и перегружаем;
2. Скачиваем хак-возврата и закачиваем его в папку system/etc;
3. Делаем полное восстановление с ранее сделанных бекапов.

Как и обещал в комментариях к заметке «Deployment Manager или куда ещё можно задеплоить файлы », покопался ещё немного в файловой системе (а точнее в Иерархии каталогов). Основой для этой статьи стал вопрос от Дмитрия Кузьменко , очень надеюсь, что смог ответить на него в необходимом объёме. Немного поговорим об OC Android, производителях устройств работающих под управлением этой операционки, а также я покажу несколько вариантов получения списка доступных устройств хранения информации.


Продолжение для Android 4.4.* тут: Android 4.4 и запись на внешнюю карту памяти...

Upd (17.02.14). На основе комментариев внесены правки в приложения.
Upd2 (17.02.14). Обнаружено ложное срабатывание 3-го варианта, особенность пофиксил. Немного улучшил поиск.

Upd (30.03.14). Третий способ работает на версиях Android ниже 4.3. Для версий выше 4.3 код не напишу, т.к. не имею устройств с такой версией Android для анализа новой структуры.
Upd (21.04.14). Проверил код на Delphi XE6

Upd3 (15.07.14). Обновление исходного кода, обнаружена не правильная работа (ошибка AV) на некоторых устройствах

Постараюсь изложить всю суть кратко, чтобы не получилось 10 страниц текста.

Начнём с основ.

Операционная система Android основана на ядре Linux. В Unix-подобных операционных системах существует только один корневой каталог, а все остальные файлы и каталоги вложены в него. В большинстве UNIX-подобных систем съёмные диски, флеш-накопители и другие внешние устройства хранения данных монтируют в каталог /mnt, /mount или /media (в нашем случае это папка /mnt). UNIX-подобные операционные системы также позволяют автоматически монтировать диски при загрузке операционной системы.

Определяем список доступных устройств хранения информации.

Сразу нужно сказать, что в Android API я не нашёл метода, позволяющего определить подобный список. Поэтому первое, что приходит в голову, это проверка возможных путей самостоятельно и тут появляется первое «НО». Всё было бы просто, если бы не производители устройств, которые так и хотят что-то изменить в Android, вот и в этом случае они постарались. Я поэкспериментировал и выяснил, что количество возможных вариантов путей достаточно большое и узнать их все почти невозможно, разве что начать собирать общую базу таких вариантов со всех владельцев Android устройств.

В моих экспериментах участвовали (моё только одно - SGS2:):

  • Samsung Galaxy S Plus – Android 2.3.6
  • Samsung Galaxy S2 – Android 4.1.2
  • HTC Sensation Z710e – Android 4.0.3
  • HTC One X – Android 4.2.2
  • HTC Rhyme – Android 4.0.3

Теперь давайте посмотрим, какие пути доступны на этих устройствах, нам важны путь до внутренней карты (если есть), внешней карты (если есть) и usb устройств (если есть).

Как видите пути везде разные.

Вариант #1.

Составляем массив возможных значений и в цикле проверяем каждое на доступность при помощи обычной проверки на существование папки (TDirectory.Exists ), а также на пустоту папки (TDirectory.IsEmpty ).

Я составил общий список для данных устройств и написал небольшое приложение для проверки.

Мой список (основан на 5-ти популярных устройствах):

  • /mnt/sdcard
  • /mnt/sdcard/external_sd
  • /mnt/extSdCard
  • /mnt/usb
  • /mnt/UsbDriveA
  • /mnt/UsbDriveB
  • /mnt/UsbDriveC
  • /mnt/UsbDriveD
  • /mnt/UsbDriveE
  • /mnt/UsbDriveF

Поискав подобные пути в интернете, нашёл ещё 3 возможных пункта:

  • /mnt/external_sd
  • /mnt/usb_storage
  • /mnt/external

Дополнение от Дмитрия Кузьменко :

Sony Xperia V - 4.1.2

  • /mnt/sdcard
  • /mnt/ext_card
  • /mnt/usbdisk

Ещё немного:
Sony Xperia Go - 4.1.2

  • /mnt/sdcard
  • /mnt/ext_card
  • /mnt/usbdisk
Samsung Galaxy S4 - 4.2.2
  • /mnt/sdcard
  • /mnt/extSdCard
  • /mnt/UsbDriveA
  • /mnt/UsbDriveB
  • /mnt/UsbDriveC
  • /mnt/UsbDriveD
  • /mnt/UsbDriveE
  • /mnt/UsbDriveF
Готовый массив вы найдёте в коде ниже. Вы можете оставить в комментариях информацию о путях на ваших устройствах в таком виде:

Название устройства – версия Android

Прямой путь до внутренней памяти

Прямой путь до внешней карты памяти

Прямые пути до USB устройств

Все пути начинаются с папки /mnt/.


Или скопируйте и вышлите мне файл "/etc/vold.fstab" на почту infocean @ gmail.com или в комменты (не забудьте указать модель устройства и версию Android"а). Пожалуйста, указывайте также все папки, которые есть в директории /mnt/, это очень важно.

Приложение:

Uses System.IOUtils; const pathmnt: Array of String = ("/mnt/sdcard", "/mnt/sdcard/external_sd", "/mnt/extSdCard", "/mnt/usb", "/mnt/UsbDriveA", "/mnt/UsbDriveB", "/mnt/UsbDriveC", "/mnt/UsbDriveD", "/mnt/UsbDriveE", "/mnt/UsbDriveF", "/mnt/external_sd", "/mnt/usb_storage", "/mnt/external", "/mnt/ext_card", "/mnt/usbdisk"); procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin Memo1.Lines.Clear; Memo2.Lines.Clear; for i:= 0 to Length(pathmnt) - 1 do begin if TDirectory.Exists(pathmnt[i]) AND not TDirectory.IsEmpty(pathmnt[i]) then begin Memo1.Lines.Add(pathmnt[i]); Memo2.Lines.Add("True"); end else begin Memo1.Lines.Add(pathmnt[i]); Memo2.Lines.Add("False"); end; end; end;

Вариант #2.

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

Есть такой файлик «vold.fstab », лежит тут «/etc/»(«/system/etc/»). Это один из конфигурационных файлов в UNIX-подобных системах, который содержит информацию о различных файловых системах и устройствах хранения информации. Описывает, как диск (раздел) будет использоваться или как будет интегрирован в систему.

И есть файл «mounts », лежит тут «/proc/». Содержит информацию обо всех точках монтирования, используемых в устройстве. Важно понимать, что если карта памяти не упоминается в данном файле, то она не подключена. Это означает, что файл постоянно обновляется.

Пошагово:

  1. Читаем файл «vold.fstab »
  2. Проверяем каждое устройство на доступность, при помощи чтения файла «mounts » и поиска в нём нужной строки.

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


Вариант #3.

Объединяем первый и второй варианты. Список будем брать из файла «vold.fstab », а проверять своими силами, не открывая при этом файл «mounts ». Зачем каждый раз мучать два файла, когда можно работать только с одним.

Пошагово:

  1. Читаем файл «vold.fstab »
  2. Составляем список устройств хранения информации (половина дела сделали)
  3. Теперь в цикле пробегаемся по списку и проверяем каждый путь с помощью «TDirectory.Exists » и «TDirectory.IsEmpty »
  4. Составляем список реально доступных устройств хранения информации

Update-17.02.14: Благодаря Дмитрию Кузьменко и общим усилиям выяснили, что файл «/etc/vold.fstab» в Sony Xperia V немного отличается от остальных, поэтому были внесены изменения в исходный код приложения. Всё проверили, работает! :) Исходники везде обновил.

Update2-17.02.14: В файле "/etc/vold.fstab" иногда встречаются (на некоторых устройствах) закомментированные строчки, которые очень похожи на искомые в моём коде, в связи с этим происходило ложное срабатывание. Эту особенность я пофиксил в новой версии кода.
Также пофиксил поиск нужных строчек, теперь он более универсален!

В общем, теперь код должен нормально отрабатывать на разных устройствах. Пробуйте, отписывайтесь в комменты, прикладывайте свой файл "/etc/vold.fstab" (не забывайте указывать модель устройства и версию Android).

Update3 - 15.07.14:
Читатель блога Sergey Yakimenko , обнаружил не правильную работу (чтение файла) третьего варианта на устройствах Huawei Ascend P6 и Reellex TAB-07 , о чём сообщил в комментариях.

После личной переписки и некоторого анализа, я выяснил, что за проблемы мешали работе.

Обнаруженные и исправленные проблемы:

  1. Пробелы в начале каждой найденной строчке. Исправлено при помощи "Trim"
  2. В найденных строчках используется табуляция вместо пробелов. Исправлено заменой символов табуляции на пробелы.
Код обновлён. Сергею большое спасибо.

Приложение:

Uses System.StrUtils, System.IOUtils; procedure TForm1.Button1Click(Sender: TObject); var OpenFileVold: TStringList; i: Integer; pathtemp: TStringDynArray; begin OpenFileVold:= TStringList.Create; try // Читаем файл OpenFileVold.LoadFromFile("/etc/vold.fstab"); for i:= 0 to OpenFileVold.Count - 1 do begin if (Pos("dev_mount", OpenFileVold.Strings[i]) > 0) OR (Pos("fuse_mount", OpenFileVold.Strings[i]) > 0) then begin // Update(15.07.14) // 1 - Удаляем пробелы в начале и в конце строке (избавляемся от AV) // 2 - Заменяем символы табуляции на пробелы pathtemp:= SplitString(StringReplace(Trim(OpenFileVold.Strings[i]), #9, " ", ), " "); // Проверяем первый символ строки на совпадение с символом "#" или "##", // чтобы не было ложных срабатываний if (pathtemp <> "#") AND (pathtemp <> "##") then begin if TDirectory.Exists(pathtemp) AND not TDirectory.IsEmpty(pathtemp) then begin Memo1.Lines.Add(pathtemp); end; end; end; end; finally OpenFileVold.Free; // FreeAndNil(SourceFile); end; end;

Итог: Научились получать список доступных устройств хранения информации (я использовал бы третий вариант). Текста (без кода и картинок) вышло на 3 страницы, скорее всего, заскучать не успели:)

Всем спасибо за внимание и удачной разработки.

P.s. Дополнения приветствуются.
p.s.2. Потратил немало времени на одни только эксперименты и сравнение файлов vold.fstab, mounts, с разных устройств...
p.s.3. В следующей статье, я покажу, как избавиться от проблемы обновления базы данных при обновлении приложения вручную.

Продолжая тему прошивки девайсов на чипсете Rockchip 2926, поговорим о издевательствах над планшетом авторства компании Prestigio, а именно про мультиридер с обозначением 5274 B. Девайс сей по внешнему виду и техническим характеристикам мало чем отличается от предыдущего героя дня, Enot E102, поэтому детального описания здесь вы не найдете. Как всегда у Prestigio, откровенно китайское происхождение аппарата мастерски облагораживается продуманной прошивкой - в ней нет ничего лишнего и все нужное на первое время работает «из коробки». То есть клиенты аськовконтактов, ридеры и видеоплееры есть и не требуют вдумчивой настройки после первого же включения. Планшеты на чипсете 2926 в последующие месяцы станут массовыми, заменяя в нише бюджетных девайсов на Андроид устаревшие компоненты, такие как Allwinner A13. Ограниченность дешевого устройства остается такой же, как и у остальных - 4 Гб памяти, варварски разделенной на две половины и карта памяти, работающая как склад медиаконтента, не задействованная для кэша приложений. Когда уже разработчики прошивок вспомнят, что карточки памяти стоят сейчас очень и очень дешево и ранние устремления обеспечить работу планшета без карты в этих условиях выглядят, по меньшей мере, анахронизмом. Почему бы не укомплектовывать девайсы хотя бы двухгиговыми картами, оставляя их в прошивке, как sdcard, а не кривое external_sd, не вынуждая пользователей искать способы исправить несправедливость нетрадиционными средствами?

Впрочем, тема лояльности к пользователям и повороту к ним лицом, а не седалищем обширна и здесь ей не место. Начинаем экзекуционные работы над ридером, делая его более удобным в повседневной жизни. Начнем с получения Root. Дабы это дело прошло в высшей степени успешно, скачивайте архив (https://www.dropbox.com/s/rhsvca9epfv53ld/ROOT_icood70pro.zip ), распаковывайте его на диск С, без русских символов в пути (так избегаем ошибок). В планшете ставим галочку «неизвестные источники», «отладка по юсб» и подключаем его к компьютеру. В распакованной папке находим Root.bat и запускаем его. Ждем перезагрузки планшета с появлением среди установленного разнообразия supersu. Это приложение нам надо запустить, согласиться на обновление бинарников и перезагрузить планшет еще раз. Все, права администратора имеются - теперь есть возможность редактировать системные файлы, убрать лишнее, добавить всякое. Если девайс у вас никак не хочет получить Root, есть способ 2. Уберите галочку отладка по юсб в настройках девайса. Установите PdaNet (http://pdanet.co/a/ ), выбирая установку драйверов other. Установите UnlockRoot (http://yadi.sk/d/awamSlwP2mpgQ ). Верните галочку на место. Запустите UnlockRoot и нажмите Root. После окончания его работы перезагрузите планшет и обновите SuperSu.

Если у вас есть карта памяти и вас не устраивает позиция разработчиков прошивки, надо отредактировать vold.fstab. Установите Root Explorer версии 2.21 или выше (предыдущие криво работают с 4.1.1). Быстренько соглашайтесь на запрос разрешить ему доступ куда угодно. Теперь скачайте модифицированный vold.fstab (http://yadi.sk/d/P-SKlRTG4t2Vu ), подменяющий карточку и раздел внутренней памяти, перенесите его на карту памяти. Переименуйте его, убрав единичку из названия. Через Root Explorer найдите этот файл, нажмите на него долгим тапом (нажатием, если кто не любит англицизмы) и нажмите скопировать. Теперь отыщите каталог etc. Над каталогом вы найдете кнопку mount RW. Нажмите на нее. Внизу окна программы нажмите «вставить» (paste). Планшет спросит, заменять ли файлик вашим кастомом. Соглашайтесь. Долгим нажатием на замененный файл вызовите подменю, где выберите «разрешения» (permission). Вы видите перед собой квадрат по три окошечка в ряд. Установите галочки точно так же, как на скриншоте и примените выбор. Осталось лишь выйти из программы, перезагрузить планшет и оставить его загружаться. В зависимости от типа и качества карты памяти (лучше всего класс 10 от нормального, а не нонейм производителя), планшет будет загружаться от 5 минут до получаса. Если все прошло хорошо, то вас ждет обновленный раздел «память», где карточка наконец-то видится, как Sdcard и ее видят приложения для переноса кэша и программ на microSD.

Установка рекавери CWM связана с большим риском убить загрузчик - постарайтесь не делать ее, если нет острого желания экспериментов или необходимости установить кастомную прошивку на основе 4.2.2. На момент написания текста таковой не обнаружено, поэтому в данный момент установка CWM на Prestigio MultiReader 5274 имеет лишь теоретическую пользу. Итак, скачайте CWM (). Его установка может быть сделана несколькими путями. Самый правильный и почти безопасный - переименовать архив в update.zip и положительно ответить на запрос планшета перезагрузиться. Теперь зайти в рекавери можно просто и элегантно, зажав кнопку увеличения звука и включения. Когда появится зеленый робот, отпустите кнопки, зажмите звук + и однократно нажмите кнопку включения. Появится известное почти всем меню рекавери CWM, где доступно все - от монтирования разделов до бекапов и прошивочного дзена. Удобно перезагружаться в рекавери и через приложение Goo Manager с маркета. Другие способы внедрить CWM на данный момент слишком часто окирпичивают аппарат и о них я рассказывать не буду. Достаточно сказать, что происходит установка через adb shell, что поможет вам поискать примерную инструкцию, как сие делается и винить в неработающем устройстве кого-то другого.

И последнее на сегодня. Если так случилось и в результате каких-то непредвиденных обстоятельств (например, установки рекавери CWM) или неправильного расположения звезд на небе планшет отказался работать, то постараемся вернуть его в мир живых перепрошивкой. Ввиду полной идентичности перепрошивочной инструкции с предыдущем пациентом, Enot E102, читайте об этом . Повторять ее не вижу резона, поскольку разница только в файле, который вы будете внедрять. Образ прошивки находится на официальном сайте (http://www.prestigio.com/catalogue/MultiReaders/MultiReader_5274/PER5274B#/product-support/firmware ). Там же есть и сама программа.

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

Андроид: Простой способ связать внешнюю 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-права, успешно ли или, может, вы знаете другие способы, как переключить память планшета/телефона на карту памяти.

Как на “Андроиде” поменять местами память и для чего это вообще нужно? Следует ли вообще заниматься подобными манипуляциями и способны ли они нанести нашему устройству непоправимый вред? Подобные вопросы нередко интересуют людей, в подчинении которых оказался аппарат с малым количеством встроенной памяти. Если ваш смартфон имеет соответствующий объем, равный, например, четырем гигабайтам, то вы знаете, что использование такого устройства есть не что иное, как боль. Ибо загрузить на него достаточное количество мультимедиа файлов весьма и весьма проблематично. Так как на “Андроиде” поменять местами память с внутренней на внешнюю?

Введение в проблему

Не следует думать, кстати, что такой проблемой, как малый объем встроенной памяти, страдает только лишь операционная система “Андроид”. Она есть и на “Айосе”. Эти две системы постоянно конкурируют друг с другом. Изредка в единоборство вмешивается и “Виндовс Фоун”, но она в скором времени оказывается выброшенной за татами. К чему затрагивается тема IOS? Есть факты, которые неизменно доказывают “оголение” этой операционной системы перед пользователями. Изначально ее код был загадкой. Тем не менее, подобная тенденция имеет место. А вот операционная система “Андроид”, разработанная специалистами компании “Гугл”, в настоящее время становится с каждым обновлением все более и более закрытой для потенциальных разработчиков. Именно это и напрягает людей, которые настолько привыкли к данной операционной системе.

Зачем нужно знать ответ на вопрос о том, как на “Андроиде” поменять местами память?

В настоящее время ОС, о которой мы говорим, уже не дает пользователям возможность устанавливать приложения с соответствующим обеспечением - так называемым кешем - на внешний накопитель памяти. В нашем случае, пускай это будет карта памяти стандарта MicroSD. Наверное, обладатели устройств с объемом 32 гигабайта и выше усмехнутся, но что же делать людям, которые имеют в своем распоряжении от 4 до 8 ГБ, часть которых (заметьте это!) уходит на содержание операционной системы? Оптимальным выходом из этой ситуации становится только совершение определенных манипуляций. И вот здесь как никогда важно знать ответ на вопрос о том, как на “Андроиде” поменять местами память. Собственно, сделать это не сложно. Однако требуется предельное внимание и, к слову, прямые руки. Если вы обладаете этими параметрами, то мы перейдем к рассмотрению смысла операции, чтобы понять, что и для чего будет выполняться.

Как на “Андроиде” 5 поменять память местами? Что делать с другими версиями?

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

Что нужно для замены?

Независимо о того, какая версия операционной системы у вас установлена и устройство какого производителя у вас имеется, нам потребуется одинаковый набор утилит. Это программы под названием и Total Commander (которую знает огромное количество пользователей). Дополнительно потребуется получение для аппарата.

Процесс замены

Для того чтобы положить начало операции, открываем программу Root Explorer. Перемещаемся по адресу /system/etc. Там необходимо отыскать файл, который называется vold.fstab. В нем следует найти строчки и параметры, которые отвечают за точки монтирования внешней и внутренней памяти. Называются они, соответственно, так: SDcard и extsd. После этого необходимо будет параметры поменять местами. На этом активная фаза операции будет завершена. Не забудьте сделать резервные копии файлов, и помните, что подобные операции пользователем выполняются на свой страх и риск.



Поделиться