Den Pfad zur SD-Karte auf Android ermitteln. Partitionieren einer microSD-Speicherkarte unter Android. Vorbereiten der Partitionierung

Die Notwendigkeit, eine Speicherkarte in mehrere Abschnitte aufzuteilen, entsteht normalerweise, wenn ein Android-Telefon/-Tablet nicht über genügend integrierten Speicher zum Installieren von Anwendungen verfügt. Durch einen ähnlichen Vorgang können Sie Speicherplatz auf Ihrem Telefon freigeben, indem Sie beispielsweise zur zweiten Partition wechseln microSD-Karten. Zuvor haben wir Ihnen bereits erklärt, wie Sie mit und Partitionen auf einer Speicherkarte erstellen/zusammenführen können.

Es ist nicht immer möglich, eine Wiederherstellung für ein bestimmtes Telefon/Tablet zu finden, das die Speicherkartenpartitionierung unterstützt. In diesem Artikel erklären wir Ihnen daher, wie Sie dies mit der Android-Anwendung AParted tun.

Diese Anwendung bietet die folgenden Funktionen (aus der offiziellen Dokumentation):

  • Partitionierung des externen/internen Speichers eines Android-Geräts.
  • Formatieren des externen/internen Speichers eines Android-Geräts.
  • Partitionen entfernen.
  • Überprüfen und Beheben von Dateisystemfehlern.
  • Partitionsgröße ändern.
  • Dateisysteme aktualisieren.

In diesem Artikel werden wir nur den ersten davon verwenden.

Vorbereitung zur Absteckung

Bevor Sie zusammenbrechen, sollten Sie dies unbedingt tun Sicherungskopie Wichtige Daten für Sie (Fotos, Videos etc.), da bei der Partitionierung alle Dateien von der Speicherkarte gelöscht werden.

Stellen Sie sicher, dass dies auf Ihrem Telefon vorhanden ist. Ohne diese Funktion funktioniert AParted nicht.

Bevor Sie die Anwendung starten, müssen Sie die Speicherkarte trennen Android-Einstellungen. Gehen Sie dazu zu „Einstellungen > Speicher“, klicken Sie im Bereich „Angeschlossene microSD-Karte“ auf „Sicher entfernen“ und bestätigen Sie die Aktion.

Layout zukünftiger Abschnitte

Starten Sie die AParted-Anwendung. Auf der Registerkarte „ERSTELLEN“ sehen Sie zwei grafische Darstellungen der Speicherkarte in Form von Rechtecken: Das untere Rechteck mit der Aufschrift „SD-Speicherkarte msdos-Partitionstabellen“ zeigt das aktuelle Partitionslayout an und das obere 1 „Neue msdos-Partitionstabellen“ – das Layout zukünftiger Partitionen auf der microSD-Karte.

Klicken Sie auf die Schaltfläche „HINZUFÜGEN“, um den ersten Abschnitt hinzuzufügen, und legen Sie mit dem Schieberegler dessen Größe fest. Dieser Bereich steht dem Telefon/Tablet als externer Speicher für Fotos, Musik usw. zur Verfügung. Für eine genauere Aufschlüsselung klicken Sie auf die Zahl mit MB, geben im erscheinenden Feld die genaue Größe in Megabyte ein und bestätigen die Änderungen mit „OK“. Lassen Sie das Kontrollkästchen „Format“ aktiviert und das Dateisystem „fat32“ unverändert.

Klicken Sie erneut auf die Schaltfläche „HINZUFÜGEN“, um eine zweite Partition auf der microSD-Karte hinzuzufügen, die in Zukunft als Erweiterung dient Systemspeicher Android-Geräte. Wählen Sie den verbleibenden Speicherplatz mit dem Schieberegler aus, lassen Sie das Kontrollkästchen „Format“ aktiviert, klicken Sie auf die Aufschrift „fat32“ und wählen Sie eines der folgenden Dateisysteme aus: „ext2“, „ext3“ oder „ext4“.

