Domicile / Chauffage / Partitionner une carte mémoire microSD sur Android. Obtenir le chemin d'accès à la carte SD sur Android Si la carte SD est utilisée comme stockage interne

Partitionner une carte mémoire microSD sur Android. Obtenir le chemin d'accès à la carte SD sur Android Si la carte SD est utilisée comme stockage interne

Dolphin peut stocker des données sur une carte SD virtuelle nommée sd.raw. Par défaut, il sera créé avec une taille de 128 Mo.

La carte SD virtuelle a une utilisation importante pour les applications homebrew sur Dolphin. Les pistes personnalisées Project M et Mario Kart Wii en sont deux bons exemples, car certaines applications homebrew ne peuvent fonctionner qu'avec des fichiers stockés sur la carte SD du matériel réel pour lequel elles ont été conçues.

teneur

Création d'une carte SD virtuelle

Il est recommandé d'en créer une avec une taille d'au moins 1 Go pour les grandes applications homebrew, par exemple, Project M, et pas plus de 2 Go pour une meilleure compatibilité car il y a des problèmes de compatibilité avec certaines applications homebrew essayant de fonctionner sous une carte SDHC sur le vrai matériel .

Ligne de commande et fichiers exécutables

WinImage n'est pas fiable, car curieusement, cela entraînera une désynchronisation et quelques autres problèmes imprévisibles. ImDisk ira bien.

Guide rapide pour le montage et l'édition de la carte SD virtuelle avec le Pilote de disque virtuel ImDisk:

  1. clic droit sur sd.raw fichier puis cliquez "Monter en tant que disque virtuel ImDisk" depuis le menu contextuel.
  2. case à cocher Média amovible puis frappe "D'ACCORD". La lettre de lecteur prédéfinie et tout le reste feront très bien l'affaire.
    • La carte SD virtuelle apparaîtra maintenant comme "Disque amovible" dans lequel la fenêtre native de l'Explorateur pourra lire et écrire.
  3. Lorsque vous avez terminé la carte SD virtuelle, démontez-la simplement en faisant un clic droit sur le "Disque amovible" puis cliquez sur "Démonter le disque virtuel ImDisk" depuis le menu contextuel.
    • La carte SD virtuelle doit être démontée avant d'être utilisée avec Dolphin.

Paramètre des dauphins

Allez dans Options > Configurer... > Wii > et activez Insérer la carte SD.

Usage

Avec l'application Homebrew

Les fichiers externes utilisés pour l'application homebrew doivent être stockés dans sd.raw et l'application homebrew elle-même ( boot.elf ou alors boot.dol) doit exister en dehors de celui-ci pour que Dolphin puisse se charger. Le projet M, par exemple, se chargera à partir de la racine SD \projetm\ et Dolphin devra lancer Project M via \apps\projectm\boot.elf, NE PAS dans la carte SD virtuelle. Pour des raisons de commodité, il est idéal d'avoir les mêmes copies en parallèle entre l'intérieur et l'extérieur de la carte SD virtuelle.

Cependant, il est possible de démarrer l'application homebrew à partir d'une carte SD virtuelle via des exploits homebrew pour Wii.

L'application de lancement de jeu Wii ne fonctionnera que si un jeu Wii particulier est défini comme ISO par défaut. Dans la liste des jeux Dolphin, ouvrez le menu contextuel (clic droit) sur n'importe quel jeu Wii et cliquez sur Définir comme ISO par défaut. Faites-le avant de charger une application homebrew avec Dolphin.

Pour Netplay

Netplay finira par se désynchroniser si quelque chose lit la carte SD virtuelle qui n'est pas clonée, quelle que soit la même taille qu'elle a été créée, et des structures de fichiers/dossiers identiques dans sa racine. Pour empêcher ça sd.raw doit être copié de l'ordinateur de l'hôte vers les ordinateurs des participants avant de démarrer netplay. Si la carte SD virtuelle a été utilisée hors ligne ou en ligne avec le bloc d'écriture désactivé, la somme de contrôle MD5 changera ("Date d'accès" des fichiers est ce qui est différent dans la carte SD virtuelle), mais ne provoquera pas de désynchronisation. venir d'ailleurs ou faire l'objet de fichiers modifiés à l'intérieur pour être "différents".

