
u盘挂载
new_abc
这个作者很懒,什么都没留下…
展开
-
android usb挂载分析---MountService启动
在android usb挂载分析----vold启动,我们的vold模块已经启动了,通信的机制也已经建立起来了,接下来我们分析一下MountService的启动,也就是我们FrameWork层的启动,首先看下其大概流程:MountService的启动在SystemServer.java中,有如下代码: try { /*原创 2012-03-27 23:00:12 · 21106 阅读 · 3 评论 -
android usb挂载分析---vold处理FrameWork层发出的消息
Framework层收到消息后,又向vold发送了volume mount的消息,所以vold层又继续着处理这个消息,先看下大概处理流程:同FrameWork层阻塞在等待vold的消息一样,vold层也在等待着收到 FrameWork层的消息,不过是调用select函数百阻塞,因为这个还有内核可能会有其它的连接请求的到来等,所以不能阻塞。我们看下代码:void Socket原创 2012-03-30 23:25:28 · 4424 阅读 · 0 评论 -
android usb挂载分析----vold启动
前段时间做了下usb挂载的,现在出了几个bug,又要把流程给梳理下,顺便也把相关的知识总结下,以免下次又需要,上次弄的时候由于刚开始弄android i不久,所以只是保证了能够通过vold模块把u盘等挂载上去,具体应用能不能看到里面的东东的话就呵呵,没有保证了,现在出的几个bug也就这样,唉……学习了罗老师的,先慢慢的把流程图画出来:vold启动在init.rc中:原创 2012-03-26 22:18:30 · 14709 阅读 · 4 评论 -
android usb挂载分析---FrameWork层处理vold消息
从前面的知识我们看到,在vold层收到 FrameWork层的消息后,会进行相应的处理,同时在处理的过程中会上报相应的状态给FrameWork层,在这个过程中主要上报了两种消息:1、开始挂载前上报State_Checking消息。2、挂载成功后上报State_Mounted消息。针对这两个消息,我们看下FrameWork层相应的处理,这两个消息处理的流程基本差不多,只是对于State_原创 2012-04-01 00:12:07 · 7330 阅读 · 0 评论 -
android usb挂载分析---vold处理内核消息
MountService启动之后 ,一切准备工作都 做好了,就等待碰上u盘插上了, 这里要讲的是内核发信息给vold,我们在 vold启动这篇曾讲到过注册了一个到内核的UEVENT事件,当有u盘插入的时候,我们就能从这个套接字上收到内核所发出的消息了,这样就开始了vold的消息处理。先看下消息处理的流程:在SocketListener::runListener()函数 中,原创 2012-03-29 22:25:21 · 5911 阅读 · 0 评论 -
android usb挂载分析--类图
前面差不多把u盘的挂载过程了解了一遍,但是我们 可能对这中间涉及到的各种结构还是有点模糊,我们看下他们的类图(画的不 一定很 准确哦。。。)首先看下vold模块的:消息发送流程ok,整个挂载基本上就这么多了,后面打算把挂载过程中支持ext*、及ntfs的方式也记录下来。原创 2012-04-01 23:49:20 · 4384 阅读 · 0 评论 -
android usb挂载分析---FrameWork层处理收到的vold消息
vold模块收到内核消息后,通过前面建立的socket通信各上去发送相应的消息,我们可以看到主要发了两类消息:1、DirectVolume::handleDiskAdded以及handlePartitionAdded都调用setState发送了一条VolumeStateChange消息。2、handleDiskAdded中还发送了 VolumeDiskInserted消息。我们先看下F原创 2012-03-30 22:46:11 · 3962 阅读 · 0 评论 -
u盘挂载相关文章
android usb挂载分析----vold启动 android usb挂载分析---MountService启动 android usb挂载分析---vold处理内核消息 android usb挂载分析---FrameWork层处理收到的vold消息 android usb挂载分析---vold处理FrameWork层发出的消息 android us原创 2013-03-07 16:20:10 · 2062 阅读 · 0 评论