A continuación se muestran ejemplos de configuraciones de almacenamiento externo para varios tipos de dispositivos. Sólo se incluyen las partes relevantes de los archivos de configuración.
Debido a cambios de configuración en Android 6.0 (como la eliminación de la superposición de recursos storage_list.xml
), los ejemplos de configuración se dividen en dos categorías.
Android 5.x y anteriores
Solo primaria física
Esta es una configuración típica para un dispositivo con un único dispositivo de almacenamiento externo que es una tarjeta SD física, como Nexus One.
El dispositivo físico sin formato debe montarse primero en /mnt/media_rw
, donde solo el sistema y el demonio FUSE pueden acceder a él. vold
luego administrará el servicio fuse_sdcard0
cuando se inserten o retiren medios.
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
lista_almacenamiento.xml
<storage android:mountPoint="/storage/sdcard0" android:storageDescription="@string/storage_sd_card" android:removable="true" android:primary="true" android:maxFileSize="4096" />
Solo primario emulado
Esta es una configuración típica para un dispositivo con un único dispositivo de almacenamiento externo respaldado por almacenamiento interno en el dispositivo, como 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
lista_almacenamiento.xml
<storage android:storageDescription="@string/storage_internal" android:emulated="true" android:mtpReserve="100" />
Primario emulado, secundario físico
Esta es una configuración típica para un dispositivo con múltiples dispositivos de almacenamiento externo, donde el dispositivo principal está respaldado por almacenamiento interno en el dispositivo y donde el dispositivo secundario es una tarjeta SD física, como Xoom.
El dispositivo físico sin formato debe montarse primero en /mnt/media_rw
, donde solo el sistema y el demonio FUSE pueden acceder a él. vold
luego administrará el servicio fuse_sdcard1
cuando se inserten o retiren medios.
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
lista_almacenamiento.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" />
Androide 6.0
Solo primaria física
Esta es una configuración típica para un dispositivo con un único dispositivo de almacenamiento externo que es una tarjeta SD física, como el Android One original. No hay almacenamiento compartido secundario y el dispositivo no puede admitir múltiples usuarios.
fstab.dispositivo
/devices/platform/mtk-msdc.1/mmc_host* auto auto defaults voldmanaged=sdcard0:auto,encryptable=userdata,noemulatedsd
init.dispositivo.rc
on init # By default, primary storage is physical setprop ro.vold.primary_physical 1
Solo primario emulado
Esta es una configuración típica para un dispositivo con un único dispositivo de almacenamiento externo respaldado por almacenamiento interno en el dispositivo, como Nexus 6.
- El almacenamiento compartido primario (
/sdcard
) se emula encima del almacenamiento interno. - Sin almacenamiento secundario en tarjeta SD.
- Se admiten dispositivos de almacenamiento USB OTG.
- Soporta multiusuario.
fstab.dispositivo
/devices/*/xhci-hcd.0.auto/usb* auto auto defaults voldmanaged=usb:auto
Primario emulado, secundario físico
Esta es una configuración típica para un dispositivo con múltiples dispositivos de almacenamiento externo, donde el dispositivo principal está respaldado por almacenamiento interno en el dispositivo y donde el dispositivo secundario es una tarjeta SD física, como Xoom.
- El almacenamiento compartido primario (
/sdcard
) se emula encima del almacenamiento interno. - El almacenamiento secundario es una ranura para tarjeta SD física que se puede adoptar.
- Soporta multiusuario.
fstab.dispositivo
/devices/platform/mtk-msdc.1/mmc_host* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata