أمثلة على الضبط

في ما يلي أمثلة على إعدادات التخزين الخارجي لأنواع مختلفة من الأجهزة. يتم تضمين الأجزاء ذات الصلة فقط منملفّات الإعدادات.

بسبب تغييرات الضبط في Android 6.0 (مثل إزالة تراكب موارد storage_list.xml)، تم تقسيم أمثلة الضبط إلى فئتين.

الإصدار 5.x من Android والإصدارات الأقدم

البطاقة الرئيسية فقط

هذه هي الإعدادات المعتادة لجهاز مزوَّد بوحدة تخزين خارجية واحدة وهي بطاقة 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