Virtuaalinen sd-kortti Androidille. Androidin microSD-muistikortin erittely. Tuetut tiedostojärjestelmät

Tarve jakaa muistikortti useisiin osiin syntyy yleensä, kun Android-puhelimessa/tabletissa ei ole tarpeeksi sisäänrakennettua muistia sovellusten asentamiseen. Suorittamalla vastaavan toimenpiteen voit vapauttaa tilaa puhelimessasi esimerkiksi siirtymällä toiseen osioon microSD-kortit. Aiemmin kerroimme sinulle, kuinka voit luoda/yhdistää osioita muistikortille käyttämällä ja.

Aina ei ole mahdollista löytää palautusta tietylle puhelimelle/tabletille, joka tukee muistikortin osiointia, joten tässä artikkelissa kerromme, kuinka tämä tehdään Android-sovelluksella AParted.

Tämä sovellus tarjoaa seuraavat ominaisuudet (virallisista asiakirjoista):

  • Ulkoinen osiointi/ sisäinen muisti Android-laitteet.
  • Android-laitteen ulkoisen/sisäisen muistin alustaminen.
  • Osioiden poistaminen.
  • Tiedostojärjestelmän virheiden tarkistaminen ja korjaaminen.
  • Osioiden koon muuttaminen.
  • Tiedostojärjestelmien päivittäminen.

Tässä artikkelissa käytämme vain ensimmäistä niistä.

Valmistautuminen stakeoutiin

Ennen kuin hajoat, muista tehdä varmuuskopio sinulle tärkeitä tietoja (kuvat, videot jne.), koska kaikki tiedostot poistetaan muistikortilta osioinnin aikana.

Varmista, että se on puhelimessasi, ilman sitä AParted ei toimi.

Ennen sovelluksen käynnistämistä sinun on irrotettava muistikortti Android-asetukset. Voit tehdä tämän siirtymällä kohtaan "Asetukset > Muisti", napsauttamalla liitetyn microSD-kortin osiossa kohtaa "Poista turvallisesti" ja vahvista toiminto.

Tulevien osien asettelu

Käynnistä AParted-sovellus, "LUO"-välilehdellä näet kaksi graafista esitysta muistikortista suorakulmioiden muodossa: alempi suorakulmio, jossa on teksti "SD-muistikortin msdos-osiotaulukot", näyttää nykyisen osion asettelun ja ylempi. yksi "Uudet msdos-osiotaulukot" - tulevien osioiden asettelu microSD-kortille.

Napsauta "LISÄÄ"-painiketta lisätäksesi ensimmäisen osan ja määritä sen koko liukusäätimellä. Tämä osio on puhelimen/tabletin käytettävissä ulkoisena muistina valokuville, musiikille jne. Tarkempaa erittelyä varten napsauta numeroa MB:llä, kirjoita näkyviin tulevaan kenttään tarkka koko megatavuina ja vahvista muutokset napsauttamalla "OK". Jätä "Format"-valintaruutu päälle ja "fat32"-tiedostojärjestelmä ennalleen.

Napsauta "LISÄÄ"-painiketta uudelleen lisätäksesi toisen osion microSD-kortille, joka toimii jatkossa laajennuksena järjestelmämuisti Android-laitteet. Käytä liukusäädintä valitaksesi kaikki jäljellä oleva tila, jätä "Format"-valintaruutu päälle, napsauta "fat32"-merkintää ja valitse jokin seuraavista tiedostojärjestelmistä: "ext2", "ext3" tai "ext4".

Ja tästä hauskuus alkaa, on suositeltavaa valita "ext4" -vaihtoehto, mutta on useita syitä, miksi et voi luoda osiota tähän tiedostojärjestelmään: ydin / laiteohjelmisto Android-järjestelmät, muistikortin luokka/valmistaja (laatu) jne.

