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

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

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

اندروید 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" />

اندروید 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