У дома / Отопление / Разделяне на microSD карта с памет на Android. Получаване на пътя до SD картата на Android Ако SD картата се използва като вътрешна памет

Разделяне на microSD карта с памет на Android. Получаване на пътя до SD картата на Android Ако SD картата се използва като вътрешна памет

Dolphin може да съхранява данни на виртуална SD карта с име sd.raw. По подразбиране той ще бъде създаден с размер 128MB.

Виртуалната SD карта има важна употреба за домашни приложения на Dolphin. Персонализираните песни на Project M и Mario Kart Wii са два добри примера, тъй като някои домашни приложения могат да работят само с помощта на файлове, съхранявани на SD картата на истинския хардуер, за който са проектирани.

съдържание

Създаване на виртуална SD карта

Препоръчително е да създадете такъв с размер най-малко 1GB за големи приложения за домашно производство, например Project M, и не повече от 2GB за най-добра съвместимост, тъй като има проблеми със съвместимостта с някои домашни приложения, които се опитват да работят под SDHC карта на реалния хардуер .

Команден ред и изпълними файлове

WinImage е ненадежден, защото колкото и да е странно, той ще причини десинхронизация и няколко други непредвидими проблеми. ImDisk ще се оправи.

Бързо ръководство за монтиране и редактиране на виртуалната SD карта с ImDisk виртуален диск драйвер:

  1. щракнете с десния бутон върху sd.rawфайл, след което щракнете "Монтиране като ImDisk виртуален диск"от контекстното меню.
  2. квадратче за отметка Подвижен носителслед това удари "ДОБРЕ". Предварително дефинираната буква на устройството и всичко останало ще се справят добре.
    • Виртуалната SD карта вече ще се появи като "Removable Disk", в който вграденият прозорец на Explorer може да чете и записва там.
  3. Когато приключите с виртуалната SD карта, просто я демонтирайте, като щракнете с десния бутон върху "Removable Disk", след което щракнете "Демонтирайте виртуалния диск на ImDisk"от контекстното меню.
    • Виртуалната SD карта трябва да бъде демонтирана, преди да се използва с Dolphin.

Настройка за делфини

Отидете на Опции > Конфигуриране... > Wii > и активирайте Поставете SD карта.

Използване

С приложението Homebrew

Външните файлове, използвани за приложението Homebrew, трябва да се съхраняват вътре sd.rawи самото homebrew приложение ( boot.elfили boot.dol) трябва да съществува извън него, за да може Dolphin да се зареди. Проект M, например, ще се зареди от корен на SD \projectm\и Dolphin ще трябва да стартира Project M чрез \apps\projectm\boot.elf, НЕвъв виртуалната SD карта. За удобство е идеално да имате същите копия, успоредни между вътрешната и външната страна на виртуалната SD карта.

Въпреки това е възможно да стартирате homebrew приложение от виртуална SD карта чрез homebrew експлойти за Wii.

Приложението за стартиране на игри на Wii ще работи само ако конкретна игра на Wii е зададена като ISO по подразбиране. В списъка с игри Dolphin отворете контекстното меню (щракнете с десния бутон) на всяка игра на Wii и щракнете Задайте ISO по подразбиране. Направете това, преди да заредите домашно приложение с Dolphin.

За Netplay

Netplay в крайна сметка ще се десинхронизира, ако нещо прочете виртуалната SD карта, която не е клонирана, независимо от същия размер, в който е създадена, и идентични структури на файл/папка в нейния корен. За да предотврати това sd.rawтрябва да бъде копиран от компютъра на хоста на довършителни компютри преди стартиране на netplay. Ако виртуалната SD карта е била използвана офлайн или онлайн с деактивиран блок за запис, контролната сума MD5 ще се промени („Дата на достъп“ на файловете е това, което е различно във виртуалната SD карта), но няма да предизвика десинхронизиране. SD картата трябва да идват от другаде или са подложени на модифицираните файлове вътре, за да бъдат "различни".

За приложението за стартиране на игри на Wii потребителите от двата края трябва първо да имат едни и същи копия на приложението homebrew и играта в списъка си с игри, след което да зададат играта като ISO по подразбиране, както беше споменато в предишния раздел.