Siksi kokeile, yritä ensin luoda osio "ext4", sitten "ext3" ja "ext2". Loppujen lopuksi Link2SD-sovellus tukee kaikkia yllä olevia tiedostojärjestelmiä.

Kun olet suorittanut yllä olevat toiminnot, suorakulmion, jonka otsikko on "Uudet msdos-osiotaulukot", pitäisi näyttää muistikorttisi tulevien osioiden asettelu.

Suorittaa stakeout

Voit ottaa uusien osioiden asettelun käyttöön muistikortilla napsauttamalla "KÄYTÄ"-painiketta. AParted-sovellus varoittaa, että kaikki siirrettävällä tietovälineellä olevat tiedot poistetaan.

Seuraavaksi näytetään muistikortin osioiden osiointi- ja alustusprosessi, jonka päätyttyä alempi kaavio "SD-muistikortin msdos-osiotaulukko" näyttää median osioinnin tuloksen. Siirry puhelimesi/tablettisi kohtaan "Asetukset > Tallennus" ja napsauta ulkoisen muistin osiossa "Yhdistä SD-kortti". Kun olet liittänyt ja analysoinut microSD-kortin Android-järjestelmässä, huomaat, että sen muisti on pienentynyt asettamasi kokoon.

Jos puhelimen tila näyttää viestin, että SD-kortti on vaurioitunut, käynnistä Android-järjestelmä uudelleen, uudelleenkäynnistyksen jälkeen muistikortin pitäisi muodostaa yhteys automaattisesti.

Link2SD:n asetukset

Asenna ja suorita. Ohjelman pitäisi automaattisesti havaita toisen osion läsnäolo muistikortilla ja pyytää sinua luomaan asennuskomentosarja. Valitse luettelosta toisen osion tiedostojärjestelmä, jonka määritit osioitaessa muistikorttia AParted-sovelluksessa, vahvista pyyntö ja toiminnon suorittamisen jälkeen napsauta "Käynnistä laite uudelleen" -painiketta.

Kun olet käynnistänyt Android-järjestelmän uudelleen, voit siirtää sovelluksia laitteen muistista ulkoisen muistikortin toiseen osioon.

Kun kehittelin kilpailusovellusta, törmäsin tietokannan tallennusongelmaan. Ongelmana oli, kuinka tunnistan ulkoisen muistikortin. Yleisesti ottaen Internet-haku ei antanut tarkkaa vastausta. Siksi kokosin luokkani yhdistämällä kaikki löytämani tulokset. Jos jotakuta kiinnostaa, katso leikkauksen alta.

Joten aloitetaan teoriasta.

Terminologia

Google kertoo meille, että on olemassa seuraavat käsitteet:
  1. Sisäinen ( sisäinen) muisti on osa puhelimen sisäänrakennettua muistikorttia. Kun sovelluskansio on oletusarvoisesti käytössä, se on suojattu muilta sovelluksilta (sisäistä tallennustilaa käyttämällä).
  2. Ulkoinen ( ulkoinen) muisti on yleinen "ulkoinen tallennustila", ts. tämä voi olla joko osa sisäänrakennettua muistia tai laite, joka voidaan irrottaa. Yleensä tämä on osa sisäänrakennettua muistia, viimeksi näin laitteen poistuvan Android 2.2:ssa, jossa sisäänrakennettu muisti oli noin 2 Gt ja liitetty muisti muuttui ulkoiseksi (Using the External Storage).
  3. Poistettu ( irrotettava) muisti - kaikki tallennustila, joka voidaan poistaa laitteesta ilman "kirurgisia" toimenpiteitä.

Ennen KitKat 4.4:ää API ei tarjonnut toimintoja ulkoisten muistipolkujen hakemiseen. Tästä versiosta (API 19) alkaen julkinen abstrakti tiedosto -toiminto ilmestyi getExternalFilesDirs(merkkijonotyyppi), joka palauttaa joukon merkkijonoja poluilla sisäiseen ja ulkoiseen muistiin. Mutta entä SD-korttimme, joka on asetettu paikkaan? Emme voi taaskaan saada tietä siihen.

hakutuloksia

Vastatakseni kysymykseen käännyin kaikkitietävän Googlen puoleen. Mutta hän ei myöskään antanut minulle selkeää vastausta. Monia määrittelyvaihtoehtoja harkittiin standarditoimintojen käytöstä, jotka johtavat ulkoiseen muistiin, mutta niillä ei ole mitään tekemistä poistettavien tallennuslaitteiden kanssa, käsittelylaitteiden asennussääntöihin (Android toimii Linux-ytimessä). Jälkimmäisissä tapauksissa käytettiin "langallisia" polkuja kansioon, jossa oli asennettuja laitteita (tämä hakemisto on erilainen eri versioissa). Älä unohda, että asennussäännöt vaihtelevat versiosta toiseen.

Lopulta päätin yhdistää kaiken hankkimani tiedon ja kirjoitin oman luokan, joka voi palauttaa polut ulkoisille ja poistetuille laitteille.

Koodin kuvaus

Luokka on luotu MountDevice, joka sisältää polun laitteeseen, laitetyypin ja tiivisteen.
Laitteita on kahdenlaisia ​​(en koskenut sisäiseen muistiin, koska siihen pääsee järjestelmän API:n kautta).

Julkinen enum MountDeviceType (EXTERNAL_SD_CARD, REMOVABLE_SD_CARD)
Ja luokka luotiin StorageHelper, joka etsii käytettävissä olevia muistikortteja.

StorageHelper-luokka toteuttaa kaksi hakumenetelmää - järjestelmäympäristön kautta ( Ympäristö) ja käyttämällä Linux-apuohjelmaa kiinnitys tai pikemminkin sen toteuttamisen tulos.

Tapa yksi - Ympäristö
Työskennellessäni ympäristön kanssa käytän tavallista getExternalStorageDirectory()-funktiota saadakseni tietoja ulkoisesta muistista. Saadakseni tietoa poistettavasta muistista käytän ympäristömuuttujaa " TOISSIJAINEN TALLENNUSTILA".

Ulkoinen muisti on aina yksi ja se on yleensä aina olemassa, joten tarkistamme sen luettavuuden, laskemme hashin ja muistamme sen. Poistettavaa muistia voi olla paljon, joten tuloksena oleva merkkijono on jaettava erottimella ja tarkistettava jokainen arvo.

toiminto fillDevicesEnvirement

Merkkijonopolku = android.os.Environment.getExternalStorageDirectory() .getAbsolutePath(); if (!path.trim().isEmpty() && android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) ( testAndAdd(polku, MountDeviceType.EXTERNAL_SD_CARD); ) // Hanki poisto Merkkijono rawSecondaryStoragesStr = System.getenv("TOISELLINEN_TALLENNUS"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // Kaikki toissijaiset SD-KORTIT jaettu taulukon lopulliseen merkkijonoon rawSecondaryStorages = rawSecondaryStoragesStr .split(File.pathSparator:condarySdtor) for (StringSdtor) rawSecondaryStorage, MountDeviceType.REMOVABLE_SD_CARD);


Liuos otettiin stackoverflowsta. Vastaus on jossain alhaalla.
Tapa kaksi - kiinnitys
Koska en saanut järjestelmää kertomaan polkua muistin poistoon pitkään aikaan, päätin katsoa asennettujen laitteiden suuntaan. Järjestelmässä on asennustiedostot, jotka kuvaavat asennussäännöt ulkoisia laitteita. Kaikki olisi hyvin, mutta Android-versiossa 4.* pelkillä kuolevaisilla ei ole pääsyä tähän tiedostoon, joten en harkitse tätä menetelmää.

