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
Primaire 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 monté sous /mnt/media_rw
où seuls le système et le démon FUSE peuvent y accéder. vold
gérera alors le service fuse_sdcard0
lorsque le média sera inséré/supprimé.
fstab.matériel
[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
liste_de stockage.xml
<storage android:mountPoint="/storage/sdcard0" android:storageDescription="@string/storage_sd_card" android:removable="true" android:primary="true" android:maxFileSize="4096" />
Primaire émulé uniquement
Il s'agit d'une configuration typique pour un appareil doté d'un seul périphérique de stockage externe soutenu par un stockage interne sur 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
liste_de stockage.xml
<storage android:storageDescription="@string/storage_internal" android:emulated="true" android:mtpReserve="100" />
Primaire émulé, secondaire physique
Il s'agit d'une configuration typique pour un appareil doté de plusieurs périphériques de stockage externes, où le périphérique principal est sauvegardé par le stockage interne de l'appareil et où le périphérique secondaire est une carte SD physique, comme Xoom.
Le périphérique physique brut doit d'abord être monté sous /mnt/media_rw
où seuls le système et le démon FUSE peuvent y accéder. vold
gérera alors le service fuse_sdcard1
lorsque le média sera inséré/supprimé.
fstab.matériel
[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
liste_de stockage.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
Primaire 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 de stockage partagé secondaire et l'appareil ne peut pas prendre en charge plusieurs utilisateurs.
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
Primaire émulé uniquement
Il s'agit d'une configuration typique pour un appareil doté d'un seul périphérique de stockage externe soutenu par un stockage interne sur l'appareil, comme le Nexus 6.
- Le stockage partagé principal (
/sdcard
) est émulé au-dessus du stockage interne. - Pas de stockage secondaire sur carte SD.
- Périphériques de stockage USB OTG pris en charge.
- Prend en charge plusieurs utilisateurs.
fstab.device
/devices/*/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usb:auto
Primaire émulé, secondaire physique
Il s'agit d'une configuration typique pour un appareil doté de plusieurs périphériques de stockage externes, où le périphérique principal est sauvegardé par le stockage interne de l'appareil et où le périphérique secondaire est une carte SD physique, comme Xoom.
- Le stockage partagé principal (
/sdcard
) est émulé au-dessus du stockage interne. - Le stockage secondaire est un emplacement pour carte SD physique qui peut être adopté.
- Prend en charge plusieurs utilisateurs.
fstab.device
/devices/platform/mtk-msdc.1/mmc_host* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata