Konfigurationsbeispiele

Unten finden Sie Beispiele für externe Speicherkonfigurationen für verschiedene Gerätetypen. Es sind nur die relevanten Teile der Konfigurationsdateien enthalten.

Aufgrund von Konfigurationsänderungen in Android 6.0 (z. B. das Entfernen des storage_list.xml-Ressourcen-Overlays) sind die Konfigurationsbeispiele in zwei Kategorien unterteilt.

Android 5.x und niedriger

Nur physische primäre Adresse

Dies ist eine typische Konfiguration für ein Gerät mit einem einzigen externen Speichergerät, z. B. einer physischen SD-Karte, wie Nexus One.

Das physische Gerät muss zuerst unter /mnt/media_rw bereitgestellt werden, wo nur das System und der FUSE-Daemon darauf zugreifen können. vold verwaltet dann den fuse_sdcard0-Dienst, wenn Medien eingefügt oder entfernt werden.

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" />

Nur emulierte primäre

Dies ist eine typische Konfiguration für ein Gerät mit einem einzelnen externen Speichergerät, das vom internen Speicher des Geräts unterstützt wird, z. B. 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" />

Emulierte primäre, physische sekundäre Festplatte

Dies ist eine typische Konfiguration für ein Gerät mit mehreren externen Speichergeräten, bei dem das primäre Gerät durch den internen Speicher des Geräts unterstützt wird und das sekundäre Gerät eine physische SD-Karte ist, z. B. Xoom.

Das physische Gerät muss zuerst unter /mnt/media_rw bereitgestellt werden, wo nur das System und der FUSE-Daemon darauf zugreifen können. vold verwaltet dann den fuse_sdcard1-Dienst, wenn Medien eingefügt oder entfernt werden.

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

Nur physische primäre Adresse

Dies ist eine typische Konfiguration für ein Gerät mit einem einzigen externen Speichergerät, z. B. einer physischen SD-Karte, wie beim ursprünglichen Android One. Es gibt keinen sekundären freigegebenen Speicher und das Gerät unterstützt keine Mehrfachnutzung.

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

Nur emulierte primäre

Dies ist eine typische Konfiguration für ein Gerät mit einem einzelnen externen Speichergerät, das vom internen Speicher des Geräts unterstützt wird, z. B. Nexus 6.

  • Der primäre freigegebene Speicher (/sdcard) wird über dem internen Speicher emuliert.
  • Kein sekundärer SD-Kartenspeicher.
  • USB-OTG-Speichergeräte werden unterstützt.
  • Unterstützt mehrere Nutzer.

fstab.device

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

Emulierte primäre, physische sekundäre Festplatte

Dies ist eine typische Konfiguration für ein Gerät mit mehreren externen Speichergeräten, bei dem das primäre Gerät durch den internen Speicher auf dem Gerät gesichert wird und das sekundäre Gerät eine physische SD-Karte ist, z. B. Xoom.

  • Der primäre gemeinsam genutzte Speicher (/sdcard) wird über dem internen Speicher emuliert.
  • Der sekundäre Speicher ist ein physischer SD-Kartensteckplatz, der verwendet werden kann.
  • Unterstützt mehrere Nutzer.

fstab.device

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