Palataan asennusapuohjelmaan. Kun komento suoritetaan ilman parametreja, se palauttaa luettelon liitetyistä tiedostojärjestelmistä. Poistettavat laitteet ovat yleensä tiedostomuodossa. FAT-järjestelmät, korostamme rivit, jotka sisältävät ominaisuuden " rasvaa". Ulkoista muistia luonnehditaan parametrilla " sulake".

Huomaa: tätä menetelmää käytettäessä asennettujen laitteiden tyyppejä ei aina määritetä oikein (todennäköisimmin en ottanut jotain huomioon). Huomasin eron Androidin eri versioissa. Siksi tätä menetelmää voidaan käyttää lisämenetelmänä.

fillDevicesProcess-toiminto

try ( Runtime runtime = Runtime.getRuntime(); proc = runtime.exec("mount"); try ( is = proc.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); while ( (rivi = br.readLine()) != null) ( if (line.contains("secure")) jatka; if (line.contains("asec")) jatka; if (line.contains("rasva") ) (// TF-kortti Merkkijono sarakkeet = line.split(" "); if (sarakkeet != null && sarakkeet.pituus > 1) ( testAndAdd(columns, MountDeviceType.REMOVABLE_SD_CARD); ) ) else if (line.contains(") sulake")) (// sisäinen(ulkoinen) // tallennus Merkkijono sarakkeet = line.split(" "); if (columns != null && columns.length > 1) ( // mount = mount.concat(columns + " \n"); testAndAdd(sarakkeet, MountDeviceType.EXTERNAL_SD_CARD); ) ) ) ) lopuksi ( ... ) ) catch (poikkeus e) ( ... )

Lähde Koko luokka ei ole vielä missään. Jonain päivänä yritän julkaista sen gitHubissa.

Kuka muu käyttää mitä menetelmiä?

Tunnisteet: Lisää tunnisteita

Dolphin voi tallentaa tietoja virtuaaliselle SD-kortille sd.raw. Oletusarvoisesti se luodaan kooltaan 128 Mt.

Virtuaalisella SD-kortilla on tärkeä käyttökohde Dolphinin homebrew-sovelluksille. Project M ja Mario Kart Wii mukautetut kappaleet ovat kaksi hyvää esimerkkiä, sillä jotkin homebrew-sovellukset voivat toimia vain käyttämällä SD-kortille tallennettuja tiedostoja sen todellisen laitteiston, jota varten ne on suunniteltu.

Sisällys

Virtuaalisen SD-kortin luominen

On suositeltavaa luoda sellainen, jonka koko on vähintään 1 Gt suurille kotibrew-sovelluksille, kuten Project M, ja enintään 2 Gt parhaan yhteensopivuuden saavuttamiseksi, koska joidenkin homebrew-sovellusten kanssa, jotka yrittävät toimia SDHC-kortin alla todellisessa laitteistossa, on yhteensopivuusongelmia. .

Komentorivi ja suoritettavat tiedostot

WinImage on epäluotettava, koska omituista kyllä, se aiheuttaa synkronoinnin ja muutamia muita odottamattomia ongelmia. ImDisk pärjää.

Pikaopas virtuaalisen SD-kortin asentamiseen ja muokkaamiseen ImDisk virtuaalinen levyohjain:

  1. Napsauta hiiren kakkospainikkeella sd.raw tiedosto ja napsauta sitten "Liitä ImDisk-virtuaalilevyksi" kontekstivalikosta.
  2. Valintaruutu Irrotettava tietoväline sitten lyö "OK". Ennalta määritetty asemakirjain ja kaikki muu käy hyvin.
    • Virtuaalinen SD-kortti näkyy nyt "Siirrettävänä levynä", jolle alkuperäinen Explorer-ikkuna voi lukea ja kirjoittaa sinne.
  3. Kun olet muokannut virtuaalista SD-korttia, irrota se napsauttamalla hiiren kakkospainikkeella "Removable Disk" ja napsauta sitten "Unmount ImDisk Virtual Disk" kontekstivalikosta.
    • Virtuaalinen SD-kortti on irrotettava ennen käyttöä Dolphinin kanssa.

Delfiini-asetus

Siirry kohtaan Asetukset > Määritä... > Wii > ja ota käyttöön Aseta SD-kortti.

Käyttö

Homebrew-sovelluksella

Homebrew-sovelluksessa käytetyt ulkoiset tiedostot on tallennettava sisään sd.raw ja itse homebrew-sovellus ( boot.elf tai boot.dol) on oltava sen ulkopuolella, jotta Dolphin voi ladata. Esimerkiksi Project M latautuu SD-juuresta \projekti\ ja Dolphinin on käynnistettävä Project M läpi \apps\projectm\boot.elf, EI virtuaalisella SD-kortilla. Mukavuuden vuoksi on ihanteellista, että samat kopiot rinnastetaan virtuaalisen SD-kortin sisä- ja ulkopuolelle.

Homebrew-sovellus on kuitenkin mahdollista käynnistää virtuaaliselta SD-kortilta Wiin kotibrew-hyödyntämisessä.

Wii-pelien käynnistyssovellus toimii vain, jos tietty Wii-peli on asetettu oletus-ISO-asetukseksi. Avaa Dolphin-peliluettelon kontekstivalikko (napsauta hiiren kakkospainikkeella) mitä tahansa Wii-peliä ja napsauta Aseta oletus-ISO. Tee tämä ennen kuin lataat Homebrew-sovelluksen Dolphinilla.

Netplaylle

Netplay poistaa lopulta synkronoinnin, jos jokin lukee virtuaalista SD-korttia, jota ei ole kloonattu, riippumatta siitä, minkä kokoinen se on luotu, ja identtiset tiedosto-/kansiorakenteet sen juuressa. Sen estämiseksi, sd.raw on kopioitava isäntätietokoneelta liitostietokoneille ennen netplayn käynnistämistä. Jos virtuaalista SD-korttia käytettiin offline-tilassa tai online-tilassa kirjoituseston ollessa pois käytöstä, MD5-tarkistussumma muuttuu (tiedostojen "käyttöpäivämäärä" eroaa virtuaalisesta SD-kortista), mutta se ei aiheuta synkronointia. SD-kortti sai olla peräisin muualta tai niiden sisällä olevia tiedostoja on muutettu "erilaisiksi".

Wii-pelin käynnistyssovelluksen käyttäjillä molemmissa päissä on oltava samat kopiot homebrew-sovelluksesta ja pelistä ensin peliluettelossaan, minkä jälkeen peli on asetettava oletus-ISO:ksi, kuten edellisessä osiossa mainittiin.

Joissakin Android-laitteet Muistikorteille (yleensä microSD-muodossa) on paikkoja. Jos laitteesi tukee SD-kortteja, voit:

  • lisätä muistikapasiteettia;
  • käyttää korttia joihinkin toimintoihin ja sovelluksiin.

Valmistajan verkkosivustolta saat selville, onko laitteessasi SD-korttipaikka.

Huomautus. Jotkut näistä vaiheista voidaan suorittaa vain laitteissa, joissa on Android 6.0 tai uudempi.

Kuinka asentaa SD-kortti

Vaihe 1: Aseta SD-kortti paikalleen.
  1. Tarkista, missä SD-korttipaikka sijaitsee.
  2. Sammuta puhelin.
  3. Irrota SD-korttikelkka tai takakansi laitteet (mallista riippuen). Nosta tarvittaessa kielekettä, joka pitää korttia.
  4. Aseta SD-kortti korttipaikkaan. Jos nostit kiinnityskielekkeen, laske se alas.
  5. Asenna SD-korttikelkka tai laitteen takakansi takaisin paikalleen.
Vaihe 2: Kytke SD-kortti päälle.
  1. Odota, että SD-kortin ilmoitus tulee näkyviin.
  2. Klikkaus Virittää.
  3. Valitse haluamasi tallennustyyppi.
    • Irrotettava tallennustila:
      Voit siirtää kortin toiseen laitteeseen kaikkien tiedostojesi (kuten valokuvat ja musiikki) kanssa. Sovelluksia ei voi siirtää siirrettävälle asemalle.
    • Sisäinen muisti:
      Kortti voi tallentaa sovelluksia ja tietoja vain kyseiselle laitteelle. Jos siirrät sen toiseen laitteeseen, kaikki sen tiedot poistetaan.
  4. Asenna SD-kortti noudattamalla näytön ohjeita.
  5. Kun olet valmis, napsauta Valmis.

Kuinka käyttää SD-korttia

Kuinka siirtää sovelluksia SD-kortille

Jos olet liittänyt kortin sisäiseksi tallennustilaksi, voit siirtää siihen sovelluksia.

Huomautus. Kaikkia sovelluksia ei voi siirtää SD-kortille.

Kuinka siirtää tiedostoja SD-kortille

Jos olet asentanut SD-kortin siirrettäväksi tallennuslaitteeksi, voit siirtää siihen erilaisia ​​tiedostoja, kuten musiikkia ja valokuvia. Sen jälkeen ne voidaan poistaa laitteen sisäisestä muistista.

Vaihe 1: Kopioi tiedostot SD-kortille.

Vaihe 2: Poista tiedostoja sisäisestä tallennustilasta.

Voit tarkastella SD-kortin sisältöä ja nähdä kuinka paljon tilaa on jäljellä.

Kun SD-korttia käytetään sisäisenä tallennustilana

Kun SD-korttia käytetään irrotettavana tallennuslaitteena

  1. Avaa ilmoituspaneeli pyyhkäisemällä alas näytön yläreunasta.
  2. Napauta SD-kortin ilmoituksen alla Avata.

Tämän työkalun avulla voit luoda ja hallita osioita puhelimen tai tabletin SD-kortille/USB-asemalle. Voit lisätä lisää RAM-muisti laitteeseen luomalla swap-osion. Voit myös korjata vaurioituneet SD-korttitiedostojärjestelmät. Tukee vain "main"-osion tyyppiä.
Toiminnot:

  • osioiden luominen;
  • osioiden poistaminen;
  • vaurioituneiden tiedostojärjestelmien palauttaminen.

Tuetut tiedostojärjestelmät:

  • FAT16, FAT32, EXT2, EXT3, EXT4, SWAP, NTFS (alkaen MoalBoal-versiosta).

Vaatimukset:

  • Root puhelin;
  • Busyboxin saatavuus;
  • asennus sisäiseen muistiin;
  • Ennen kuin aloitat työskentelyn sovelluksen kanssa, irrota SD-kortti.

Ohjeet osioiden luomiseen ohjelman avulla

Aivan ensimmäinen asia on siirtää kaikki arvokkaat tiedostosi flash-asemalta tietokoneellesi, eli sen jälkeen kaikki poistetaan muistitikulta.

- Avaa ohjelma

Kaksoisnapsauta Luo-osiossa plusmerkkiä "+"

Ensimmäinen osa "Osa 1" valitse Fat32, toinen "Osa 2" valitse haluamasi ext2/3/4 tai vaihda.
- Käytä liukusäädintä kunkin osan koon asettamiseen.

Vahvista "OK"

Kaikki on valmista.

Kuinka palauttaa flash-asema täyteen kapasiteettiin
Jos päätät poistaa toisen osion flash-asemasta, voit tehdä tämän.
- Siirry puhelimen asetuksiin, "Muisti" ja napsauta "Poista SD-kortti".
- Avaa ohjelma
- Napsauta Luo-osiossa plusmerkkiä "+" kerran
- Valitse "Osassa 1" Fat32, aseta liukusäädin flash-aseman täyteen kapasiteetille, "Format" -valintaruutu tulee valita.

Soft key, napsauta "Ota muutokset käyttöön"




Yläosa