Ejemplos de configuración

Aquí encontrarás ejemplos de configuraciones de almacenamiento externo. para varios tipos de dispositivos. Solo las partes relevantes de la configuración archivos.

Debido a cambios de configuración en Android 6.0 (como la eliminación de la storage_list.xml), se muestran los ejemplos de configuración dividirse en dos categorías.

Android 5.x y versiones anteriores

Principal física únicamente

Esta es una configuración típica de un dispositivo con un solo almacenamiento externo que es una tarjeta SD física, como Nexus One.

El dispositivo físico sin procesar primero debe montarse bajo /mnt/media_rw en el que solo el sistema y el daemon de FUSE pueden acceder que la modifica. Luego, vold administrará el servicio de fuse_sdcard0 Cuando se inserta o se quita contenido multimedia.

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 primaria emulada

Esta es una configuración típica de un dispositivo con un solo almacenamiento externo por el respaldo del almacenamiento interno del 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

storage_list.xml

<storage
    android:storageDescription="@string/storage_internal"
    android:emulated="true"
    android:mtpReserve="100" />

Emulación primaria y física secundaria

Esta es una configuración típica de un dispositivo con varias de almacenamiento, en los que el dispositivo principal está respaldado por el almacenamiento interno en el dispositivo y cuando el dispositivo secundario es una tarjeta SD física, como Xoom.

El dispositivo físico sin procesar primero debe montarse bajo /mnt/media_rw, en el que solo el sistema y el daemon de FUSE pueden accedan a ellos. Luego, vold administrará la fuse_sdcard1 servicio cuando se inserta o se quita contenido multimedia.

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

Principal física únicamente

Esta es una configuración típica de un dispositivo con un solo almacenamiento externo que es una tarjeta SD física, como la original de Android One. No hay almacenamiento compartido secundario y el dispositivo no podrá admitir multiusuarios.

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 primaria emulada

Esta es una configuración típica de un dispositivo con un solo almacenamiento externo que está respaldado por el almacenamiento interno del dispositivo, como Nexus 6.

  • El almacenamiento compartido principal (/sdcard) se emula junto con el almacenamiento interno.
  • No hay almacenamiento secundario en tarjeta SD.
  • Se admiten dispositivos de almacenamiento USB OTG.
  • Admite multiusuario.

fstab.device

/devices/*/xhci-hcd.0.auto/usb*             auto            auto    defaults
                                                    voldmanaged=usb:auto

Emulación primaria y física secundaria

Esta es una configuración típica de un dispositivo con varios tipos de almacenamiento en los que el dispositivo principal está respaldado por el almacenamiento interno del dispositivo, y el dispositivo secundario es una tarjeta SD física, como Xoom.

  • El almacenamiento compartido principal (/sdcard) se emula junto con el almacenamiento interno.
  • El almacenamiento secundario es una ranura física de tarjeta SD que puede adoptarse.
  • Admite multiusuario.

fstab.device

/devices/platform/mtk-msdc.1/mmc_host*           auto      auto     defaults
voldmanaged=sdcard1:auto,encryptable=userdata