Як змінити сд карту і внутрішню пам'ять. Андроїд: Простий спосіб зв'язати зовнішню sd карту та внутрішню пам'ять, щоб звільнити місце. Що потрібно для заміни

Головна / Усунення несправностей

Можливості девайса можна серйозно розширити, якщо замінити внутрішню пам'ять Androidна картку пам'яті. Це дозволить встановлювати на планшет або інший гаджет набагато більше програм, але основною вимогою для виконання цього апдейту є наявність root-прав на пристрої. Розглянемо способи, що дозволяють використовувати SD-карту як системної пам'ятіапарату, а також пов'язані з цим умови.

Ризики та умови заміни внутрішньої пам'яті гаджета на SD-карту

Перед повторенням описаних нижче дій користувач має врахувати кілька важливих моментів:

  1. Термін служби SD-карти сильно скоротиться внаслідок частого повторення циклів читання/запису під час запуску програм.
  2. Швидкість роботи гаджета може помітно впасти, якщо використовувати карту MicroSDнизький клас.
  3. При допущенні помилки під час редагування системного файлутелефон може наступного разу не завантажитися - доведеться перепрошувати його.

Загалом процедура (особливо для недосвідчених користувачів) є досить ризикованою, тому є сенс проводити її виключно для старих гаджетів з малою кількістю власної пам'яті.

Використання утиліти Root Browser та редагування файлу vold.fstab

Щоб поміняти місцями пам'ять, з Google Playпотрібно встановити Root Browser.

Повторимо, що повноцінно працювати з ним можна лише на рутованих девайсах. Після запуску вищезгаданої програми:


В Android sdcard позначає внутрішню пам'ять, а extsd – зовнішню, тобто SD-карту. Заміною цих рядків ми практично поміняли місцями ці види пам'яті. У деяких системах ці шматки коду можуть виглядати інакше, наприклад:

Замінити їх потрібно так:

Після виконання описаної процедури перезавантажте гаджет. Перед цим обов'язково перевірте відсутність помилок у зміненому коді, щоб надалі не виникла потреба у перепрошивці.

Другий спосіб збільшення пам'яті за допомогою Link2SD

Додаток доступний у Play Marketта працює тільки на девайсах з root-правами. Цей файловий менеджерне підміняє фізично внутрішню пам'ять пристрою зовнішнім накопичувачем, але він здатний переносити будь-які утиліти на SD-карту, значно заощаджуючи ресурси гаджета.

Особливість додатка, що розглядається в тому, що саму MicroSD доведеться розбити і належним чином відформатувати. Тому скопіюйте з вашої картки на комп'ютер все цінне і починайте поділ накопичувача на розділи.

Розподіл картки девайсу на розділи за наявності кастомного Recovery

Кожен пристрій на Android має режим відновлення, але описаний нижче спосіб підійде тільки для девайсів не зі стандартним, а з . Якщо ви ніколи не чули про CWM, переходьте до другого варіанта розбиття накопичувача. Далі розповімо, як вирішити поставлене завдання, якщо у вашому режимі відновлення пристрою є пункт Partition SD Card:

Розбиття MicroSD-картки через комп'ютер

Підключіть картку до лептопа або комп'ютера. Для цього можна використовувати картридер або інше обладнання, головне, визначатися воно має як накопичувач, а не медіапристрій MTP. Далі:


Як на “Андроїді” поміняти місцями пам'ять і навіщо це взагалі потрібно? Чи варто взагалі займатися подібними маніпуляціями і чи здатні вони завдати нашому пристрою непоправної шкоди? Подібні питання нерідко цікавлять людей, у підпорядкуванні яких виявився апарат із малою кількістю вбудованої пам'яті. Якщо ваш смартфон має відповідний об'єм, що дорівнює, наприклад, чотирьом гігабайтам, то ви знаєте, що використання такого пристрою є не що інше, як біль. Бо завантажити на нього достатню кількість мультимедіа файлів дуже проблематично. Бо як на “Андроїді” поміняти місцями пам'ять із внутрішньої на зовнішню?

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

