Di seguito sono riportati esempi di configurazioni di archiviazione esterna per vari tipi di dispositivi. Sono incluse solo le parti rilevanti dei file di configurazione.
A causa delle modifiche alla configurazione in Android 6.0 (come la rimozione della sovrapposizione di risorse storage_list.xml
), gli esempi di configurazione sono suddivisi in due categorie.
Android 5.x e versioni precedenti
Solo primaria fisica
Questa è una configurazione tipica per un dispositivo con un singolo dispositivo di archiviazione esterno che è una scheda SD fisica, come Nexus One.
Il dispositivo fisico grezzo 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 il supporto viene inserito/rimosso.
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
elenco_archiviazione.xml
<storage android:mountPoint="/storage/sdcard0" android:storageDescription="@string/storage_sd_card" android:removable="true" android:primary="true" android:maxFileSize="4096" />
Solo primario emulato
Questa è una configurazione tipica per un dispositivo con un singolo dispositivo di archiviazione esterno supportato dalla memoria 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
elenco_archiviazione.xml
<storage android:storageDescription="@string/storage_internal" android:emulated="true" android:mtpReserve="100" />
Primario emulato, secondario fisico
Questa è una configurazione tipica per un dispositivo con più dispositivi di archiviazione esterni, in cui il dispositivo primario è supportato dalla memoria interna del dispositivo e dove il dispositivo secondario è una scheda SD fisica, come Xoom.
Il dispositivo fisico grezzo 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 il supporto viene inserito/rimosso.
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
elenco_archiviazione.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 primaria fisica
Questa è una configurazione tipica per un dispositivo con un singolo dispositivo di archiviazione esterno che è una scheda SD fisica, come l'originale Android One. Non esiste uno spazio di archiviazione condiviso secondario e il dispositivo non può supportare la modalità 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 primario emulato
Questa è una configurazione tipica per un dispositivo con un singolo dispositivo di archiviazione esterno supportato dalla memoria interna del dispositivo, come Nexus 6.
- L'archiviazione condivisa primaria (
/sdcard
) viene emulata sopra l'archiviazione interna. - Nessuna memoria secondaria sulla scheda SD.
- Dispositivi di archiviazione USB OTG supportati.
- Supporta multiutente.
fstab.device
/devices/*/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usb:auto
Primario emulato, secondario fisico
Questa è una configurazione tipica per un dispositivo con più dispositivi di archiviazione esterni, in cui il dispositivo primario è supportato dalla memoria interna del dispositivo e dove il dispositivo secondario è una scheda SD fisica, come Xoom.
- L'archiviazione condivisa primaria (
/sdcard
) viene emulata sopra l'archiviazione interna. - La memoria secondaria è uno slot fisico per scheda SD che può essere adottato.
- Supporta multiutente.
fstab.device
/devices/platform/mtk-msdc.1/mmc_host* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata