Інтернет Windows Android

Розбивка microSD карти пам'яті на Android. Отримання шляху до карти пам'яті SD Card на Android Віртуальна sd карта

У деяких пристроях Android є слоти для карт пам'яті (як правило, формату microSD). Якщо пристрій підтримує SD-карти, ви можете:

  • збільшити обсяг пам'яті;
  • використовувати карту для роботи деяких функцій і додатків.

Щоб дізнатися, чи є у вашого пристрою слот для SD-карти, відвідайте сайт виробника.

Примітка.Деякі з цих дій можна виконати тільки на пристроях з Android 6.0 і більш пізніми версіями.

Як встановити SD-карту

Крок 1. Вставте SD-карту.
  1. Уточніть, де знаходиться слот для SD-карти.
  2. Вимкніть телефон.
  3. Вийміть лоток SD-карти або зніміть задню кришку пристрою (в залежності від моделі). При необхідності підійміть язичок, що утримує карту.
  4. Помістіть SD-карту в слот. Якщо ви підняли утримує язичок, опустіть його.
  5. Встановіть назад лоток SD-карти або задню кришку пристрою.
Крок 2. Увімкніть SD-карту.
  1. Дочекайтесь появи повідомлення про SD-карті.
  2. натисніть налаштувати.
  3. Виберіть потрібний тип сховища.
    • Знімний накопичувач:
      Карту можна переносити на інший пристрій разом з усіма файлами (наприклад, фотографіями і музикою). Додатки на знімний накопичувач переміщати не можна.
    • Внутрішня пам'ять:
      На карті можна зберігати додатки і дані тільки для цього пристрою. Якщо ви перемістіть її на інший пристрій, всі дані з неї будуть видалені.
  4. Щоб налаштувати SD-карту, дотримуйтесь інструкцій на екрані.
  5. По завершенні натисніть Готово.

Як використовувати SD-карту

Як перемістити додатки на SD-карту

Якщо ви підключили карту в якості внутрішньої пам'яті, можна перенести додатки на неї.

Примітка.Не всі програми можна перенести SD-карту.

Як перемістити файли на SD-карту

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

Крок 1. Передайте файли на SD-карту.

Крок 2. Видаліть файли з внутрішнього накопичувача.

Ви можете подивитися вміст SD-карти і дізнатися, скільки місця залишилося.

Якщо SD-карта використовується в якості внутрішнього накопичувача

Якщо SD-карта використовується в якості знімного накопичувача

  1. Проведіть по екрану зверху вниз, щоб відкрити панель сповіщень.
  2. Під повідомленням про SD-карті натисніть відкрити.

Dolphin can store data to a virtual SD card named sd.raw. By default, it will be created with the size of 128MB.

The virtual SD card has important use for homebrew apps on Dolphin. Project M and Mario Kart Wii custom tracks are two good examples, as some homebrew apps can only work using files stored on the SD card of the real hardware for which they were designed.

Contents

Creating a Virtual SD Card

It is recommend to create one with size at least 1GB for large homebrew apps, for example, Project M, and no more than 2GB for best compatibility as there are compatibility issues with some homebrew apps trying to run under an SDHC card on the real hardware .

Command Line and Executable Files

WinImage is unreliable, because oddly enough, it will cause desync and few other unforeseeable problems. ImDisk will be fine.

Quick guide for mounting and editing the virtual SD card with the ImDisk Virtual Disk Driver:

  1. Right-click on sd.raw file then click "Mount as ImDisk Virtual Disk" from the context menu.
  2. Check box Removable media then hit "OK". The predefined drive letter and everything else will do just fine.
    • The virtual SD card will now appear as "Removable Disk" in which the native Explorer window can read and write in there.
  3. When done editing the virtual SD card, simply unmount it by right-click on the "Removable Disk" then click "Unmount ImDisk Virtual Disk" from the context menu.
    • The virtual SD card must be dismounted before using with Dolphin.

Dolphin Setting

Go to Options> Configure ...> Wii> and enable Insert SD Card.

Usage

With Homebrew App

The external files used for the homebrew app must be stored within sd.raw and the homebrew app itself ( boot.elf or boot.dol) Must exist outside of it for Dolphin to load. Project M, for example, will load from SD root \ Projectm \ and Dolphin will need to launch Project M through \ Apps \ projectm \ boot.elf, NOT in the virtual SD card. For convenience "s sake, it is ideal to have same copies paralleled between inside and outside of the virtual SD card.

