نمونه‌های پیکربندی

در زیر نمونه‌هایی از پیکربندی‌های فضای ذخیره‌سازی خارجی برای انواع مختلف دستگاه آورده شده است. فقط بخش‌های مربوط به فایل‌های پیکربندی گنجانده شده است.

به‌دلیل تغییرات پیکربندی در Android نسخه ۶.۰ (مانند حذف storage_list.xml پوشش منبع)، نمونه‌های پیکربندی به دو دسته تقسیم می‌شوند.

‫Android 5.x و نسخه‌های قدیمی‌تر

فقط اصلی فیزیکی

این پیکربندی معمول برای دستگاهی با فضای ذخیره‌سازی خارجی تکی است دستگاه که کارت SD فیزیکی است، مثل Nexus One.

ابتدا باید دستگاه فیزیکی خام در /mnt/media_rw نصب شود و فقط سیستم و دیمون FUSE بتوانند به آن دسترسی داشته باشند. سپس vold سرویس fuse_sdcard0 را هنگام درج/برداشتن رسانه مدیریت خواهد کرد.

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

فقط اصلی شبیه‌سازی‌شده

این پیکربندی معمول برای دستگاهی با یک دستگاه فضای ذخیره‌سازی خارجی است که با فضای ذخیره‌سازی داخلی دستگاه پشتیبانی می‌شود، مثل 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" />

اصلی شبیه‌سازی‌شده، ثانویه فیزیکی

این پیکربندی معمول برای دستگاهی با چندین دستگاه ذخیره‌سازی خارجی است، جایی که دستگاه اصلی توسط فضای ذخیره‌سازی داخلی در دستگاه پشتیبانی می‌شود و دستگاه ثانویه یک کارت SD فیزیکی مانند Xoom است.

ابتدا باید دستگاه فیزیکی خام در /mnt/media_rw نصب شود و فقط سیستم و دیمون FUSE بتوانند به آن دسترسی داشته باشند. سپس vold سرویس fuse_sdcard1 را هنگام درج/برداشتن رسانه مدیریت خواهد کرد.

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

فقط اصلی فیزیکی

این پیکربندی معمول برای دستگاهی با دستگاه فضای ذخیره‌سازی خارجی تکی است که کارت SD فیزیکی است، مثل Android One اصلی. فضای ذخیره‌سازی مشترک ثانویه وجود ندارد و دستگاه نمی‌تواند از چند کاربر پشتیبانی کند.

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

فقط اصلی شبیه‌سازی‌شده

این پیکربندی معمول برای دستگاهی با یک دستگاه فضای ذخیره‌سازی خارجی است که با فضای ذخیره‌سازی داخلی دستگاه پشتیبانی می‌شود، مثل Nexus 6.

  • فضای ذخیره‌سازی مشترک اصلی (/sdcard) در بالای فضای ذخیره‌سازی داخلی شبیه‌سازی شده است.
  • فضای ذخیره‌سازی کارت SD ثانویه وجود ندارد.
  • دستگاه‌های ذخیره‌سازی USB OTG پشتیبانی می‌شوند.
  • از چند کاربر پشتیبانی می‌کند.

fstab.device

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

اصلی شبیه‌سازی‌شده، ثانویه فیزیکی

این پیکربندی معمولی برای دستگاهی با چند دستگاه فضای ذخیره‌سازی خارجی است، که دستگاه اصلی با فضای ذخیره‌سازی داخلی در دستگاه پشتیبانی می‌شود، و دستگاه ثانویه کارت SD فیزیکی است، مانند Xoom.

  • فضای ذخیره‌سازی مشترک اصلی (/sdcard) در بالای فضای ذخیره‌سازی داخلی شبیه‌سازی شده است.
  • فضای ذخیره‌سازی ثانویه شکاف کارت SD فیزیکی است که می‌توان آن را پذیرفت.
  • از چند کاربر پشتیبانی می‌کند.

fstab.device

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