Und hier beginnt der Spaß, es empfiehlt sich, die Option „ext4“ zu wählen, aber es gibt eine Reihe von Gründen, warum Sie in diesem Dateisystem keine Partition erstellen können: Kernel/Firmware Android-Systeme, Klasse/Hersteller (Qualität) der Speicherkarte usw.

Experimentieren Sie daher und erstellen Sie zunächst eine Partition mit „ext4“, dann „ext3“ und „ext2“. Schließlich unterstützt die Link2SD-App alle oben genannten Dateisysteme.

Nachdem Sie die oben genannten Vorgänge ausgeführt haben, sollte das Rechteck mit der Bezeichnung „Neue msdos-Partitionstabellen“ das Layout der zukünftigen Partitionen Ihrer Speicherkarte anzeigen.

Durchführen einer Absteckung

Um das Layout neuer Partitionen auf die Speicherkarte zu übernehmen, klicken Sie auf die Schaltfläche „ÜBERNEHMEN“. Die AParted-App warnt Sie, dass alle Daten aktiviert sind Wechselmedien wird gelöscht.

Als Nächstes wird der Vorgang der Partitionierung und Formatierung der Speicherkartenpartitionen angezeigt. Nach Abschluss des Vorgangs wird in der unteren Grafik „MSDOS-Partitionstabelle der SD-Speicherkarte“ das Ergebnis der Medienpartitionierung angezeigt. Gehen Sie erneut zu „Einstellungen > Speicher“ Ihres Telefons/Tablets und klicken Sie im Bereich „Externer Speicher“ auf „SD-Karte verbinden“. Nach dem Anschließen und Analysieren der microSD-Karte durch das Android-System werden Sie feststellen, dass ihr Speicher auf die von Ihnen eingestellte Größe geschrumpft ist.

Wenn im Telefonstatus eine Meldung angezeigt wird, dass die SD-Karte beschädigt ist, starten Sie das Android-System neu. Nach dem Neustart sollte sich die Speicherkarte automatisch verbinden.

Link2SD einrichten

Installieren und ausführen. Das Programm sollte automatisch das Vorhandensein einer zweiten Partition auf der Speicherkarte erkennen und Sie auffordern, ein Mount-Skript zu erstellen. Wählen Sie in der Liste das Dateisystem der zweiten Partition aus, die Sie beim Partitionieren der Speicherkarte in der AParted-Anwendung angegeben haben, bestätigen Sie die Anfrage und klicken Sie nach Abschluss des Vorgangs auf die Schaltfläche „Gerät neu starten“.

Nach dem Neustart des Android-Systems können Sie Anwendungen vom Gerätespeicher auf die zweite Partition der externen Speicherkarte übertragen.

Einige Android-Geräte verfügen über Speicherkartensteckplätze (normalerweise im microSD-Format). Wenn Ihr Gerät SD-Karten unterstützt, können Sie:

  • Speicherkapazität erhöhen;
  • Verwenden Sie die Karte für einige Funktionen und Anwendungen.

Um herauszufinden, ob Ihr Gerät über einen SD-Kartensteckplatz verfügt, besuchen Sie die Website des Herstellers.

Notiz. Einige dieser Schritte können nur auf Geräten mit Android 6.0 und höher ausgeführt werden.

So installieren Sie eine SD-Karte

Schritt 1: Legen Sie die SD-Karte ein.
  1. Überprüfen Sie, wo sich der SD-Kartensteckplatz befindet.
  2. Schalten Sie Ihr Telefon aus.
  3. Entfernen Sie das SD-Kartenfach oder entfernen Sie es Rückseite Geräte (je nach Modell). Heben Sie bei Bedarf die Lasche an, die die Karte hält.
  4. Legen Sie die SD-Karte in den Steckplatz ein. Wenn Sie die Haltelasche angehoben haben, senken Sie sie ab.
  5. Bringen Sie das SD-Kartenfach oder die hintere Abdeckung des Geräts wieder an.