Pour l'application de lancement de jeu Wii, les utilisateurs des deux côtés doivent d'abord avoir les mêmes copies de l'application homebrew et du jeu dans leur liste de jeux, puis définir le jeu comme ISO par défaut, comme mentionné dans la section précédente.

Cet outil vous permet de créer et de gérer des partitions sur la carte SD/disque USB de votre téléphone ou tablette. Vous pouvez ajouter plus de RAM à votre appareil en créant une partition d'échange. Vous pouvez également réparer les dommages causés au système de fichiers de la carte SD. Prend en charge uniquement le type de partition "primaire".
Les fonctions:

  • création de rubriques ;
  • suppression de partitions ;
  • récupération des systèmes de fichiers endommagés.

Systèmes de fichiers pris en charge :

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

Conditions:

  • téléphone racine ;
  • présence de Busybox ;
  • installation dans la mémoire interne ;
  • Déconnectez la carte SD avant d'utiliser l'application.

Instructions sur la création de partitions à l'aide du programme

La toute première chose est de transférer tous les fichiers précieux sur votre PC à partir du lecteur flash, c'est-à-dire comment tout sera supprimé du lecteur flash par la suite.

- Ouvrir le programme

Dans la section Créer, double-cliquez sur le signe plus "+"

La première section "Part 1" sélectionne Fat32, la deuxième "Part 2" sélectionne l'ext2/3/4 ou le swap souhaité.
- Utilisez le curseur pour définir la taille de chaque section, la case "Format" doit être cochée.

Validez "D'accord"

Tout est prêt.

Comment remettre le lecteur flash à plein volume
Si vous décidez de supprimer la deuxième partition du lecteur flash, vous pouvez le faire.
- Allez dans les paramètres du téléphone, "Mémoire" et cliquez sur "Ejecter la carte SD".
- Ouvrir le programme
- Dans la section Créer, cliquez une fois sur le signe plus "+"
- Dans "Partie 1", sélectionnez Fat32, réglez le curseur sur le volume maximal du lecteur flash, cochez la case "Format" devrait être.

Touche programmable, cliquez sur "Appliquer les modifications"

La nécessité de diviser la carte mémoire en plusieurs sections survient généralement lorsque le téléphone/tablette Android dispose de peu de mémoire intégrée pour l'installation d'applications. En effectuant une opération similaire, vous pouvez libérer de l'espace sur votre téléphone, par exemple en vous rendant dans la deuxième section de la carte microSD. Précédemment, nous vous avons déjà expliqué comment créer/fusionner des partitions sur une carte mémoire en utilisant et .

Il n'est pas toujours possible de trouver une récupération pour un téléphone/tablette spécifique qui prend en charge le partitionnement des cartes mémoire, donc dans cet article, nous vous expliquerons comment le faire à l'aide de l'application Android - AParted.

Cette application fournit les fonctionnalités suivantes (de la documentation officielle):

  • Partitionnement de la mémoire externe / interne d'un appareil Android.
  • Formater la mémoire externe / interne d'un appareil Android.
  • Suppression de rubriques.
  • Vérification et correction des erreurs du système de fichiers.
  • Redimensionnement des partitions.
  • Mise à jour des systèmes de fichiers.

Dans cet article, nous n'utiliserons que le premier d'entre eux.

Préparation au jalonnement

Avant le partitionnement, assurez-vous de sauvegarder vos données importantes (photos, vidéos, etc.), car tous les fichiers seront supprimés de la carte mémoire pendant le processus de partitionnement.

Assurez-vous que votre téléphone a , sinon AParted ne fonctionnera pas.

Avant de lancer l'application, vous devez désactiver la carte mémoire dans les paramètres Android. Pour ce faire, allez dans "Paramètres> Mémoire", dans la section de la carte microSD connectée, cliquez sur l'élément "Supprimer en toute sécurité" et confirmez l'action.

