Розділи сайту
Вибір редакції:
- Не поспішайте з покупкою DVB-T2 тюнерів
- QQ: реєструємось та встановлюємо секретні питання Ось короткий перелік вимог до email-маркетингу в Китаї
- Як поставити коментарі вконтакті на wordpress
- Веб-камера ВКонтакте: нові функції
- Додати до обраних закладок для всіх браузерів Javascript додати у вибране
- Як поставити музику на дзвінок
- Оновлення: як оновитися до нової версії, зробити відкат?
- Що робити, якщо не вмикається Nokia Lumia?
- Встановлення офіційної прошивки Lenovo RocStar (A319) Перепрошивка lenovo
- Огляд та тестування ігрової гарнітури Kingston HyperX Cloud II
Реклама
Як SD-карту зробити основною пам'яттю на Андроїд. Як замінити внутрішню пам'ять андроїд на карту пам'яті Що робити, якщо немає папки vold fstab |
Проблема нестачі пам'яті – одна з основних як для ПК, так і для мобільних пристроїв. При малій кількості вільної пам'яті система зазвичай починає гальмувати, підвисати, працює нестабільно і ненадійно. Особливо актуально це для Андроїд-пристроїв, багато з яких спочатку мають досить невеликий обсяг основної пам'яті (т.зв. «Internal Storage»). У такій ситуації у деяких користувачів може виникнути ідея спробувати використовувати зовнішню SD-карту як основну пам'ять на їх Android-пристрої. У цьому матеріалі я розповім, як SD-карту зробити основною пам'яттю на гаджетах Андроїд, і які способи нам у цьому допоможуть. Розбираємо, як SD-карту зробити основною пам'яттю на Андроїд Для виконання цього завдання вам знадобиться швидкісна SD-карта (бажано, 10 класу або швидше). Карти 6, а особливо 4 та 2 класів для таких цілей не придатні, ваша система внаслідок їх використання суттєво уповільнить свою роботу, що навряд чи сподобається комусь із користувачів. Також важливо розуміти, що термін дії такої SD-карти внаслідок активного на неї навантаження буде істотно меншим, ніж якби навантаження на карту проходило в стандартному режимі. ![]() Спосіб №1. Змінюємо вміст файлу Vold.fstabПерший із описаних способів передбачає зміну вмісту файлу системних налаштувань «Vold.fstab». Після здійснення зазначених змін ОС Андроїд буде вважати вашу SD-карту внутрішньою пам'яттю пристрою, при цьому врахуйте, що ряд встановлених раніше програм можуть перестати працювати. Важливо знати, що цей спосіб працює тільки на рутованихпристроях, на яких встановлена ОС Андроїд нижче (!), ніж версія 4.4.2. У версіях ОС Андроїд 4.4.2 і вище вказаний файл, швидше за все, ви просто не знайдете.
Отже, для здійснення цього способу виконайте таке: ![]() Наприклад, це можуть бути такі рядки:
Для здійснення потрібних змін нам необхідно поміняти шлях у зазначених рядках місцями, тобто, простіше кажучи, замість 0 поставте одиницю в першому рядку, а в другому замість 1 поставте 0. Після змін ці рядки матимуть вигляд:
Збережіть зміни, а потім перезавантажте гаджет.
Ще один варіант як зробити картку пам'яті основною на андроїд: ![]() Спосіб №2. Використовуємо налаштування ОС Андроїд 6.0 і вищеКрім першого способу, в якому я розглянув, як переключити пам'ять телефону на картку пам'яті, існує й інший спосіб, що працює тільки на налаштуваннях ОС Android 6.0 (Marshmallow) або вище, і дозволяє задіяти SD-карту як основну для збереження файлів та роботи з ними . Для його реалізації рекомендую зробити копію даних із вашої SD-карти (якщо такі на ній є), оскільки дана картка буде відформатована системою. Як і обіцяв у коментарях до нотатки "Deployment Manager або куди ще можна задеплоїти файли", покопав ще трохи у файловій системі (а точніше в Ієрархії каталогів). Основою для цієї статті стало питання від Дмитра Кузьменка, дуже сподіваюся, що зміг відповісти на нього у необхідному обсязі. Трохи поговоримо про OC Android, виробників пристроїв, що працюють під керуванням цієї операційної системи, а також я покажу кілька варіантів отримання списку доступних пристроїв зберігання інформації. Продовження для Android 4.4.* тут: Android 4.4 та запис на зовнішню карту пам'яті. Upd (17.02.14). На основі коментарів внесено виправлення до додатків. Upd (30.03.14). Третій спосіб працює на версіях Android нижче 4.3. Для версій вище 4.3 код напишу, т.к. я не маю пристроїв з такою версією Android для аналізу нової структури. Upd3 (15.07.14). Оновлення вихідного коду, виявлено неправильну роботу (помилка AV) на деяких пристроях Намагаюся викласти всю суть коротко, щоб не вийшло 10 сторінок тексту. Почнемо з основ. Операційна система Android заснована на ядрі Linux. У Unix-подібних операційних системах існує лише один кореневий каталог, а решта файлів і каталогів вкладені в нього. У більшості UNIX-подібних систем знімні диски, флеш-накопичувачі та інші зовнішні пристрої зберігання даних монтують у каталог /mnt, /mount або /media (у нашому випадку це папка /mnt). UNIX-подібні операційні системи також дозволяють автоматично монтувати диски під час завантаження операційної системи. Визначаємо перелік доступних пристроїв зберігання інформації. Відразу слід сказати, що в Android API я не знайшов методу, що дозволяє визначити подібний список. Тому перше, що спадає на думку, це перевірка можливих шляхів самостійно і тут з'являється перше «АЛЕ». Все було б просто, якби не виробники пристроїв, які так і хочуть щось змінити на Android, ось і в цьому випадку вони постаралися. Я поекспериментував і з'ясував, що кількість можливих варіантів шляхів досить велика і дізнатися про них майже неможливо, хіба що почати збирати загальну базу таких варіантів з усіх власників Android пристроїв. У моїх експериментах брали участь (моє лише одне - SGS2:):
Тепер давайте подивимося, які шляхи доступні на цих пристроях, нам важливі шлях до внутрішньої картки (якщо є), зовнішньої картки (якщо є) та usb пристроїв (якщо є). Як бачите шляхи скрізь різні. Варіант 1. Складаємо масив можливих значень і в циклі перевіряємо кожне доступність за допомогою звичайної перевірки на існування папки ( TDirectory.Exists), а також на порожнечу папки ( TDirectory.IsEmpty). Я склав загальний список для даних пристроїв і написав невелику програму для перевірки. Мій список (заснований на 5-ти популярних пристроях):
Пошукавши подібні шляхи в інтернеті, знайшов ще 3 можливі пункти:
Додаток відДмитра Кузьменка: Sony Xperia V - 4.1.2
Ще трохи:
Назва пристрою – версія Android Прямий шлях до внутрішньої пам'яті Прямий шлях до зовнішньої картки пам'яті Прямі шляхи до USB-пристроїв Усі шляхи починаються з папки /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;», лежить тут «/proc/». Містить інформацію про всі точки монтування, що використовуються у пристрої. Важливо розуміти, що якщо картка пам'яті не згадується в даному файлі, вона не підключена. Це означає, що файл постійно оновлюється. Покроково:
У цьому вся варіанті доки коду, т.к. з якоїсь невідомої причини, мені не виходить прочитати файл «mounts». У зв'язку із цим пропоную третій варіант.
Об'єднуємо перший та другий варіанти. Список будемо брати з файлу « end else begin Memo1.Lines.Add(pathmnt[i]);», а перевіряти самотужки, не відкриваючи при цьому файл « end; end;». Навіщо щоразу мучити два файли, коли можна працювати лише з одним. Покроково:
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: Після особистого листування та деякого аналізу, я з'ясував, що за проблеми заважали роботі. Виявлені та виправлені проблеми:
Додаток: 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; 5274 end;Девайс цей на вигляд і технічним характеристикам мало чим відрізняється від попереднього героя дня, Enot E102, тому детального опису тут ви не знайдете. Як завжди у Prestigio, відверто китайське походження апарату майстерно облагороджується продуманою прошивкою - в ній немає нічого зайвого і все потрібне спочатку працює «з коробки». Тобто клієнти аськівконтактів, рідери та відеоплеєри є і не вимагають вдумливого налаштування після першого ж включення. Планшети на чіпсеті 2926 в наступні місяці стануть масовими, замінюючи в ніші бюджетних девайсів на Android застарілі компоненти, такі як 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 ). Там є і сама програма. Пам'ятайте, проводячи всілякі перепрошивальні експерименти, ви можете повністю позбутися гарантії і залишитися без працюючого девайса на Андроїді. Тому уважність, уважність і ще раз те саме слово. На цій повній оптимізму ноті дозвольте відкланятися. Незабаром ми зустрінемося знову, обговорюючи, лаючи та перепрошуючи щось ще. Як замінити внутрішню пам'ять Андроїд на карту пам'яті. Мала кількість внутрішньої пам'яті на дешевих смартфонах і планшетах 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. Шукаємо файл end else begin Memo1.Lines.Add(pathmnt[i]);і відкриваємо його (затискаємо на файлі та вибрати Edit) 4. У файлі end else begin Memo1.Lines.Add(pathmnt[i]);бачимо приблизно таку картину: ## Vold 2.0 fstab## # Regular device mount ## ##Format: dev_mount ## label - Label for the volume ## mount_point - Where the volume will be mounted ## part - Partition # (1 based), або 'auto' for first usable partition. ## ####################################### # Mounts the first usable partition of the specified device #/devices/platform/awsmc.3/mmc_host for sdio dev_mount sdcard /mnt/sdcard auto dev_mount extsd /mnt/extsd auto /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/XXXXXXdev_mount sdcard /mnt/sdcard auto /devices/platform/XXXXXX/XXXXXXX Ще один приклад, на іншому пристрої: dev_mount sdcard /storage/sdcard0dev_mount sdcard2 /storage/sdcard1 Змінюємо на наступне: dev_mount sdcard /storage/sdcard1 emmc@fat /devices/platform/goldfish_mmc.0 /devices/platform/mtk-msdc.0/mmc_hostdev_mount sdcard2 /storage/sdcard0 auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-msdc.1/mmc_host Збережіть результат своєї роботи та перезавантажте Android! Після перезавантаження пристрій буде зі збільшеною кількістю пам'яті! Можливості девайса можна серйозно розширити, якщо замінити внутрішню пам'ять Android карту пам'яті. Це дозволить встановлювати на планшет або інший гаджет набагато більше програм, але основною вимогою для виконання цього апдейту є наявність root-прав на пристрої. Розглянемо способи, що дозволяють використовувати SD-карту як системну пам'ять апарату, а також пов'язані з цим умови. Ризики та умови заміни внутрішньої пам'яті гаджета на SD-картуПеред повторенням описаних нижче дій користувач має врахувати кілька важливих моментів:
Загалом процедура (особливо для недосвідчених користувачів) досить ризикована, тому має сенс проводити її виключно для старих гаджетів з малою кількістю власної пам'яті. Використання утиліти Root Browser та редагування файлу vold.fstabЩоб змінити місця пам'ять, з Google Play потрібно встановити Root Browser. Повторимо, що повноцінно працювати з ним можна лише на рутованих девайсах. Після запуску вищезгаданої програми: ![]() В андроїд sdcard позначає внутрішню пам'ять, а extsd - зовнішню, тобто SD-карту. Заміною цих рядків ми практично поміняли місцями ці види пам'яті. У деяких системах ці шматки коду можуть виглядати інакше, наприклад: Замінити їх потрібно так: Після виконання описаної процедури перезавантажте гаджет. Перед цим обов'язково перевірте відсутність помилок у зміненому коді, щоб надалі не виникла потреба у перепрошивці. Другий спосіб збільшення пам'яті за допомогою Link2SDПрограма доступна в Play Market і працює тільки на девайсах з root-правами. Цей файловий менеджер не підміняє фізично внутрішню пам'ять пристрою зовнішнім накопичувачем, але він здатний переносити будь-які утиліти на SD-карту, значно заощаджуючи ресурси гаджета. Особливість додатка, що розглядається в тому, що саму MicroSD доведеться розбити і належним чином відформатувати. Тому скопіюйте з вашої картки на комп'ютер все цінне і починайте поділ накопичувача на розділи. Розподіл картки девайсу на розділи за наявності кастомного RecoveryКожен пристрій на Android має режим відновлення, але описаний нижче спосіб підійде тільки для девайсів не зі стандартним, а з . Якщо ви ніколи не чули про CWM, переходьте до другого варіанта розбиття накопичувача. Далі розповімо, як вирішити поставлене завдання, якщо у вашому режимі відновлення пристрою є пункт Partition SD Card: ![]() Розбиття MicroSD-картки через комп'ютерПідключіть картку до лептопа або комп'ютера. Для цього можна використовувати картридер або інше обладнання, головне, визначатися воно має як накопичувач, а не медіапристрій MTP. Далі: ![]() |
Нове
- QQ: реєструємось та встановлюємо секретні питання Ось короткий перелік вимог до email-маркетингу в Китаї
- Як поставити коментарі вконтакті на wordpress
- Веб-камера ВКонтакте: нові функції
- Додати до обраних закладок для всіх браузерів Javascript додати у вибране
- Як поставити музику на дзвінок
- Оновлення: як оновитися до нової версії, зробити відкат?
- Що робити, якщо не вмикається Nokia Lumia?
- Встановлення офіційної прошивки Lenovo RocStar (A319) Перепрошивка lenovo
- Огляд та тестування ігрової гарнітури Kingston HyperX Cloud II
- Безкоштовна перевірка iPhone по IMEI