Този инструмент ви позволява да създавате и управлявате дялове на SD картата/USB диска на вашия телефон или таблет. Можете да добавите повече RAM към вашето устройство, като създадете суап дял. Можете също да поправите повреда на файловата система на SD картата. Поддържа само "основния" тип дял.
Функции:

  • създаване на раздели;
  • изтриване на дялове;
  • възстановяване на повредени файлови системи.

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

  • FAT16, FAT32, EXT2, EXT3, EXT4, SWAP, NTFS (от MoalBoal).

Изисквания:

  • корен телефон;
  • наличие на Busybox;
  • инсталиране във вътрешна памет;
  • Изключете SD картата, преди да използвате приложението.

Инструкции как да създавате дялове с помощта на програмата

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

- Отворете програмата

В секцията Създаване щракнете двукратно върху знака плюс "+"

Първият раздел "Част 1" изберете Fat32, вторият "Част 2" изберете желания ext2/3/4 или разменете.
- Използвайте плъзгача, за да зададете размера на всяка секция, трябва да поставите отметка в квадратчето "Формат".

Потвърдете "OK"

Всичко е готово.

Как да върнете флашката към пълен обем
Ако решите да изтриете втория дял от флаш устройството, можете да направите това.
- Отидете в настройките на телефона, "Памет" и щракнете върху "Изваждане на SD карта".
- Отворете програмата
- В секцията Създаване щракнете веднъж върху знака плюс "+".
- В "Част 1" изберете Fat32, задайте плъзгача на пълния обем на флаш устройството, поставете отметка в квадратчето за "Форматиране".

Мек клавиш, щракнете върху "приложи промени"

Необходимостта от разделяне на картата с памет на няколко секции обикновено възниква, когато телефонът/таблетът с Android има малко вградена памет за инсталиране на приложения. Като извършите подобна операция, можете да освободите място на телефона си, например като отидете на втория раздел на microSD картата. По-рано вече ви казахме как можете да създавате / обедините дялове на карта с памет, като използвате и .

Не винаги е възможно да се намери възстановяване за конкретен телефон/таблет, който поддържа разделяне на карти с памет, така че в тази статия ще ви кажем как да го направите с помощта на приложението за Android - AParted.

Това приложение предоставя следните функции (от официалната документация):

  • Разделяне на външна/вътрешна памет на устройство с Android.
  • Форматирайте външна/вътрешна памет на устройство с Android.
  • Премахване на секции.
  • Проверка и коригиране на грешки в файловата система.
  • Преоразмеряване на дялове.
  • Актуализиране на файлови системи.

В тази статия ще използваме само първия от тях.

Подготовка за залагане

Преди да разделите, не забравяйте да архивирате вашите важни данни (снимки, видеоклипове и т.н.), тъй като всички файлове ще бъдат изтрити от картата с памет по време на процеса на разделяне.

Уверете се, че телефонът ви има , в противен случай AParted няма да работи.

Преди да стартирате приложението, трябва да деактивирате картата с памет в настройките на Android. За да направите това, отидете на "Настройки> Памет", в секцията на свързаната microSD карта щракнете върху елемента "Безопасно премахване" и потвърдете действието.

Маркиране за бъдещи раздели

Стартирайте приложението AParted, в раздела "CREATE" ще видите две графични изображения на картата с памет под формата на правоъгълници: долният правоъгълник с надпис "msdos partition tables SD memory card" показва текущото оформление на дяла, а горният " Нови таблици на дялове msdos" - схемата на бъдещите дялове на microSD карта.

Щракнете върху бутона "ДОБАВЯНЕ", за да добавите първия раздел, и използвайте плъзгача, за да зададете неговия размер. Този раздел ще бъде достъпен за телефона/таблета като външна памет за снимки, музика и др. За по-точна разбивка щракнете върху числото с MB, в полето, което се показва, посочете точния размер в мегабайти и потвърдете промените, като щракнете върху "OK". Оставете квадратчето за отметка „Формат“ активирано и файловата система „fat32“ непроменена.

Кликнете отново върху бутона „ДОБАВЯНЕ“, за да добавите втори дял на microSD картата, който в бъдеще ще служи като разширение на системната памет на устройството с Android. Изберете оставащото място с плъзгача, оставете квадратчето за отметка "Формат" активирано, щракнете върху надписа "fat32" и изберете една от следните файлови системи: "ext2", "ext3" или "ext4".

И тук забавлението започва, препоръчително е да изберете опцията "ext4", но има редица причини, поради които няма да можете да създадете дял в тази файлова система: ядрото / фърмуера на системата Android, класът / производител (качество) на картата с памет и др.

Затова експериментирайте, опитайте се да създадете дял първо с "ext4", след това с "ext3" и "ext2". В крайна сметка приложението Link2SD поддържа всички горепосочени файлови системи.

След завършване на операциите по-горе, правоъгълникът с надпис "Нови таблици на дялове msdos" трябва да покаже диаграма на бъдещите дялове на вашата карта с памет.

Залагане

За да приложите оформлението на новите дялове към картата с памет, щракнете върху бутона "APPLY". Приложението AParted ще ви предупреди, че всички данни на преносимия носител ще бъдат изтрити.

След това ще се покаже процесът на разделяне и форматиране на дялове на картата с памет, след което долната графика "SD карта с памет на таблицата на дяловете msdos" ще покаже резултата от разделянето на носителя. Отново отидете на „Настройки > Съхранение“ на вашия телефон/таблет и в секцията външна памет щракнете върху елемента „Свързване на SD карта“. След като свържете и анализирате microSD картата от системата Android, ще видите, че нейната памет е намаляла до размера, който сте задали.

Ако в състоянието на телефона се появи съобщение, че SD картата е повредена, рестартирайте системата Android, след рестартиране картата с памет трябва да се свърже автоматично.

Настройка на Link2SD

Инсталирайте и стартирайте. Програмата трябва автоматично да открие наличието на втори дял на картата с памет и да ви подкани да създадете скрипт за монтиране. Маркирайте в списъка файловата система на втория дял, който сте посочили при разделянето на картата с памет в приложението AParted, потвърдете заявката и след операцията кликнете върху бутона "Рестартиране на устройството".

След рестартиране на системата Android, можете да прехвърляте приложения от паметта на устройството към втория дял на външната карта с памет.

Докато разработвах приложение за състезание, се сблъсках с проблем със съхранението на база данни. Проблемът беше как да идентифицирам външната карта с памет. Като цяло търсенето в нета не даде точен отговор. Следователно, като комбинирах всички резултати, които открих, събрах моя клас. Ако някой се интересува, да погледне под слоя.

Така че нека започнем с теорията.

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

Google ни казва, че има следните понятия:
  1. Вътрешен ( вътрешни) паметта е част от картата с памет, вградена в телефона. По подразбиране папката на приложението е защитена от достъп от други приложения (Използване на вътрешната памет).
  2. Външен ( външен) паметта е споделено "външно хранилище", т.е. може да бъде или част от вградената памет, или устройство, което трябва да бъде премахнато. Обикновено това е част от вградената памет, тъй като последния път, когато видях устройството да се премахва, беше на android 2.2, където вградената памет беше около 2GB, а свързаната памет стана външна (Using the External Storage).
  3. Изтрит ( подвижни) памет - цялото съхранение, което може да бъде извадено от устройството без "хирургически" интервенции.

Преди KitKat 4.4 API не предоставяше функционалност за получаване на пътища към външна памет. Започвайки с тази версия (API 19) има функция за публичен абстрактен файл getExternalFilesDirs(Тип низ), който връща масив от низове с пътища към вътрешната и външната памет. Но какво да кажем за нашата SD карта, която е поставена в слота? Отново не можем да стигнем до него.

резултати от търсенето

За да отговоря на въпроса, се обърнах към всезнаещия Google. Но той не ми даде ясен отговор. Бяха разгледани много дефиниции, от използването на стандартни функции, които водят до външна памет, но те нямат нищо общо със сменяеми устройства за съхранение, до обработка на правилата за монтиране на устройства (Android работи на ядрото на Linux). В последните случаи са използвани "кабелни" пътища към папката с монтирани устройства (тази директория е различна в различните версии). Не забравяйте, че правилата за монтаж се променят от версия на версия.

