Vous trouverez ci-dessous des exemples de configurations de stockage externe pour différents types d'appareils. Seules les parties pertinentes des fichiers de configuration sont incluses.
En raison des modifications de configuration dans Android 6.0 (comme la suppression de la superposition de ressources storage_list.xml
), les exemples de configuration sont divisés en deux catégories.
Android 5.x et versions antérieures
Principal physique uniquement
Il s'agit d'une configuration typique pour un appareil doté d'un seul périphérique de stockage externe, qui est une carte SD physique, comme le Nexus One.
Le périphérique physique brut doit d'abord être installé sous /mnt/media_rw
, où seul le système et le daemon FUSE peuvent y accéder. vold
gérera ensuite le service fuse_sdcard0
lorsqu'un contenu multimédia sera inséré/supprimé.
fstab.hardware
[physical device node] auto vfat defaults voldmanaged=sdcard0:auto,noemulatedsd
init.hardware.rc
on init mkdir /mnt/media_rw/sdcard0 0700 media_rw media_rw mkdir /storage/sdcard0 0700 root root export EXTERNAL_STORAGE /storage/sdcard0 service fuse_sdcard0 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard0 /storage/sdcard0 class late_start disabled
storage_list.xml
<storage android:mountPoint="/storage/sdcard0" android:storageDescription="@string/storage_sd_card" android:removable="true" android:primary="true" android:maxFileSize="4096" />
Principale émulée uniquement
Il s'agit d'une configuration typique pour un appareil doté d'un seul appareil de stockage externe, qui est sauvegardé par le stockage interne de l'appareil, comme le Nexus 4.
init.hardware.rc
on init mkdir /mnt/shell/emulated 0700 shell shell mkdir /storage/emulated 0555 root root export EXTERNAL_STORAGE /storage/emulated/legacy export EMULATED_STORAGE_SOURCE /mnt/shell/emulated export EMULATED_STORAGE_TARGET /storage/emulated on fs setprop ro.crypto.fuse_sdcard true service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated class late_start
storage_list.xml
<storage android:storageDescription="@string/storage_internal" android:emulated="true" android:mtpReserve="100" />
Principal émulé, secondaire physique
Il s'agit d'une configuration typique pour un appareil doté de plusieurs périphériques de stockage externes, où l'appareil principal est associé à un espace de stockage interne et où l'appareil secondaire est une carte SD physique, comme Xoom.
Le périphérique physique brut doit d'abord être installé sous /mnt/media_rw
, où seul le système et le daemon FUSE peuvent y accéder. vold
gérera ensuite le service fuse_sdcard1
lorsqu'un contenu multimédia sera inséré/supprimé.
fstab.hardware
[physical device node] auto vfat defaults voldmanaged=sdcard1:auto
init.hardware.rc
on init mkdir /mnt/shell/emulated 0700 shell shell mkdir /storage/emulated 0555 root root mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw mkdir /storage/sdcard1 0700 root root export EXTERNAL_STORAGE /storage/emulated/legacy export EMULATED_STORAGE_SOURCE /mnt/shell/emulated export EMULATED_STORAGE_TARGET /storage/emulated export SECONDARY_STORAGE /storage/sdcard1 on fs setprop ro.crypto.fuse_sdcard true service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated class late_start service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 class late_start disabled
storage_list.xml
<storage android:storageDescription="@string/storage_internal" android:emulated="true" android:mtpReserve="100" /> <storage android:mountPoint="/storage/sdcard1" android:storageDescription="@string/storage_sd_card" android:removable="true" android:maxFileSize="4096" />
Android 6.0
Principal physique uniquement
Il s'agit d'une configuration typique pour un appareil doté d'un seul périphérique de stockage externe, qui est une carte SD physique, comme l'Android One d'origine. Il n'y a pas d'espace de stockage partagé secondaire et l'appareil n'est pas compatible avec le mode multi-utilisateur.
fstab.device
/devices/platform/mtk-msdc.1/mmc_host* auto auto defaults voldmanaged=sdcard0:auto,encryptable=userdata,noemulatedsd
init.device.rc
on init # By default, primary storage is physical setprop ro.vold.primary_physical 1
Principale émulée uniquement
Il s'agit d'une configuration typique pour un appareil doté d'un seul appareil de stockage externe, qui est sauvegardé par le stockage interne de l'appareil, comme le Nexus 6.
- L'espace de stockage partagé principal (
/sdcard
) est émulé sur le stockage interne. - Aucun espace de stockage secondaire sur la carte SD.
- Prise en charge des périphériques de stockage USB OTG.
- Compatible avec plusieurs utilisateurs.
fstab.device
/devices/*/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usb:auto
Principal émulé, secondaire physique
Il s'agit d'une configuration typique pour un appareil doté de plusieurs périphériques de stockage externe, où l'appareil principal est associé à un espace de stockage interne et où l'appareil secondaire est une carte SD physique, comme Xoom.
- L'espace de stockage partagé principal (
/sdcard
) est émulé sur le stockage interne. - Le stockage secondaire est un port de carte SD physique pouvant être adopté.
- Compatible avec plusieurs utilisateurs.
fstab.device
/devices/platform/mtk-msdc.1/mmc_host* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata