以下是外部儲存空間設定範例 配合各種裝置類型使用廣告只有設定的相關部分 檔案。
Android 6.0 的設定變更 (例如移除
storage_list.xml
資源重疊),設定範例如下
可以分成兩類
Android 5.x 以下版本
僅限實體主要頻道
對具有單一外部儲存空間的裝置來說,這是一般設定 即實體 SD 卡,例如 Nexus One。
原始實體裝置必須先掛接在以下位置:
/mnt/media_rw
:只有系統和 FUSE Daemon 可以存取
基礎架構「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 Daemon 可以
存取權。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
僅限實體主要頻道
對具有單一外部儲存空間的裝置來說,這是一般設定 例如第一代 Android One 的實體 SD 卡。由於沒有 次要共用儲存空間和裝置不支援多位使用者
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