В крайна сметка реших да комбинирам всички придобити знания и написах свой собствен клас, който може да върне пътищата към външни и премахнати устройства за нас.

Описание на кода

Създаден е клас Монтиране на устройство, който съдържа пътя до устройството, типа на устройството и някакъв хеш.
Има два типа разпределени устройства (не докоснах вътрешната памет, тъй като може да бъде достъпна чрез системния API).

Публично изброяване MountDeviceType ( EXTERNAL_SD_CARD, REMOVABLE_SD_CARD )
И класът беше създаден StorageHelper, който търси налични карти с памет.

Класът StorageHelper реализира два метода за търсене - през системната среда ( Заобикаляща среда) и с помощта на помощната програма за Linux монтиране, или по-скоро резултат от неговото изпълнение.

Метод първи - Околна среда
Когато работя със средата, използвам стандартната функция getExternalStorageDirectory(), за да получа информация за външно съхранение. За да получа информация за премахваната памет, използвам променливата на средата " SECONDARY_STORAGE".

Външната памет винаги е една и обикновено винаги е, така че я проверяваме за четливост, изчисляваме хеша и запомняме. Може да има много памет за изтриване, така че трябва да разделите резултантния низ чрез разделителя и да проверите всяка стойност.

функция fillDevicesEnvirement

Път на низ = 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 Remover); ) // Get String Remover rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // Всички вторични SD-карти са разделени на крайния масив String rawSecondaryStorages = rawSecondaryStoragesStr .split(File.StrathStoragesStr.isEmpty()) (//Всички вторични SD-карти разделени на масива final String rawSecondaryStorages = rawSecondaryStoragesStr .split(File.StrathStorages)(File.StringSeparatory test) MountDeviceType.REMOVABLE_SD_CARD); ) )


Решението е взето от stackoverflow. Отговорът е някъде долу.
Метод втори - монтиране
Тъй като дълго време не можех да накарам системата да ми каже пътя към паметта, която трябва да бъде изтрита, реших да погледна по посока на монтираните устройства. Системата има конфигурационни файлове, които описват правилата за монтиране на външни устройства. Всичко би било наред, но на Android версия 4.* няма достъп до този файл от простосмъртни, така че няма да разглеждам този метод.

Да се ​​върнем към помощната програма за монтиране. Когато се изпълнява без параметри, командата връща списък с монтирани файлови системи. Премахнатите устройства обикновено имат формата на файловата система FAT, след което ще изберем редове, които имат характеристиката " дебел". Външната памет ще се характеризира с параметър " предпазител".

Забележка: когато използвате този метод, не винаги е правилно (най-вероятно не съм взел предвид нещо) се определят видовете монтирани устройства. Забелязах разликата при различните версии на Android. Следователно този метод може да се използва като допълнителен.

функция fillDevicesProcess

опитайте ( Runtime runtime = Runtime.getRuntime(); proc = runtime.exec("mount"); try ( is = proc.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); докато ( (line = br.readLine()) != null) (if (line.contains("secure")) продължава; if (line.contains("asec")) продължава; if (line.contains("fat") ) (// TF карта String columns = line.split(" "); if (колони != null && columns.length > 1) ( testAndAdd(columns, MountDeviceType.REMOVABLE_SD_CARD); ) ) else if (line.contains(" предпазител")) (// internal(External) // Storage String columns = line.split(" "); if (columns != null && columns.length > 1) ( // mount = mount.concat(columns + " \n"); testAndAdd(columns, MountDeviceType.EXTERNAL_SD_CARD); ) ) ) ) накрая ( ... ) ) catch (Изключение e) ( ... )

Изходният код на целия клас все още не се намира никъде. Ще се опитам да го публикувам на github през следващите няколко дни.

Кой друг го използва?

Етикети: Добавяне на етикети

Някои устройства с 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 картата докоснете Отвори.