Schritt 2: Schalten Sie die SD-Karte ein.
  1. Warten Sie, bis die SD-Kartenbenachrichtigung angezeigt wird.
  2. Klicken Melodie.
  3. Wählen Sie den gewünschten Speichertyp aus.
    • Wechselspeicher:
      Sie können die Karte zusammen mit all Ihren Dateien (z. B. Fotos und Musik) auf ein anderes Gerät übertragen. Anwendungen können nicht auf ein Wechsellaufwerk verschoben werden.
    • Interner Speicher:
      Auf der Karte können nur Apps und Daten für dieses Gerät gespeichert werden. Wenn Sie es auf ein anderes Gerät verschieben, werden alle darauf befindlichen Daten gelöscht.
  4. Befolgen Sie die Anweisungen auf dem Bildschirm, um Ihre SD-Karte einzurichten.
  5. Wenn Sie fertig sind, klicken Sie auf Bereit.

So verwenden Sie eine SD-Karte

So verschieben Sie Apps auf die SD-Karte

Wenn Sie die Karte als internen Speicher angeschlossen haben, können Sie Anwendungen darauf übertragen.

Notiz. Nicht alle Anwendungen können auf eine SD-Karte übertragen werden.

So verschieben Sie Dateien auf eine SD-Karte

Wenn Sie eine SD-Karte als Wechselspeichermedium installiert haben, können Sie verschiedene Dateien darauf übertragen, beispielsweise Musik und Fotos. Danach können sie aus dem internen Speicher des Geräts gelöscht werden.

Schritt 1: Dateien auf die SD-Karte kopieren.

Schritt 2: Löschen Sie Dateien aus Ihrem internen Speicher.

Sie können den Inhalt der SD-Karte anzeigen und sehen, wie viel Speicherplatz noch vorhanden ist.

Wenn die SD-Karte als interner Speicher verwendet wird

Wenn die SD-Karte als Wechselspeichergerät verwendet wird

  1. Wischen Sie vom oberen Bildschirmrand nach unten, um das Benachrichtigungsfeld zu öffnen.
  2. Tippen Sie unter der SD-Kartenbenachrichtigung auf Offen.

Mit diesem Tool können Sie Partitionen auf der SD-Karte/dem USB-Laufwerk Ihres Telefons oder Tablets erstellen und verwalten. Sie können weitere hinzufügen RAM auf das Gerät und erstellt eine Swap-Partition. Sie können auch Schäden reparieren Dateisystem SD-Karten. Unterstützt nur den Partitionstyp „Haupt“.
Funktionen:

  • Erstellen von Partitionen;
  • Partitionen löschen;
  • Wiederherstellung beschädigter Dateisysteme.

Unterstützte Dateisysteme:

  • FAT16, FAT32, EXT2, EXT3, EXT4, SWAP, NTFS (ab der MoalBoal-Version).

Anforderungen:

  • Root-Telefon;
  • Verfügbarkeit von Busybox;
  • Einbau in interner Speicher;
  • Trennen Sie die SD-Karte, bevor Sie mit der Anwendung beginnen.

Anweisungen zum Erstellen von Partitionen mit dem Programm

Das allererste ist, alle Ihre wertvollen Dateien vom Flash-Laufwerk auf Ihren PC zu übertragen, das heißt, danach wird alles vom Flash-Laufwerk gelöscht.

- Öffnen Sie das Programm

Doppelklicken Sie im Abschnitt „Erstellen“ auf das Pluszeichen „+“.

Im ersten Abschnitt „Teil 1“ wählen Sie Fat32 aus, im zweiten „Teil 2“ wählen Sie das gewünschte ext2/3/4 oder den gewünschten Swap aus.
- Verwenden Sie den Schieberegler, um die Größe jedes Abschnitts festzulegen. Das Kontrollkästchen „Format“ sollte aktiviert sein.

Bestätigen Sie „Ok“

Alles ist fertig.

