- 博客(15)
- 资源 (25)
- 收藏
- 关注
原创 Android-vold源码分析之卸载SD卡(9)
作者:gzshun. 原创作品,转载请标明出处!来源:http://blog.csdn.net/gzshun本文分析卸载sd卡的源码,这些涉及的内容比较少,走过就行。在Android系统,系统设置里面,提供了挂载,卸载与格式化的功能。在这里,我们可以回忆一下,Android在挂载sd卡有几个途径,卸载又是有几种方法?一、挂载sd卡,有2种方式:1.用户自己挂载sd卡;
2011-12-31 21:20:05 12922
原创 Android-vold源码分析之挂载SD卡(8)
这里续上一篇文章,讲解挂载磁盘的操作:3.挂载磁盘。这里都有一个const char *类型的参数,这参数保存着每个磁盘的标签信息,比如sd卡的label是sdcard。int VolumeManager::mountVolume(const char *label) { Volume *v = lookupVolume(label); if (!v) {
2011-12-30 20:15:46 13420 4
原创 Android-vold源码分析之runCommand(7)
作者:gzshun. 原创作品,转载请标明出处!说了这么多,该到执行命令的函数了,要不黄花菜都凉了。上一篇文章讲了vold如何开启接收framework下发命令的线程,最终到了runCommand函数的实现,总共有6个版本,由于重复性大,只讲VolumeCmd类的runCommand函数的实现。VolumeCmd可以说是最重要的,该类的实现处理了list,debug,mount,unm
2011-12-29 22:12:33 7792 2
原创 Android-vold源码分析之startListener(6)
作者:gzshun. 原创作品,转载请标明出处!vold处理完磁盘事件,就要开始接受framework的操作命令,在main函数里面,开启了一个线程来监听framework的信息,当收到操作命令,vold进行解析,分析出命令,然后调用相应的磁盘操作函数,待操作完成后,再将操作结果的状态值反馈给framework,中间均使用了广播机制,使用了UDP协议。在main函数中,有以下函数的调用
2011-12-28 23:10:18 7652 2
原创 嵌入式Linux下fdisk处理磁盘MBR的可选ID
作者:gzshun. 原创作品,转载请标明出处!在嵌入式Linux中,经常涉及到格式化硬盘,常用的工具就是fdisk,这工具功能强大,busybox里面也实现了fdisk。当busybox实现的fdisk是简化版,与原版的GNU的fdisk相差挺大的,主要是缺少一些细节性的功能。本文主要是说明fdisk写入MBR的一个磁盘可选id,这个区域可以用来唯一的标记一块硬盘,总共有4个字节,2
2011-12-27 23:41:07 6942 1
原创 Android-vold源码分析之handleBlockEvent(5)
作者:gzshun. 原创作品,转载请标明出处!上篇文章分析到了handleBlockEvent函数,该函数包含了以下6个处理函数:void handleDiskAdded(const char *devpath, NetlinkEvent *evt);void handleDiskRemoved(const char *devpath, NetlinkEvent *evt);
2011-12-27 22:32:18 9125 7
原创 Android磁盘管理-之vold源码分析(4)
作者:gzshun. 原创作品,转载请标明出处!上篇文章分析到了NetlinkHandler类中的onEvent函数,该函数由NetlinkListener::onDataAvailable函数调用,当SocketListener类监听到内核的uevent事件,调用该函数,之后的事情交给onEvent来负责。file:system/vold/NetlinkHandler.cpp
2011-12-26 22:30:29 9072 2
原创 Android磁盘管理-之vold源码分析(3)
作者:gzshun. 原创作品,转载请标明出处!NetlinkManager类负责管理捕获内核的uevent事件,这里使用了Netlink套接字。Netlink的概念:Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。Netlink套接字可以使用标准的套接字APIs来创建。socket(), b
2011-12-25 00:02:51 8391 1
原创 Android磁盘管理-之vold源码分析(2)
作者:gzshun. 原创作品,转载请标明出处!Vold是Android系统处理磁盘的核心部分,取代了原来Linux系统中的udev,主要用来处理Android系统的热插拔存储设备。在Android2.2以后的系统中,vold源码已经移到了system目录下,vold目录包含以下源码:├── Android.mk├── Asec.h├── CleanSpec.mk├
2011-12-23 22:38:34 15004 7
原创 Android磁盘管理-系统源码分析(1)
作者:gzshun. 原创作品,转载请标明出处!本系列文章,将会详细讲解Android系统的磁盘管理部分,可以通过这个突破口,熟悉整个Android的系统架构与实现原理。Android磁盘管理总共涉及到四大部分源码:1.Linux kernel: Android建立在Linux内核的基础上,最底层的部分是由Linux kernel来负责的,用于检测热插拔事件;2.V
2011-12-22 21:47:59 16992 8
原创 C语言sscanf函数的总结
在处理字符串的程序当中,经常会分析字符串,从一大长串的字符串截取我们需要的数据,这如果通过自己手写函数来分析,虽然可以,但当你知道sscanf的功能,那就自己写函数分析就显得多此一举。这些函数的使用都很简单,总结一下,等下次使用一目了然。俗话说:好记性不如烂笔头,记录下来就是效率。以下源代码是本人测试的源文件,附带讲解注释。/************************
2011-12-18 16:10:57 70618 18
转载 软件行业排名前100名的企业大全
以下为CSDN社区的一个主题,转载的。以下是软件行业前100名,你愿意选择哪一家做android开发1 华为技术有限公司 622360 2 中兴通讯股份有限公司 601331 3 海信集团有限公司 448641 4 UT斯达康通讯有限公司 386763 5 海尔集团公司 333664 6 神州数码(中国)有限公司 311862 7 浙江浙大网新科技股份有
2011-12-10 12:49:00 8073
原创 Android移植oprofile性能监测工具
Android移植oprofile性能监测工具关于oprofile的移植,在Ubuntu Server 10.04平台上交叉编译,移植到Android,经过实践,以下是交叉编译的正确步骤,不保证在其他环境中能正确运行,以下是编译环境:build: Ubuntu Server 10.04host: Android-2.2r2cross compiler: mips-lin
2011-12-08 21:16:52 4791
原创 移植mtd-utils工具包--使用教程
移植mtd-utils工具包--使用教程关于mtd-utils的移植,在Ubuntu Server 10.04平台上交叉编译,移植到嵌入式Linux,经过实践,以下是交叉编译的正确步骤,不保证在其他环境中能正确运行,以下是编译环境:build: Ubuntu Server 10.04host: Linux version 2.6.32.15-15-sigmacross
2011-12-07 21:42:13 5606
原创 移植fontconfig软件包
移植fontconfig软件包关于fontconfig的移植,在Ubuntu Server 10.04平台上交叉编译,移植到嵌入式Linux,经过实践,以下是交叉编译的正确步骤,不保证在其他环境中能正确运行,以下是编译环境:build: Ubuntu Server 10.04host: Linux version 2.6.32.15-15-sigmacross co
2011-12-07 21:39:15 5140
libstdc++ for Qt5
2013-09-30
Linux引导删除工具(mbrfix)
2013-07-03
HTML转换为PDF工具v1.0(可用版本)
2012-08-27
macdrive(Windows查看HFS驱动)
2012-08-04
MAC变色龙(Chameleon_2.1svn_r2033)
2012-08-04
引导盘darwin
2012-08-01
MAC安装kext驱动
2012-08-01
CSDN博客下载器v2.4
2012-05-13
CSDN博客下载器v2.2
2012-05-09
CSDN博客备份工具-blogspider_v2.0.tar.bz2
2012-02-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人