Balisage pour les sections futures

Lancez l'application AParted, sur l'onglet "CREATE" vous verrez deux représentations graphiques de la carte mémoire sous forme de rectangles : le rectangle du bas intitulé "msdos partition tables SD memory card" affiche la disposition actuelle des partitions, et celui du haut" Nouvelles tables de partition msdos" - le schéma des futures partitions sur la carte microSD.

Cliquez sur le bouton "AJOUTER" pour ajouter la première section et utilisez le curseur pour définir sa taille. Cette section sera disponible sur le téléphone/tablette en tant que mémoire externe pour les photos, la musique, etc. Pour une ventilation plus précise, cliquez sur le nombre avec Mo, dans le champ qui apparaît, spécifiez la taille exacte en mégaoctets et confirmez les modifications en cliquant sur "OK". Laissez la case "Format" cochée et le système de fichiers "fat32" inchangé.

Cliquez à nouveau sur le bouton "AJOUTER" pour ajouter une deuxième partition sur la carte microSD, qui servira d'extension de la mémoire système de l'appareil Android à l'avenir. Sélectionnez l'espace restant avec le curseur, laissez la case "Format" cochée, cliquez sur l'inscription "fat32" et sélectionnez l'un des systèmes de fichiers suivants : "ext2", "ext3" ou "ext4".

Et là, le plaisir commence, il est conseillé de choisir l'option "ext4", mais il existe un certain nombre de raisons pour lesquelles vous ne pourrez pas créer de partition dans ce système de fichiers : le noyau/firmware du système Android, la classe / fabricant (qualité) de la carte mémoire, etc.

Par conséquent, expérimentez, essayez de créer d'abord une partition avec "ext4", puis "ext3" et "ext2". Après tout, l'application Link2SD prend en charge tous les systèmes de fichiers ci-dessus.

Après avoir effectué les opérations ci-dessus, le rectangle intitulé "Nouvelles tables de partitions msdos" devrait afficher un schéma des futures partitions de votre carte mémoire.

Implantation

Pour appliquer la disposition des nouvelles partitions à la carte mémoire, cliquez sur le bouton "APPLIQUER". L'application AParted vous avertira que toutes les données du support amovible seront effacées.

Ensuite, le processus de partitionnement et de formatage des partitions de la carte mémoire s'affichera, après quoi le graphique du bas "Carte mémoire SD de la table de partition msdos" affichera le résultat du partitionnement du support. Encore une fois, allez dans "Paramètres> Stockage" de votre téléphone / tablette et dans la section mémoire externe, cliquez sur l'élément "Connecter la carte SD". Après avoir connecté et analysé la carte microSD par le système Android, vous verrez que sa mémoire a diminué à la taille que vous avez définie.

Si un message apparaît dans l'état du téléphone indiquant que la carte SD est endommagée, redémarrez le système Android, après le redémarrage, la carte mémoire devrait se connecter automatiquement.

Configuration de Link2SD

Installez et exécutez . Le programme devrait automatiquement détecter la présence d'une deuxième partition sur la carte mémoire et vous demander de créer un script de montage. Marquez dans la liste le système de fichiers de la deuxième partition, que vous avez spécifié lors du fractionnement de la carte mémoire dans l'application AParted, confirmez la demande et après l'opération, cliquez sur le bouton "Redémarrer l'appareil".

Après avoir redémarré le système Android, vous pouvez transférer des applications de la mémoire de l'appareil vers la deuxième partition de la carte mémoire externe.

Lors du développement d'une application pour un concours, j'ai rencontré un problème de stockage de base de données. Le problème était de savoir comment identifier la carte mémoire externe. En général, une recherche sur le net n'a pas donné de réponse exacte. Par conséquent, en combinant tous les résultats que j'ai trouvés, j'ai assemblé ma classe. Si quelqu'un est intéressé, regardez sous la coupe.

Commençons donc par la théorie.

Terminologie

