4.0上 双SD卡嵌套挂载问题
各位好。
【正题】
最近在4.0上做双SD卡嵌套挂载问题的工作,结果总是出问题,没有头绪,很是郁闷。
原来的挂载配置:
外置sdcard mnt/sdcard
emmc mnt/emmc
要改成:
外置sdcard mnt/sdcard/ext_sd
emmc mnt/sdcard
根据网上的一些关于挂载流程,修改了配置文件和逻辑后,log中显示mount成功,文件管理器中也可以看到相应的内置、外置卡上的文件。但是目前存在3个严重问题(注:修改之前原来的功能都OK。):
1. 一开机就会显示“空白SD卡”的notify消息。
2. 进入settings的“存储管理”界面时settings会挂掉,log显示
07-16 06:58:38.389: E/AndroidRuntime(619): FATAL EXCEPTION: MemoryMeasurement
07-16 06:58:38.389: E/AndroidRuntime(619): java.lang.IllegalArgumentException
07-16 06:58:38.389: E/AndroidRuntime(619): at android.os.StatFs.native_setup(Native Method)
07-16 06:58:38.389: E/AndroidRuntime(619): at android.os.StatFs.<init>(StatFs.java:32)
07-16 06:58:38.389: E/AndroidRuntime(619): at com.android.settings.deviceinfo.StorageMeasurement$MeasurementHandler.measureApproximateStorage(StorageMeasurement.java:395)
在代码中加打印,发现传入的path是合法的字符串,奇怪~~
3. 插线连接到PC机时USB大容量存储器也启动不了,log显示“Device or resource busy”,跟驱动有关?
【补充问题】
1. 内置外置SD卡的挂载/卸载,是要严格遵循“内置->外置”/“外置->内置”的顺序,是吧?
2. 同级目录上挂载和这种嵌套目录的挂载,有何区别?因为总觉得只是简单修改了一个挂载点,怎么会引发这么多问题呢?
烦请高手指点一二。
期待回复。
感谢!