在上一篇文章里,说是讲ntfs-3g向Android的移植,但是却顺带引入了另一个关联比较紧密的问题:如何自动挂载U盘、移动硬盘等大容量外部存储设备。hi.baidu.com/xiaowp
在Android中,原本就有一个很好用的自动挂载外存储设备的模块:vold,但是默认情况下vold所支持的只是对指定好的一个设备,自动将它挂载到指定的目录上的功能。即通过配置/etc/vold.fstab文件来实现此功能。
如果想在Android上实现自动根据设备名称来挂载到自动创建的目录中,则要自己动手来作一些工作。在本文中,我只会讨论实现自动挂载的方案,而不会研究其具体的代码实现。欢迎同道中人也来讨论相关实现方案。
我能想到的主要有下面几种方案:hi.baidu.com/xiaowp
1.修改Android中的vold源代码。使其支持自动挂载外设。
2.凭借对Linux的sysfs的认识,可以不依赖vold,自己实现一个自动挂载的程序。
3.移植桌面Linux系统中的udev到Android上来。
对于方案1.由于不用创建“全新”的项目,而且是直接在其原有的框架基础之上添加新的功能,实现起来相关容易一些。但是实现完成后,如果没有写好,可能会发现自己的实现会让vold代码变得很丑陋。
方案2.是一个通吃的方案,只要是Linux就没问题(嗯……得是2.6以后的内核吧),不用担心以后再搞个其它系统,像Meego(现在被英特尔过继给别人了,起个新名字叫什么来着忘了。)hi.baidu.com/xiaowp
方案3.也算是个通吃的方案吧,这个只是我觉得可行的方案,并未经过实际验证。
方案1的实现:要实现这个&#