Google nous dit qu'il y a les concepts suivants :
  1. Interne ( interne) la mémoire fait partie de la carte mémoire intégrée au téléphone. Par défaut, le dossier de l'application est protégé contre l'accès par d'autres applications (Utilisation du stockage interne).
  2. Externe ( externe) la mémoire est un "stockage externe" partagé, c'est-à-dire il peut s'agir soit d'une partie de la mémoire intégrée, soit d'un périphérique à retirer. Habituellement, cela fait partie de la mémoire intégrée, car la dernière fois que j'ai vu l'appareil être retiré, c'était sur Android 2.2, où la mémoire intégrée était d'environ 2 Go, et la mémoire connectée est devenue externe (Utilisation du stockage externe).
  3. Supprimé ( amovible) mémoire - tout le stockage qui peut être retiré de l'appareil sans interventions "chirurgicales".

Avant KitKat 4.4, l'API ne fournissait pas de fonctionnalité pour obtenir des chemins vers la mémoire externe. À partir de cette version (API 19), il existe une fonction de fichier abstraite publique getExternalFilesDirs(type chaîne), qui renvoie un tableau de chaînes avec des chemins vers la mémoire interne et externe. Mais qu'en est-il de notre carte SD, qui est insérée dans la fente ? Encore une fois, nous ne pouvons pas trouver le chemin qui y mène.

résultats de la recherche

Pour répondre à la question, je me suis tourné vers l'omniscient Google. Mais il ne m'a pas donné de réponse claire. De nombreuses définitions ont été envisagées, allant de l'utilisation de fonctions standard qui conduisent à la mémoire externe, mais elles n'ont rien à voir avec les périphériques de stockage amovibles, au traitement des règles de montage des périphériques (Android fonctionne sur le noyau Linux). Dans ces derniers cas, des chemins "câblés" vers le dossier avec les périphériques montés ont été utilisés (ce répertoire est différent selon les versions). N'oubliez pas que les règles de montage changent d'une version à l'autre.

En fin de compte, j'ai décidé de combiner toutes les connaissances acquises et d'écrire ma propre classe, qui peut nous renvoyer les chemins vers des appareils externes et supprimés.

Code Description

Une classe a été créée Monter l'appareil, qui contient le chemin d'accès au périphérique, le type de périphérique et un hachage.
Il existe deux types de périphériques alloués (je n'ai pas touché à la mémoire interne, car elle est accessible via l'API système).

Énumération publique MountDeviceType ( EXTERNAL_SD_CARD, REMOVABLE_SD_CARD )
Et la classe a été créée StorageHelper, qui recherche les cartes mémoire disponibles.

La classe StorageHelper implémente deux méthodes de recherche - via l'environnement système ( Environnement) et en utilisant l'utilitaire Linux monter, ou plutôt le résultat de sa mise en œuvre.

Première méthode - Environnement
Lorsque je travaille avec l'environnement, j'utilise la fonction standard getExternalStorageDirectory() pour obtenir des informations sur le stockage externe. Pour obtenir des informations sur la mémoire supprimée, j'utilise la variable d'environnement " SECONDARY_STORAGE".

La mémoire externe est toujours une et l'est généralement toujours, nous vérifions donc sa lisibilité, calculons le hachage et rappelons-le. Il peut y avoir beaucoup de mémoire à supprimer, vous devez donc diviser la chaîne résultante par le séparateur et vérifier chaque valeur.

fonction fillDevicesEnvirementfillDevicesEnvirement function

Chemin de chaîne = 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); ) // Obtenir un dissolvant de chaîne rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE"); if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) ( // Toutes les cartes SD secondaires sont divisées en tableau final String rawSecondaryStorages = rawSecondaryStoragesStr .split(File.pathSeparator); for (String rawSecondaryStorage: rawSecondaryStorages) ( testAndAdd(rawSecondaryStorage, MountDeviceType.REMOVABLE_SD_CARD); ) )


Solution tirée de stackoverflow. La réponse est là-bas quelque part.
Deuxième méthode - montage
Comme je n'arrivais pas à faire en sorte que le système me dise le chemin vers la mémoire à supprimer pendant longtemps, j'ai décidé de regarder dans la direction des appareils montés. Le système dispose de fichiers de configuration qui décrivent les règles de montage des périphériques externes. Tout irait bien, mais sur Android version 4.* il n'y a pas d'accès à ce fichier par de simples mortels, donc je n'envisagerai pas cette méthode.

