Android2.3实现SD卡与U盘自动挂载的方法

2019-12-10 19:07:15王旭
易采站长站为您分析Android2.3实现SD卡与U盘自动挂载的方法,较为详细的分析了Android2.3实现SD卡与U盘自动挂载的具体步骤与相关技巧,需要的朋友可以参考下  

本文实例讲述了Android2.3实现SD卡与U盘自动挂载的方法。,具体如下:

在 s3c6410平台上移植android2.3 过程中SD卡总是不能自动挂载。 查阅相关资料,知道在android2.3中是 vold程序负责检查内核的 sysfs 文件系统,发现有SD卡插入后,自动挂载。 在文件系统目录 /system/etc/  下有一个vold.fstab 文件,该文件是系统与用户硬件平台的交互接口,用户根据自己的平台来配置这个文件,里面内容比较简单,只需要你指定sys下vold程序需要查询的文件夹路径,当SD卡插入设备后,这个路径下会产生相应的文件,vold能检查到。

我的vold.fstab文件内容如下:

## Vold 2.0 fstab for OK6410
##
#######################
## Regular device mount
##
## Format: dev_mount <label> <mount_point> <part> <sysfs_path1...> 
## label    - Label for the volume
## mount_point - Where the volume will be mounted
## part     - Partition # (1 based), or 'auto' for first usable partition.
## <sysfs_path> - List of sysfs paths to source devices
######################
# Mounts the first usable partition of the specified device
dev_mount sdcard /mnt/sdcard auto /devices/platform/goldfish_mmc.0 /devices/platform/s3c-sdhci.0/mmc_host/mmc0

上面都是注释,帮助,最关键的是最后一句,其中 auto 代表挂载SD卡的第一个分区,后面是vold监测的路径,当插入sd时,/devices/platform/s3c-sdhci.0/mmc_host/mmc0 路径下会多出一个文件夹,请确认你的硬件平台相应的路径。

最后说一下除了配置这个文件外需要关注的地方:

1 如果你把sd卡插入开发板上,在 /dev/block/ 目录下面多出几个设备节点,证明sd卡的驱动成功加载, 我的目录下面会形成 mmcblk0  和 mmcblk0p1 节点,注意:这两个节点的意思,mmcblk0代表第一个sd卡设备,mmcblk0p1代表第一个SD卡设备的第一个分区。用户不能把/dev/block/mmcblk0挂载到文件系统中,而是把这个SD卡的分区挂载到文件系统中,如下: