Trouver l’étiquette de volume de la carte SD sur Android

Est-il possible de trouver l’étiquette de volume de la carte SD insérée dans l’appareil Android?

Je comprends qu’Android est conçu pour n’avoir qu’un seul “stockage externe” (tel que retourné par Environment.getExternalStorageDirectory() ), mais il y a pas mal de périphériques qui ont un flash interne comme “stockage externe” et une carte SD montée sous cela ou même des combinaisons plus sauvages (voir cette autre question ). Il est possible d’énumérer ces périphériques supplémentaires en lisant /proc/mounts , mais nous avons besoin de quelque chose pour les identifier. Y a-t-il une chance d’accéder à leurs étiquettes de volume?

J’ai vérifié que le pilote Linux vfat ignore complètement le label de volume et que blkid d’util-linux lit la vfat elle-même . J’ai également vérifié qu’au moins sur le périphérique que je possède, le périphérique de bloc de la carte SD dispose du mode 660 et du propriétaire root.root , donc je ne peux pas le faire. Donc, en gros, cela revient à savoir s’il existe un utilitaire capable de le lire.

J’ai trouvé une solution.

La solution la plus simple consiste à construire busybox et à l’utiliser comme ceci:

La solution compliquée consiste à trouver blkid pour Android et à trouver ce dont vous avez besoin dans son code source (fonction blkid_dev_devname).

Je ne sais pas comment cela fonctionne exactement dans Android, mais dans Linux j’ai le message du kernel sur le assembly de la carte SD, où le nom du volume spécifié. Vous pouvez essayer dmesg et cat / sys / devices / mmc … (ou quelque chose comme ça)

Essayez d’parsingr la sortie de la commande blkid . Cela fonctionne pour moi, mais je ne suis pas sûr que ce soit une fonctionnalité dépendante ou non du firmware. J’ai obtenu une permission denied avec cette commande sur AVD.

Je ne sais pas si cela peut vous aider: si vous utilisez le DDMS, vous pouvez voir les dossiers du système. Dans mon cas, j’ai trouvé la carte SD dans: / mnt / media_rw.

Vous pouvez obtenir plus d’informations ici et ici

J’espère que ça aide.