1

我一直在开发具有非常小尺寸的 nand flash 的 android 电视。因此,所有用户应用程序和数据都应该放在外部 sd 卡上。

我对多用户的外部存储策略感到困惑。我应该如何配置所有这些变量,例如 EXTERNAL_STORAGE、EMULATED_STORAGE_SOURCE、EMULATED_STORAGE_TARGET

我当前的配置如下:

初始化文件

symlink /storage/emulated/legacy /sdcard
symlink /storage/emulated/legacy /mnt/sdcard
symlink /storage/emulated/legacy /storage/sdcard0
symlink /mnt/shell/emulated/0 /storage/emulated/legacy

export EXTERNAL_STORAGE /storage/emulated/legacy
export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
export EMULATED_STORAGE_TARGET /storage/emulated

vold.fstab

dev_mount sdcard /mnt/shell/emulated auto /devices/platform/...

存储列表

<StorageList xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- internal emulated storage -->
    <storage
        android:storageDescription="@string/storage_internal"
        android:emulated="true"
        android:mtpReserve="100" /> 
    <storage android:mountPoint="/mnt/shell/emulated"
             android:storageDescription="@string/storage_sd_card"
             android:removable="true"
             android:primary="true" />
</StorageList>

使用此配置适用于 android-4.2 设备,我发现每次拔下 sdcard 并重新安装它时,由于权限,那些正在运行的进程将在 sdcard 上的 I/O 操作上遇到错误。但是新的 zygote-forked 进程会正常工作。

4

0 回答 0