请参考以下:
有2点可以讨论一下:
1. 目前freescale内置sdcard是指/data分区虚拟出一个sdcard,
那么应该可以用挂载后的分区来作为这个内置sdcard
2. 国产平板,源码也没有大量修改
应该只是修改了配置文件,如:
ramdisk里面的
/fstab.xxxxx
/init.xxxx.rc
android源码里面
frameworks/base/core/res/res/xml/storage_list.xml
比如下面是一个国产平板的配置信息:
在fstab.xxx里面添加挂载点:(分区应该按实际名称修改)
/dev/block/platform/emmc/by-name/user /mnt/internal_sd vfat defaults voldmanaged=internal_sd:auto,noemulatedsd
在init.xxx.rc里面有这样配置信息:
重新配置sdcard的链接,并停止虚拟sdcard服务.
#internal_sd
symlink /mnt/internal_sd /sdcard
symlink /mnt/internal_sd /mnt/sdcard
symlink /mnt/internal_sd /storage/sdcard0
mount rootfs rootfs / ro remount
stop sdcard
symlink /mnt/internal_sd /sdcard
symlink /mnt/internal_sd /mnt/sdcard
symlink /mnt/internal_sd /storage/sdcard0
mount rootfs rootfs / ro remount
stop sdcard
在framework的storage_list.xml里面增加internal_sd的配置项
<StorageList xmlns:android="http://schemas.android.com/apk/res/android">
<storage
android:mountPoint="/storage/internal_sd"
android:storageDescription="@string/storage_emmc"
android:primary="false"
android:emulated="false"
android:allowMassStorage="false"
android:removable="false"
android:mtpReserve="100"/>
</StorageList>
<storage
android:mountPoint="/storage/internal_sd"
android:storageDescription="@string/storage_emmc"
android:primary="false"
android:emulated="false"
android:allowMassStorage="false"
android:removable="false"
android:mtpReserve="100"/>
</StorageList>
请看看以上方法是否可行