So stellen Sie die volle Kapazität eines Flash-Laufwerks wieder her
Wenn Sie sich entscheiden, die zweite Partition vom Flash-Laufwerk zu löschen, können Sie dies tun.
- Gehen Sie zu den Telefoneinstellungen, „Speicher“ und klicken Sie auf „SD-Karte entfernen“.
- Öffnen Sie das Programm
- Klicken Sie im Abschnitt „Erstellen“ einmal auf das Pluszeichen „+“.
- Wählen Sie in „Teil 1“ Fat32 aus, stellen Sie den Schieberegler auf die volle Kapazität des Flash-Laufwerks, das Kontrollkästchen „Formatieren“ sollte aktiviert sein.

Softkey, klicken Sie auf „Änderungen übernehmen“

Bei der Entwicklung einer Wettbewerbsanwendung bin ich auf ein Datenbankspeicherproblem gestoßen. Das Problem war, wie ich das feststellen kann externe Karte Erinnerung. Generell ergab eine Suche im Internet keine genaue Antwort. Deshalb habe ich alle Ergebnisse, die ich gefunden habe, kombiniert und meine Klasse zusammengestellt. Wenn jemand Interesse hat, schauen Sie unter dem Schnitt nach.

Beginnen wir also mit der Theorie.

Terminologie

Google teilt uns mit, dass es folgende Konzepte gibt:
  1. Intern ( intern) Der Speicher ist Teil der im Telefon integrierten Speicherkarte. Bei standardmäßiger Verwendung ist der Anwendungsordner vor dem Zugriff anderer Anwendungen geschützt (unter Verwendung des internen Speichers).
  2. Extern ( extern) Erinnerung ist üblich“ externer Speicher", d.h. Dabei kann es sich entweder um einen Teil des eingebauten Speichers oder um ein entfernbares Gerät handeln. Normalerweise ist dies Teil des integrierten Speichers. Das letzte Mal, als ich gesehen habe, wie ein Gerät entfernt wurde, war unter Android 2.2, wo der integrierte Speicher etwa 2 GB groß war und der angeschlossene Speicher extern wurde (Verwendung des externen Speichers).
  3. Gelöscht ( abnehmbar) Speicher – der gesamte Speicher, der ohne „chirurgische“ Eingriffe aus dem Gerät entfernt werden kann.

Zu KitKat-Versionen Die API 4.4 bot keine Funktionalität zum Abrufen von Pfaden zum externen Speicher. Ab dieser Version (API 19) erschien die öffentliche abstrakte Dateifunktion getExternalFilesDirs(String-Typ), der ein Array von Strings mit Pfaden zum internen und externen Speicher zurückgibt. Aber was ist mit unserer SD-Karte, die in den Steckplatz eingesteckt wird? Auch hier können wir den Weg dorthin nicht finden.

Suchergebnisse

Um die Frage zu beantworten, habe ich mich an das allwissende Google gewandt. Aber er gab mir auch keine klare Antwort. Viele Definitionsmöglichkeiten wurden in Betracht gezogen, von der Verwendung von Standardfunktionen, die zu externem Speicher führen, aber nichts mit dem Entfernen der Speichergeräte zu tun haben, bis hin zur Verarbeitung von Gerätemontageregeln (Android läuft auf dem Linux-Kernel). In letzteren Fällen wurden „fest verdrahtete“ Pfade zum Ordner mit gemounteten Geräten verwendet (dieses Verzeichnis ist in verschiedenen Versionen unterschiedlich). Vergessen Sie nicht, dass sich die Montageregeln von Version zu Version ändern.

Letztendlich habe ich beschlossen, alle gewonnenen Erkenntnisse zu kombinieren und eine eigene Klasse zu schreiben, die Pfade zu externen und gelöschten Geräten zurückgeben kann.

Codebeschreibung

Eine Klasse wurde erstellt MountDevice, die den Pfad zum Gerät, den Gerätetyp und einen Hash enthält.
Es gibt zwei Arten von Geräten (ich habe den internen Speicher nicht berührt, da auf ihn über die System-API zugegriffen werden kann).

Öffentliche Enumeration MountDeviceType ( EXTERNAL_SD_CARD, REMOVABLE_SD_CARD )
Und die Klasse wurde erstellt StorageHelper, das nach verfügbaren Speicherkarten sucht.