Revenons à l'utilitaire de montage. Lorsqu'elle est exécutée sans paramètres, la commande renvoie une liste des systèmes de fichiers montés. Les périphériques supprimés ont généralement le format du système de fichiers FAT, nous sélectionnerons alors les lignes qui ont la caractéristique " graisse". La mémoire externe sera caractérisée par le paramètre " fusible".

Remarque : lors de l'utilisation de cette méthode, ce n'est pas toujours correct (je n'ai probablement pas pris en compte quelque chose), les types d'appareils montés sont déterminés. J'ai remarqué la différence sur différentes versions d'Android. Par conséquent, cette méthode peut être utilisée comme méthode complémentaire.

fonction fillDevicesProcessfillDevicesProcess function

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")) continuer ; if (line.contains("asec")) continuer ; 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); ) ) ) ) enfin ( ... ) ) catch (Exception e) ( ... )

Le code source de toute la classe n'est pas encore localisé n'importe où. Je vais essayer de le poster sur github dans les prochains jours.

Qui d'autre l'utilise ?

Balises : Ajouter des balises

Certains appareils Android ont des fentes pour carte mémoire (généralement microSD). Si votre appareil prend en charge les cartes SD, vous pouvez :

  • augmenter la quantité de mémoire ;
  • utiliser la carte pour certaines fonctions et applications.

Pour voir si votre appareil dispose d'un emplacement pour carte SD, visitez le site Web du fabricant.

Noter. Certaines de ces étapes ne peuvent être effectuées que sur des appareils exécutant Android 6.0 et versions ultérieures.

Comment installer une carte SD

Étape 1 : Insérez une carte SD.
  1. Découvrez où se trouve la fente pour carte SD.
  2. Éteignez votre téléphone.
  3. Retirez le plateau de la carte SD ou retirez le capot arrière de l'appareil (selon le modèle). Si nécessaire, soulevez la languette retenant la carte.
  4. Placez la carte SD dans la fente. Si vous avez soulevé la languette de retenue, abaissez-la.
  5. Réinstallez le plateau de la carte SD ou le capot arrière de l'appareil.
Étape 2 : Allumez la carte SD.
  1. Attendez que la notification de la carte SD apparaisse.
  2. Cliquez sur Régler.
  3. Sélectionnez le type de stockage souhaité.
    • Stockage amovible:
      La carte peut être transférée vers un autre appareil avec tous les fichiers (tels que les photos et la musique). Les applications ne peuvent pas être déplacées vers un stockage amovible.
    • Mémoire interne :
      La carte ne peut stocker que des applications et des données pour cet appareil. Si vous le déplacez vers un autre appareil, toutes les données qu'il contient seront supprimées.
  4. Suivez les instructions à l'écran pour configurer votre carte SD.
  5. Lorsque vous avez terminé, cliquez sur Prêt.

Comment utiliser la carte SD

Comment déplacer des applications sur la carte SD

Si vous avez connecté la carte comme stockage interne, vous pouvez y transférer des applications.

Noter. Toutes les applications ne peuvent pas être déplacées vers une carte SD.

Comment déplacer des fichiers sur la carte SD

Si vous avez installé une carte SD en tant que stockage amovible, vous pouvez y transférer divers fichiers, tels que de la musique et des photos. Après cela, ils peuvent être supprimés de la mémoire interne de l'appareil.

Étape 1 : Copiez les fichiers sur la carte SD.

Étape 2 : Supprimez les fichiers du stockage interne.

Vous pouvez afficher le contenu de la carte SD et voir combien d'espace il reste.

Si la carte SD est utilisée comme stockage interne

Si la carte SD est utilisée comme stockage amovible

  1. Balayez vers le bas depuis le haut de l'écran pour ouvrir le panneau des notifications.
  2. Sous la notification de carte SD, appuyez sur Ouvrir.