Yapılandırma örnekleri

Aşağıda, çeşitli cihaz türleri için harici depolama alanı yapılandırmaları örnekleri verilmiştir. Yapılandırma dosyalarının yalnızca ilgili bölümleri dahil edilir.

Android 6.0'taki yapılandırma değişiklikleri (storage_list.xml kaynak yer paylaşımının kaldırılması gibi) nedeniyle yapılandırma örnekleri iki kategoriye ayrılmıştır.

Android 5.x ve önceki sürümler

Yalnızca fiziksel birincil

Bu, Nexus One gibi fiziksel bir SD kart olan tek bir harici depolama cihazına sahip cihazlar için tipik bir yapılandırmadır.

Ham fiziksel cihaz, önce yalnızca sistemin ve FUSE daemon'ın erişebileceği /mnt/media_rw altında monte edilmelidir. Ardından, medya eklendiğinde/kaldırıldığında vold, fuse_sdcard0 hizmetini yönetir.

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

Yalnızca taklit edilen birincil

Bu, Nexus 4 gibi cihazdaki dahili depolama alanı tarafından desteklenen tek bir harici depolama cihazına sahip cihazlar için tipik bir yapılandırmadır.

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

Taklit edilen birincil, fiziksel ikincil

Bu, birden fazla harici depolama cihazı olan bir cihaz için tipik bir yapılandırmadır. Birincil cihaz, cihazdaki dahili depolama alanıyla desteklenir ve ikincil cihaz, Xoom gibi fiziksel bir SD karttır.

Ham fiziksel cihaz, önce yalnızca sistemin ve FUSE daemon'ın erişebileceği /mnt/media_rw altında monte edilmelidir. Ardından, medya takıldığında/çıkarıldığında vold, fuse_sdcard1 hizmetini yönetir.

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

Yalnızca fiziksel birincil

Bu, orijinal Android One gibi fiziksel bir SD kart olan tek harici depolama cihazına sahip cihazlar için tipik bir yapılandırmadır. İkincil ortak depolama alanı yoktur ve cihaz çok kullanıcılı özelliğini desteklemez.

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

Yalnızca taklit edilen birincil

Bu, Nexus 6 gibi cihazdaki dahili depolama alanı tarafından desteklenen tek bir harici depolama cihazına sahip cihazlar için tipik bir yapılandırmadır.

  • Birincil paylaşılan depolama alanı (/sdcard), dahili depolama alanının üzerinde taklit edilir.
  • İkincil SD kart depolama alanı yok.
  • USB OTG depolama cihazları desteklenir.
  • Çoklu kullanıcıyı destekler.

fstab.device

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

Taklit edilen birincil, fiziksel ikincil

Bu, birden fazla harici depolama cihazı olan bir cihaz için tipik bir yapılandırmadır. Birincil cihaz, cihazdaki dahili depolama alanıyla desteklenir ve ikincil cihaz, Xoom gibi fiziksel bir SD karttır.

  • Birincil paylaşılan depolama alanı (/sdcard), dahili depolama alanının üzerinde taklit edilir.
  • İkincil depolama alanı, dahili hale getirilebilecek fiziksel bir SD kart yuvasıdır.
  • Çoklu kullanıcıyı destekler.

fstab.device

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