以下为在RK平台中添加usb_storage2为例子,它是作为第四个挂载点(1、内部存储,2、外部存储,3、usb_storage)
1、在frameworks/base/core/res/res/values/strings.xml里添加新的U盘描述如
<string name="storage_usb2">USB storage 2 </string>
2、在device目录下找到项目或者芯片提供商的common目录下的overlay/frameworks/base/core/res/res/xml/下的对应storage的列表xml,注意产品类型,不同类型对应不同的list的xml。
在对应的xml里加上
<storage android:mountPoint="mnt/usb_storage2"android:storageDescription="@string/storage_usb2"
android:primary="false"
android:removable="true"
android:mtpReserve="100"/>
3、在device目录下芯片提供商目录下找到生成挂载目录的地方,例如rk提供商在5.1的源码下是在/device/rockchip/common/init.rockchip.rc里的
可以在搜索mkdir /mnt/usb_storage这个字符串进行定位,
在mkdir /mnt/usb_storage 0000 system system的下行加上
export FOURT_VOLUME_STORAGE /mnt/usb_storage2
mkdir /mnt/usb_storage2 0000 system system
4、如果是emmc设备则在device中的自己型号项目中的fstab.rk30board.bootmode.emmc里添加下面这行,如果不是emmc设备就在fstab.rk30board.bootmode.unknown里添加下面这行
/device/ff540000.usb /mnt/usb_storage2 vfat defaults voldmanaged=usb_storage2:auto
其中ff540000这个是usb口指向的地址,由具体情况修改。
修改编译完成后,需要文件管理器配合,部分文件管理器只默认显示usb_storage里的文件,usb_storage2需要另外处理。
网友评论