Though, it is possible to start homebrew app from virtual SD card through homebrew exploits for Wii.

The Wii game launcher app will only work if a particular Wii game is set as the default ISO. Within the Dolphin game list, open context menu (right-click) on any Wii game and click Set as default ISO. Do this before loading a homebrew app with Dolphin.

For Netplay

Netplay will eventually desync if anything reads the virtual SD card that is not cloned, regardless of the same size it was created, and identical file / folder structures within its root. To prevent that, sd.raw must be copied from host "s computer to joiners" computers before starting netplay. If the virtual SD card was used offline or online with write block disabled, the MD5 checksum will change ( "Date Accessed" of the files are what "s different in virtual SD card), but will not cause desync. The SD card got to be coming from elsewhere or subjected to the files modified within to be "different".

For the Wii game launcher app, users on both ends must have the same copies of homebrew app and the game in their game list first, then set the game as default ISO, as mentioned in previous section.

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

Отже, почнемо з теорії.

Термінологія

Гугл нам говорить, що є такі поняття:
  1. Внутрішня ( internal) Пам'ять - це частина вбудованої в телефон карти пам'яті. При її використанні за замовчуванням папка додатки захищена від доступу інших додатків (Using the Internal Storage).
  2. зовнішня ( external) Пам'ять - це загальне «зовнішнє сховище», тобто це може бути як частина вбудованої пам'яті, так і видаляється пристрій. Зазвичай це частина вбудованої пам'яті, як видаляється пристрій я бачив в останній разна Андройде 2.2, де вбудована пам'ять була близько 2 Гб, і підключається пам'ять ставала зовнішньої (Using the External Storage).
  3. видаляється ( removable) Пам'ять - все сховища, які можуть бути видалені з пристрою без «хірургічних» втручань.

До версії KitKat 4.4 API не надавало функціоналу для отримання шляхів до зовнішньої пам'яті. Починаючи з цієї версії (API 19) з'явилася функція public abstract File getExternalFilesDirs(String type), яка повертає масив рядків з шляхами до внутрішньої і зовнішньої пам'яті. Але як же бути з нашої SD Card, яка вставлена ​​в слот? Шлях до неї ми знову не можемо отримати.

Результати пошуку

Щоб відповісти на поставлене запитання я звернувся до всезнаючого Гуглу. Але і він мені не дав чіткої відповіді. Було розглянуто безліч варіантів визначення від використання стандартних функцій, які ведуть до зовнішньої пам'яті, але нічого спільного з видаляються пристроями зберігання даних вони не мають, до обробки правил монтування пристроїв (Android же на ядрі Linux працює). В останніх випадках були використані «зашиті» шляху до папки з прімонтірованимі пристроями (в різних версіяхця директорія різна). Не варто забувати, що від версії до версії правила монтування змінюються.

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

опис коду

Був створений клас MountDevice, Який містить в собі шлях до пристрою, тип пристрою і якийсь хеш.
Типів пристроїв виділено два ( внутрішню пам'ятья не став чіпати, так як до неї доступ можна отримати через API системи).

Public enum MountDeviceType (EXTERNAL_SD_CARD, REMOVABLE_SD_CARD)
І був створений клас StorageHelper, Який і здійснює пошук доступних карт пам'яті.

У класі StorageHelper реалізовано два способи пошуку - через системне оточення ( Environment) І з використанням утиліти Linux mount, А точніше результату її виконання.

Спосіб перший - Environment
При роботі з оточенням я використовую стандартну функцію getExternalStorageDirectory () для отримання інформації про зовнішній пам'яті. Щоб отримати інформацію про видаляється пам'яті, я використовую змінну оточення " SECONDARY_STORAGE".

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

функція fillDevicesEnvirement

String path = android.os.Environment.getExternalStorageDirectory () .getAbsolutePath (); if (! path.trim (). isEmpty () && android.os.Environment.getExternalStorageState (). equals (android.os.Environment.MEDIA_MOUNTED)) (testAndAdd (path, MountDeviceType.EXTERNAL_SD_CARD);) // Отримуємо ремувабл String rawSecondaryStoragesStr = System.getenv ( "SECONDARY_STORAGE"); if (rawSecondaryStoragesStr! = null &&! rawSecondaryStoragesStr.isEmpty ()) (// All Secondary SD-CARDs splited into array final String rawSecondaryStorages = rawSecondaryStoragesStr .split (File.pathSeparator); for (String rawSecondaryStorage: rawSecondaryStorages) (testAndAdd (rawSecondaryStorage, MountDeviceType.REMOVABLE_SD_CARD);))


Варіант рішення взято зі stackoverflow. Відповідь десь там внизу.
Спосіб другий - mount
Так як у мене довго не виходило змусити систему мені сказати шлях до видаляється пам'яті, я вирішив шукати в сторону примонтировать пристроїв. В системі є файли конфігурації, в яких описані правила монтування зовнішніх пристроїв. Все б добре, але на Android версії 4. * до цього файлу простим смертним доступу немає, тому розглядати цей спосіб не буду.

Повернемося до утиліти mount. При запуску без параметрів команда повертає список змонтованих файлових систем. Видаляються пристрої мають зазвичай формат файлової системи FAT, то будемо виділяти рядки, в яких є характеристика " fat". Зовнішня пам'ять буде характеризуватися параметром" fuse".

Примітка: при використанні такого способу не завжди коректно (швидше за все я щось не врахував) визначаються типи смотнтірованних пристроїв. Різницю помічав на різних версіях Android. Тому цей спосіб можна використовувати як додатковий.

функція fillDevicesProcess

try (Runtime runtime = Runtime.getRuntime (); proc = runtime.exec ( "mount"); try (is = proc.getInputStream (); isr = new InputStreamReader (is); br = new BufferedReader (isr); while ( (line = br.readLine ())! = null) (if (line.contains ( "secure")) continue; if (line.contains ( "asec")) continue; if (line.contains ( "fat") ) (// TF card String columns = line.split ( ""); if (columns! = null && columns.length> 1) (testAndAdd (columns, MountDeviceType.REMOVABLE_SD_CARD);)) else if (line.contains ( " fuse ")) (// internal (External) // storage String columns = line.split (" "); if (columns! = null && columns.length> 1) (// mount = mount.concat (columns +" \ n "); testAndAdd (columns, MountDeviceType.EXTERNAL_SD_CARD);)))) finally (...)) catch (Exception e) (...)

Вихідний кодвсього класу розташований ще ніде не розташований. Днями постараюся розмістити на gitHub.

Хто ще якими способами користується?

Теги: Додати теги

Цей інструмент дозволяє створювати розділи і управляти ними на SD карті / USB диску телефону або планшета. Ви можете додати більше оперативної пам'ятів пристрій, створивши розділ підкачки. Також можете відновлювати пошкодження файлової системи SD карти. Підтримує тільки "основний" тип розділу.
функції:

  • створення розділів;
  • видалення розділів;
  • відновлення пошкоджених файлових систем.

Підтримувані файлові системи:

  • FAT16, FAT32, EXT2, EXT3, EXT4, SWAP, NTFS (починаючи з версії MoalBoal).

вимоги:

  • Root телефон;
  • наявність Busybox;
  • установка у внутрішню пам'ять;
  • перед початком роботи з додатком відключити SD карту.

Інструкція як створити розділи за допомогою програми

Найперше, перекинути з флешки всі цінні Вам файли на ПК, тобто як з флешки після цього все піде.

- Відкриваємо програму

У розділі Create тиснемо два рази плюсик "+"

Перший розділ "Part 1" вибираємо Fat32, другий "Part 2" вибираємо потрібний ext2 / 3/4 або swap.
- слайдер виставляємо розмір кожного розділу, галочка на "Format" повинна стояти.

Підтверджуємо "Ок"

Все готово.

Як повернути флешці повний об'єм
Якщо вирішили видалити другий розділ з флешці можна зробити так.
- Заходимо в настройки телефону, "Пам'ять" і тиснемо "Витягти SD-карту".
- Відкриваємо програму
- У розділі Create тиснемо один раз плюсик "+"
- У "Part 1" вибираємо Fat32, слайдером виставляємо на повний обсяг флешки, галочка на "Format" повинна стояти.

Софт клавіша, тиснемо "застосувати зміни"

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

Не завжди можна знайти рекавери для конкретного телефону / планшета, підтримує розбивку карт пам'яті, тому в даній статті ми розповімо, як це зробити за допомогою програми для Android - AParted.

Дана програма надає наступні можливості (з офіційної документації):

  • Розбивка на розділи зовнішньої / внутрішньої пам'яті Android-пристрої.
  • Форматування зовнішньої / внутрішньої пам'яті Android-пристрої.
  • Видалення розділів.
  • Перевірка та виправлення помилок файлових систем.
  • Зміна розміру розділів.
  • Оновлення файлових систем.

У даній статті ми скористаємося тільки першою з них.

Підготовка до розбивці

Перед розбивкою обов'язково зробіть резервну копіюважливих для Вас даних (фото, відео і т.п.), так як всі файли будуть видалені з карти пам'яті в процесі розбивки.

Переконайтеся, що на Вашому телефоні присутній, без нього AParted не працюватиме.

Перед запуском програми необхідно відключити карту пам'яті в настройках Android. Для цього перейдіть в "Налаштування> Пам'ять", в розділі підключеної microSD карти натисніть на пункт "Безпечне вилучення" і підтвердіть дію.

Розмітка майбутніх розділів

Відкрийте програму AParted, на вкладці "CREATE" Ви побачите два графічних уявлення карти пам'яті у вигляді прямокутників: нижній прямокутник з написом "Карта пам'яті SD таблиці розділів msdos" відображає поточну розмітку розділів, а верхній "Нові таблиці розділів msdos" - схему майбутніх розділів на карті microSD.

Натисніть на кнопку "ADD", щоб додати перший розділ, і вкажіть повзунком його розмір. Цей розділ буде доступний телефону / планшету як зовнішня пам'ять під фотографії, музику і т.д. Для більш точної розбивки натисніть на число з MB, в полі, що з'явилося вкажіть точний розмір в мегабайтах і підтвердіть зміни, натиснувши "ОК". Залиште галочку "Format" включеної і файлову систему"Fat32" без змін.

Знову натисніть на кнопку "ADD", щоб додати другий розділ на карті microSD, який в майбутньому буде служити розширенням системної пам'яті Android-пристрої. Виберіть повзунком все місце, що залишилося, галочку "Format" залиште включеної, натисніть на напис "fat32" і виберіть одну з наступних файлових систем: "ext2", "ext3" або "ext4".

А ось тут починається найцікавіше, бажано вибрати варіант "ext4", але існує ряд причин, за якими Вам не вдасться створити розділ в даній файлової системи: ядро ​​/ прошивка системи Android, Клас / виробник (якість) карти пам'яті та ін.

Тому експериментуйте, спробуйте спочатку створити розділ з "ext4", потім "ext3" і "ext2". Зрештою додаток Link2SD підтримує всі перераховані вище файлові системи.

Після виконання операцій вище прямокутник з написом "Нові таблиці розділів msdos" повинен відобразити схему майбутніх розділів Вашої картки пам'яті.

виконання розбивки

Щоб застосувати розмітку нових розділів до карти пам'яті, натисніть на кнопку "APPLY". Додаток AParted попередить Вас, що всі дані на знімному носії будуть стерті.

Далі буде відображено процес розбивки і форматування розділів карти пам'яті, по завершенні якого на нижньому графіку "Карта пам'яті SD таблиці розділів msdos" відобразиться результат розбивки носія. Знову перейдіть в "Налаштування> Пам'ять" телефону / планшета і в розділі зовнішньої пам'яті натисніть на пункт "Підключити SD-карту". Після підключення та аналізу microSD карти системою Android Ви побачите що її пам'ять зменшилася до встановленого Вами розміру.

Якщо в статусі телефону з'явиться повідомлення, що SD-карта пошкоджена, перезавантажте систему Android, після перезавантаження карта пам'яті повинна автоматично підключитися.

Налаштування Link2SD

Встановіть та запустіть. Програма повинна автоматично визначити наявність другого розділу на карті пам'яті і видати запит на створення скрипта монтування. Перейдіть до кожної файлову систему другого розділу, яку ви вказали при розбивці карти пам'яті в додатку AParted, підтвердіть запит і після виконання операції натисніть на кнопку "Перезавантажити пристрій".

Після перезавантаження системи Android можна переносити програму з пристрою на другий розділ зовнішньої карти пам'яті.