أمثلة التكوين

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

بسبب تغييرات التكوين في 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