Die StorageHelper-Klasse implementiert zwei Suchmethoden – über die Systemumgebung ( Umfeld) und mit dem Linux-Dienstprogramm montieren, oder vielmehr das Ergebnis seiner Ausführung.

Methode eins – Umgebung
Wenn ich mit der Umgebung arbeite, verwende ich die Standardfunktion getExternalStorageDirectory(), um Informationen über den externen Speicher zu erhalten. Um Informationen über den gelöschten Speicher zu erhalten, verwende ich die Umgebungsvariable „ SECONDARY_STORAGE".

Externer Speicher Es gibt immer einen und normalerweise gibt es immer einen, also prüfen wir ihn auf Lesbarkeit, berechnen den Hash und merken ihn uns. Es kann viel Speicher gelöscht werden, daher ist es notwendig, die resultierende Zeichenfolge nach Trennzeichen aufzuteilen und jeden Wert zu überprüfen.

Funktion 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); ) // Den Entferner abrufen String rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // Alle sekundären SD-KARTEN in Array aufgeteilt final String rawSecondaryStorages = rawSecondaryStoragesStr .split(File.pathSeparator); for (String rawSecondaryStorage: rawSecondaryStorages) ( testAndAdd(rawSecon daryStorage, MountDeviceType.REMOVABLE_SD_CARD);


Die Lösung wurde von stackoverflow übernommen. Die Antwort liegt irgendwo da unten.
Methode zwei – montieren
Da ich das System lange Zeit nicht dazu bringen konnte, mir den Pfad zum zu löschenden Speicher mitzuteilen, habe ich mich entschieden, in Richtung gemounteter Geräte zu suchen. Das System verfügt über Konfigurationsdateien, die die Montageregeln beschreiben externe Geräte. Alles wäre in Ordnung, aber unter Android Version 4.* haben Normalsterbliche keinen Zugriff auf diese Datei, daher werde ich diese Methode nicht in Betracht ziehen.

Kehren wir zum Mount-Dienstprogramm zurück. Bei Ausführung ohne Parameter gibt der Befehl eine Liste der gemounteten Dateisysteme zurück. Die zu löschenden Geräte liegen normalerweise im FAT-Dateisystemformat vor, daher heben wir Zeilen hervor, die das Merkmal „ fett". Externer Speicher wird durch den Parameter gekennzeichnet " Sicherung".

Hinweis: Bei dieser Methode werden die Typen der montierten Geräte nicht immer korrekt ermittelt (höchstwahrscheinlich habe ich etwas nicht berücksichtigt). Bemerkte den Unterschied auf verschiedenen Android-Versionen. Daher kann diese Methode als zusätzliche Methode verwendet werden.

fillDevicesProcess-Funktion

versuchen ( Laufzeitlaufzeit= 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-Karte 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); ) ) ) ) schließlich ( .. . ) ) Catch (Ausnahme e) ( ... )

Quellcode

Die ganze Klasse befindet sich noch nirgendwo. Eines Tages werde ich versuchen, es auf GitHub zu veröffentlichen.

Wer nutzt noch welche Methoden? Tags: Tags hinzufügen Dolphin kann Daten auf einer virtuellen SD-Karte mit dem Namen speichern

sd.raw

. Standardmäßig wird es mit einer Größe von 128 MB erstellt.

Die virtuelle SD-Karte hat einen wichtigen Nutzen für Homebrew-Apps auf Dolphin. Die benutzerdefinierten Tracks von Project M und Mario Kart Wii sind zwei gute Beispiele, da einige Homebrew-Apps nur mit Dateien funktionieren können, die auf der SD-Karte der echten Hardware gespeichert sind, für die sie entwickelt wurden.

Inhalt

Erstellen einer virtuellen SD-Karte

Es wird empfohlen, eine mit einer Größe von mindestens 1 GB für große Homebrew-Apps, zum Beispiel Project M, und nicht mehr als 2 GB für optimale Kompatibilität zu erstellen, da es Kompatibilitätsprobleme mit einigen Homebrew-Apps gibt, die versuchen, unter einer SDHC-Karte auf der echten Hardware ausgeführt zu werden .