Не слід думати, до речі, що такою проблемою, як малий обсяг вбудованої пам'яті, страждає лише операційна система “Андроїд”. Вона є і на "Айосі". Ці дві системи постійно конкурують одна з одною. Зрідка в єдиноборство втручається і "Віндовс Фоун", але вона незабаром виявляється викинутою за татами. До чого стосується тема IOS? Є факти, які незмінно доводять "оголення" цієї операційної системи перед користувачами. Спочатку код був загадкою. Проте подібна тенденція має місце. А ось операційна система "Андроїд", розроблена фахівцями компанії "Гугл", в даний час стає з кожним оновленням все більш закритою для потенційних розробників. Саме це і напружує людей, які настільки звикли до цієї операційної системи.

Навіщо потрібно знати відповідь на питання про те, як на “Андроїді” поміняти місцями пам'ять?

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

Як на “Андроїді” 5 змінити пам'ять місцями? Що робити з іншими версіями?

З ситуації, що у нашому розпорядженні для розташування мультимедіа контингенту знаходиться всього лише парочка гігабайт, є вихід. Він полягає, по-перше, у придбанні зовнішнього А, по-друге, у програмній заміні певного коду, який зможе переконати наш пристрій у тому, що внутрішня зовнішня. Ну і, звичайно ж, навпаки. Таким чином, смартфон сприйматиме MicroSD-карту як внутрішню плату. Хотілося б відзначити, що питання про те, як поміняти карти пам'яті подекуди на “Андроїд” звучить докорінно некоректно, оскільки в цьому процесі кілька зовнішніх накопичувачів брати участь не можуть.

Що потрібне для заміни?

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

Процес заміни

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

