android usb mass storage EMMC转化为SD卡(三)
2013-03-25 17:21
405 查看
先转载一位博友的话
第二种方法就不推荐了,没起到什么作用.
还有一种方法就是
这种方法对比第一种方法,显然麻烦很多.需要考虑到mediascanner的处理,而且还需要对export进行处理.
这里说说第二种方法为什么要考虑当mount/unmount的处理.
因为这里的mount和unmount要有一个固定的顺序.
1.mount外置SD卡的时候内置SD卡一定要mount上.否则内置SD卡没有mount point.
2.unmount SD卡的时候一定要先unmount外置SD卡,不然会有SD卡无法卸载.
如果不遵守这个原则会引发USB大容量储存或者安装、卸载、格式化SD卡出现问题.
vold里改动文件
services里的改动文件
services/java/com/android/server/MountService.java
一种办法是 把内部flash mount为sdcard,然后把外部sd卡 mout到 /mnt/sdcard/下面的某个子目录 比如 /mnt/sdcard/externalsdcard 这种做法的优点是可以有一个一直存在的SD卡 缺点是内置flash要足够大,vold中要增加mount/unmount处理 而APK是没有机会安装到实际的外置SD卡上的 另外的一种办法是 在没有SD卡插入时把一部分内置flash mount到/mnt/sdcard 在SD卡插入时把实际SD卡重新mount到/mnt/sdcard 这种做法的优点是SD卡插入时APK会安装到实际SD卡上,可以把flash上的某个目录作为虚拟SD卡,比较灵活 缺点是相当于两个SD卡在切换,就是说安装到虚拟SD卡上的APK在第二个SD卡插入时消失 第一种的代码修改比较多,主要是增加/mnt/sdcard/externalsdcard设备的mount/unmount 第二种的修改比较少,只需要在vold里面做workaround
第二种方法就不推荐了,没起到什么作用.
还有一种方法就是
把一部分内置flash mount到/mnt/sdcard 把实际SD卡重新mount到/mnt/sdcardext
这种方法对比第一种方法,显然麻烦很多.需要考虑到mediascanner的处理,而且还需要对export进行处理.
这里说说第二种方法为什么要考虑当mount/unmount的处理.
因为这里的mount和unmount要有一个固定的顺序.
1.mount外置SD卡的时候内置SD卡一定要mount上.否则内置SD卡没有mount point.
2.unmount SD卡的时候一定要先unmount外置SD卡,不然会有SD卡无法卸载.
如果不遵守这个原则会引发USB大容量储存或者安装、卸载、格式化SD卡出现问题.
vold里改动文件
CommandListener.cpp diff | blob | history Volume.cpp diff | blob | history Volume.h diff | blob | history VolumeManager.cpp diff | blob | history VolumeManager.h diff | blob | history
services里的改动文件
services/java/com/android/server/MountService.java
相关文章推荐
- android usb mass storage EMMC转化为SD卡(二)
- android usb mass storage EMMC转化为SD卡(一)
- android usb mass storage EMMC转化为SD卡(四)
- Android usb client mass-storage 多存储设备挂载问题解决
- Android USB Connections Explained: MTP, PTP, and USB Mass Storage
- Android usb client mass-storage不能自动挂载到主机端的问题(1)
- 008-Android平台开发-USB mass storage porting-USB功能移植
- Android usb client mass-storage挂载单个存储设备研究
- 权限android.permission.WRITE_EXTERNAL_STORAGE 内外置sd卡写权限
- USB Mass Storage大容量存储的基本知识
- android usb大容量存储时sd卡状态监听
- USB Mass Storage 6.7 The Thirteen Cases章节的理解
- USB Mass Storage大容量存储的基本知识
- Android中的Environment.getExternalStorageState使用,对内置外置SD卡的判断
- USB Mass Storage大容量存储 The Thirteen Class章节的理解
- 权限android.permission.WRITE_EXTERNAL_STORAGE 内外置sd卡写权限
- android usb大容量存储时sd卡状态监听
- 使用Device IO Control 讀寫 USB Mass Storage
- Android USB大容量存储时SD卡状态监听(转)
- Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?若无SD卡,就用内部。