Befehlszeile und ausführbare Dateien WinImage ist unzuverlässig, da es seltsamerweise zu Desynchronisation und einigen anderen unvorhersehbaren Problemen führt. ImDisk wird in Ordnung sein.:

  1. Kurzanleitung zum Montieren und Bearbeiten der virtuellen SD-Karte mit dem Tags: Tags hinzufügen ImDisk-Treiber für virtuelle Festplatten Klicken Sie mit der rechten Maustaste auf Datei und klicken Sie dann auf
  2. „Als virtuelle ImDisk-Festplatte bereitstellen“ aus dem Kontextmenü. Kontrollkästchen Wechselmedien dann zuschlagen
    • "OK"
  3. . Der vordefinierte Laufwerksbuchstabe und alles andere reichen völlig aus. Die virtuelle SD-Karte erscheint nun als „Wechseldatenträger“, auf den das native Explorer-Fenster lesen und schreiben kann. Wenn Sie mit der Bearbeitung der virtuellen SD-Karte fertig sind, heben Sie die Bereitstellung einfach auf, indem Sie mit der rechten Maustaste auf „Wechseldatenträger“ klicken und dann klicken
    • „Unmounten der virtuellen ImDisk-Festplatte“

aus dem Kontextmenü.

Die Bereitstellung der virtuellen SD-Karte muss vor der Verwendung mit Dolphin aufgehoben werden. Delphin-Einstellung.

Gehen Sie zu Optionen > Konfigurieren... > Wii > und aktivieren Sie es

SD-Karte einlegen

Die für die Homebrew-App verwendeten externen Dateien müssen darin gespeichert werden Tags: Tags hinzufügen und die Homebrew-App selbst ( boot.elf oder boot.dol) muss außerhalb davon vorhanden sein, damit Dolphin geladen werden kann. Projekt M wird beispielsweise vom SD-Root geladen \Projektm\ und Dolphin muss Project M durchstarten \apps\projectm\boot.elf, NICHT auf der virtuellen SD-Karte. Der Einfachheit halber ist es ideal, dieselben Kopien parallel zwischen innerhalb und außerhalb der virtuellen SD-Karte zu haben.

Es ist jedoch möglich, die Homebrew-App über Homebrew-Exploits für die Wii von einer virtuellen SD-Karte aus zu starten.

Die Wii-Game-Launcher-App funktioniert nur, wenn ein bestimmtes Wii-Spiel als Standard-ISO festgelegt ist. Öffnen Sie in der Dolphin-Spieleliste das Kontextmenü (Rechtsklick) für ein beliebiges Wii-Spiel und klicken Sie darauf Als Standard-ISO festlegen. Tun Sie dies, bevor Sie eine Homebrew-App mit Dolphin laden.

Für Netplay

Netplay wird schließlich die Synchronisierung aufheben, wenn irgendetwas die virtuelle SD-Karte liest, die nicht geklont wurde, unabhängig von der gleichen Größe, die sie erstellt wurde, und identischen Datei-/Ordnerstrukturen in ihrem Stammverzeichnis. Um das zu verhindern, Tags: Tags hinzufügen muss vor dem Starten von NetPlay vom Computer des Hosts auf die Computer der Teilnehmer kopiert werden. Wenn die virtuelle SD-Karte offline oder online mit deaktivierter Schreibsperre verwendet wurde, ändert sich die MD5-Prüfsumme („Zugriffsdatum“ der Dateien ist bei der virtuellen SD-Karte anders), führt jedoch nicht zu einer Desynchronisierung. Die SD-Karte muss von woanders stammen oder die Dateien darin so verändert haben, dass sie „anders“ sind.

Für die Wii-Game-Launcher-App müssen Benutzer auf beiden Seiten zunächst dieselben Kopien der Homebrew-App und des Spiels in ihrer Spieleliste haben und dann das Spiel als Standard-ISO festlegen, wie im vorherigen Abschnitt erwähnt.