Як і обіцяв у коментарях до нотатки "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" на пошту [email protected] або в коментарі (не забудьте вказати модель пристрою та версію 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 до Length(pathmnt) - 1 до початку, якщо TDirectory.Exists(pathmnt[i]) AND не TDirectory. 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 до OpenFileVold.Count - 1 до початку 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. У наступній статті, я покажу, як позбавитися проблеми оновлення бази даних при оновленні програми вручну.

Як збільшити внутрішню пам'ять Android пристрою

Як відомо користувачам Androidпристроїв, внутрішньої пам'яті мобільного пристроюзавжди мало. У налаштуваннях кінцева можна перемикати використання пам'яті на SD-карту, якщо у вас така є. Але деякі програми можуть використовувати тільки внутрішню пам'ять Андроїда і при кожному оновленні програм та ігор вони будуть заповнювати все більше і більше пам'яті.

Збільшення пам'яті за допомогою файлового менеджера

Щоб вирішити цю проблему і збільшити внутрішню пам'ять на Android пристрої нам буде потрібна включена SD-карта і файловий менеджер Root Explorer який можна завантажити.

  1. У Root Explorer шукаємо system/etc/всередині папки шукаємо файл vold.fstab
  2. Відкриваємо його через вбудований редактор тексту
  3. Шукаємо початок рядків dev_mount sdcard /storage/sdcard0... і dev_mount sdcard2 /storage/sdcard1 ...
  4. Змінюємо місцями sdcard0з sdcard2
  5. Зберігаємо та виходимо
  6. Перезавантажуємо мобільний

Після всіх маніпуляцій внутрішня пам'ять має розмір встановленої в SD-карти! У налаштуваннях->пам'ять, переключіть на внутрішню пам'ять. Радійте більшому внутрішньому місцю!)

Збільшення пам'яті за допомогою Lucky Patcher

Сучасні користувачі не уявляють свого життя без смартфона в кишені, адже для багатьох це не просто апарат, який допомагає зв'язуватися з потрібним абонентом, а й своєрідне вікно у світ. Наявність гарного запасу пам'яті у пристрої дуже цінують активні користувачі, багато хто зберігає на носії не тільки розважальні елементи, але й багато корисну інформацію, включаючи документальну інформацію.

Погодьтеся мало приємно при завантаженні важливого файлузіткнуться з неможливістю його збереження через брак пам'яті. Зіткнувшись із проблемою нестачі пам'яті багато хто замислюється над тим, як замінити внутрішню memory телефону на карту пам'яті. Слід зазначити, що з цією проблемою стикаються здебільшого власники китайських телефонівта планшетів.

Спробуймо розібратися з цією проблемою докладніше. Щоб замінити шляхи збереження програм, вам потрібна певна програма на вашому пристрої. Слід пам'ятати про можливі ризики та пов'язані з ними проблеми. При неправильній заміні пам'яті може статися внутрішній збій програми, що призведе до повної перепрошивки телефону. Також може вийти з ладу зовнішній накопичувач – карта пам'яті, для її відновлення теж доведеться скористатися перепрошивкою телефону.

Редагуємо системний файл

Отже, для того щоб поміняти внутрішню пам'ять на зовнішню і встановлювати будь-які програми відразу на карту вам необхідно знайти у себе в телефоні або встановити програму Root Broswser або ES Провідник, також потрібна присутність в системі root правЯк їх швидко отримати читаємо в .

Заміна пам'яті відбувається наступним чином: потрібно вибрати програму Root Broswser або Провідник і запустити в роботу, після цього шукаємо файл vold.fstab в системі він лежить за адресою пристрій/system/etc/ відкриваємо та уважно читаємо файл, нам потрібно буде відредагувати пару рядків.

Щоб прочитати, вам необхідно бути знайомими зі структурою файлів. При уважному розгляді файлу ви без проблем знайдете відповідні рядки, які відповідають за заміну внутрішньої пам'яті на зовнішню. Після знаходження відповідних рядків вам потрібно зробити невелику маніпуляцію і поміняти внутрішню пам'ять на зовнішню, тобто поміняти рядки місцями, щоб все виглядало як на зображенні нижче.

У даному випадкуРядок dev_mount sdcard…. відповідає за стандартну безпеку файлів, а dev_mount sdcard2…. за зовнішню (картку СД). Щоб наша вбудована пам'ять точно змінилася на потрібну нам зовнішню, для цього необхідно просто змінити деякі рядки. Але не всі і не повністю, а лише додаткові та кінцеві написи, які йдуть за dev_mount sdcard/storage/sdcard0 та dev_mount sdcard2/storage/sdcard1. Як тільки зробимо так як на зображення необхідно зберегти.


Після заміни внутрішньої пам'яті на картку пам'яті перезавантажте телефон. Після того як ви перезавантажите свій пристрій ви зможете насолоджуватися наявністю пам'яті і встановлення всіх наступних ігор буде виконуватися вже на карту. Не упускайте з уваги той факт, що ви всі маніпуляції проводили вручну і якщо дещо, то пропустили вам доведеться відправляти телефон на перепрошивку.

Існує не менше дієвий спосібзаміни пам'яті, не використовуючи програму Root Broswser. Для цього вам потрібно зробити лише кілька маніпуляцій зі своїм телефоном за допомогою комп'ютера буквально три кліки. Насамперед вам потрібно запустити файл HTC Driver Installer і встановити його на свій комп'ютер, щоб з'явилися всі необхідні утиліти для подальшої роботи.

Другою маніпуляцією стане встановлення драйвера на системний носій C:\android-sdk-windows потім слід запустити програму SDK Managerдля перевірки файлів та їх готовність до встановлення. Після цього слід підключити телефон до комп'ютера і підтвердити команду: перенести все на карту, читаємо далі як це зробити.

Використовуємо ADB

Підключіть телефон із заздалегідь увімкненим у налаштуваннях налагодженням USB.
Переходимо в папку з програмою та запускаємо файл adb.exe за допомогою командної рядки cmd, із затиснутою кнопкою shift клік правою кнопкою по файлу та вибираємо open command windiws here

Відкриється командний рядоку якій пишемо adb devices

Тепер виконайте наступну команду, яка замінить пам'ять місцями, просто введіть її і натисніть Enter.

Після цих маніпуляцій слід відключити телефон від комп'ютера та перезавантажити телефон. Після перезавантаження ви зможете переконатися в працездатності кнопки: перенести все на сд - карту і ву а ля можете сміливо користуватися своїм телефоном. Тепер всі програми та важливі документи та завантажені файли зберігатимуться на зовнішньому накопичувачі.

Слід пам'ятати, що при вийманні картки пам'яті з телефону встановлені програмизникнуть, це напевно єдиний мінус даного методу. Також рекомендується використовувати зовнішні накопичувачіне нижче 10 класу, оскільки маленькі накопичувачі не дадуть бажаного результату.

© 2022 androidas.ru - Все про Android