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