Di seguito sono riportati alcuni esempi di configurazioni di archiviazione esterna per vari tipi di dispositivi. Sono incluse solo le parti pertinenti dei file di configurazione.
A causa delle modifiche alla configurazione in Android 6.0 (ad esempio la rimozione dell'overlay della risorsa storage_list.xml
), gli esempi di configurazione sono suddivisi in due categorie.
Android 5.x e versioni precedenti
Solo principale fisico
Questa è una configurazione tipica per un dispositivo con un singolo dispositivo di archiviazione esterno, ovvero una scheda SD fisica, come Nexus One.
Il dispositivo fisico non elaborato deve prima essere montato in /mnt/media_rw
, dove solo il sistema e il demone FUSE possono accedervi. vold
gestirà quindi il servizio fuse_sdcard0
quando i contenuti multimediali vengono inseriti/rimossi.
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" />
Solo principale emulato
Questa è una configurazione tipica per un dispositivo con un singolo dispositivo di archiviazione esterno supportato dall'archiviazione interna del dispositivo, come 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" />
Principale emulato, secondario fisico
Questa è una configurazione tipica per un dispositivo con più dispositivi di archiviazione esterni, in cui il dispositivo principale è supportato dalla memoria interna del dispositivo e il dispositivo secondario è una scheda SD fisica, come Xoom.
Il dispositivo fisico non elaborato deve prima essere montato in /mnt/media_rw
, dove solo il sistema e il demone FUSE possono accedervi. vold
gestirà quindi il servizio fuse_sdcard1
quando i contenuti multimediali vengono inseriti/rimossi.
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
Solo principale fisico
Questa è una configurazione tipica per un dispositivo con un unico dispositivo di archiviazione esterno, ovvero una scheda SD fisica, come l'Android One originale. Non è presente uno spazio di archiviazione condiviso secondario e il dispositivo non supporta il multiutente.
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
Solo principale emulato
Questa è una configurazione tipica per un dispositivo con un singolo dispositivo di archiviazione esterno supportato dall'archiviazione interna del dispositivo, come Nexus 6.
- Lo spazio di archiviazione condiviso principale (
/sdcard
) viene emulato sopra lo spazio di archiviazione interno. - Nessuno spazio di archiviazione aggiuntivo sulla scheda SD.
- Sono supportati i dispositivi di archiviazione USB OTG.
- Supporta più utenti.
fstab.device
/devices/*/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usb:auto
Principale emulato, secondario fisico
Questa è una configurazione tipica per un dispositivo con più dispositivi di archiviazione esterni, in cui il dispositivo principale è supportato dalla memoria interna del dispositivo e il dispositivo secondario è una scheda SD fisica, come Xoom.
- Lo spazio di archiviazione condiviso principale (
/sdcard
) viene emulato sopra lo spazio di archiviazione interno. - Lo spazio di archiviazione secondario è uno slot per schede SD fisico che può essere adottato.
- Supporta più utenti.
fstab.device
/devices/platform/mtk-msdc.1/mmc_host* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata