自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

Android-vold源码分析之卸载SD卡(9)

作者:gzshun. 原创作品,转载请标明出处! 来源:http://blog.csdn.net/gzshun 本文分析卸载sd卡的源码,这些涉及的内容比较少,走过就行。在Android系统,系统设置里面, 提供了挂载,卸载与格式化的功能。在这里,我们可以回忆一下,Android在挂载sd卡有几个途径, 卸载又是有几种方法? 一、挂载sd卡,有2种方式: 1.用户自己挂载sd卡; 2...

2011-12-31 21:20:00 108

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:00 122

Android-vold源码分析之runCommand(7)

作者:gzshun. 原创作品,转载请标明出处! 说了这么多,该到执行命令的函数了,要不黄花菜都凉了。上一篇文章讲了vold如何开启接收framework下发命令的线程,最终到了runCommand函数的实现,总共有6个版本,由于重复性大,只讲VolumeCmd类的runCommand函数的实现。 VolumeCmd可以说是最重要的,该类的实现处理了list,debug,mount,unmou...

2011-12-29 22:12:00 133

Android-vold源码分析之startListener(6)

作者:gzshun. 原创作品,转载请标明出处! vold处理完磁盘事件,就要开始接受framework的操作命令,在main函数里面,开启了一个线程来监听framework的信息,当收到操作命令,vold进行解析,分析出命令,然后调用相应的磁盘操作函数,待操作完成后,再将操作结果的状态值反馈给framework,中间均使用了广播机制,使用了UDP协议。在main函数中,有以下函数的调用: ...

2011-12-28 23:10:00 113

嵌入式Linux下fdisk处理磁盘MBR的可选ID

作者:gzshun. 原创作品,转载请标明出处! 在嵌入式Linux中,经常涉及到格式化硬盘,常用的工具就是fdisk,这工具功能强大,busybox里面也实现了fdisk。当busybox实现的fdisk是简化版,与原版的GNU的fdisk相差挺大的,主要是缺少一些细节性的功能。 本文主要是说明fdisk写入MBR的一个磁盘可选id,这个区域可以用来唯一的标记一块硬盘,总共有4个字节,2的3...

2011-12-27 23:41:00 142

Android-vold源码分析之handleBlockEvent(5)

作者:gzshun. 原创作品,转载请标明出处! 上篇文章分析到了handleBlockEvent函数,该函数包含了以下6个处理函数: void handleDiskAdded(const char *devpath, NetlinkEvent *evt); void handleDiskRemoved(const char *devpath, NetlinkEvent *evt); vo...

2011-12-27 22:32:00 114

Android磁盘管理-之vold源码分析(4)

作者:gzshun. 原创作品,转载请标明出处! 上篇文章分析到了NetlinkHandler类中的onEvent函数,该函数由NetlinkListener::onDataAvailable函数调用,当SocketListener类监听到内核的uevent事件,调用该函数,之后的事情交给onEvent来负责。 file:system/vold/NetlinkHandler.cpp 现在...

2011-12-26 22:30:00 90

Android磁盘管理-之vold源码分析(3)

作者:gzshun. 原创作品,转载请标明出处! NetlinkManager类负责管理捕获内核的uevent事件,这里使用了Netlink套接字。 Netlink的概念: Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。Netlink套接字可以使用标准的套接字APIs来创建。socket(), bind(...

2011-12-25 00:02:00 80

Android磁盘管理-之vold源码分析(2)

作者:gzshun. 原创作品,转载请标明出处! Vold是Android系统处理磁盘的核心部分,取代了原来Linux系统中的udev,主要用来处理Android系统的热插拔存储设备。在Android2.2以后的系统中,vold源码已经移到了system目录下,vold目录包含以下源码: ├── Android.mk ├── Asec.h ├── CleanSpec.mk ├── C...

2011-12-23 22:38:00 118

Android磁盘管理-系统源码分析(1)

作者:gzshun. 原创作品,转载请标明出处! 本系列文章,将会详细讲解Android系统的磁盘管理部分,可以通过这个突破口,熟悉整个Android的系统架构与实现原理。 Android磁盘管理总共涉及到四大部分源码: 1.Linux kernel: Android建立在Linux内核的基础上,最底层的部分是由Linux kernel来负责的,用于检测热插拔事件; 2.Vold:...

2011-12-22 21:47:00 104

C语言sscanf函数的总结

在处理字符串的程序当中,经常会分析字符串,从一大长串的字符串截取我们需要的数据,这如果通过自己手写函数来分析,虽然可以,但当你知道sscanf的功能,那就自己写函数分析就显得多此一举。 这些函数的使用都很简单,总结一下,等下次使用一目了然。俗话说:好记性不如烂笔头,记录下来就是效率。 以下源代码是本人测试的源文件,附带讲解注释。 /**************************...

2011-12-18 16:10:00 81

CRC32校验算法-C实现

CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。 CRC校验实用程序库在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。 以下是CRC32的C语言实现,经过测试,能够正确运行: /************************************...

2011-12-17 21:28:00 142

Android地图和GPS功能的实现

地图和GPS会是比较常用的一个功能了,网上能找到相当多的示例,同时几个地图引擎的公司也有开放他们的地图SDK,可以加以利用。这次是重点研究了基于Rexsee实现地图路线控制这个功能,分享出来。同时把Rexsee写的GPS功能源码也全部贴出来,有点多。看不明白的自己去Rexsee的社区:Rexsee在扩展中直接使用了高德的SDK,应该是合作关系吧。通过高德地图对象内的函数,可以很轻松的制作出类似谷歌...

2011-12-12 12:21:40 255

分享偶的android秘籍

1、 Android开发教程笔记完全版 pdf 2、 android各组件详解 PDF3、 Android游戏示例大全(从培训基础到复杂游戏开发) 4、 Android技术内幕系统篇PDF高清完整版.rar 5、 Android技术内幕.系统卷 pdf 6、 最新Android4.0API源代码 包含所有API 7、 Google Android SDK开发范例大全(第2版) 8、 10个实用An...

2011-12-12 12:20:39 102

软件行业排名前100名的企业大全

以下为CSDN社区的一个主题,转载的。 以下是软件行业前100名,你愿意选择哪一家做android开发 1 华为技术有限公司 6223602 中兴通讯股份有限公司 6013313 海信集团有限公司 4486414 UT斯达康通讯有限公司 3867635 海尔集团公司 3336646 神州数码(中国)有限公司 3118627 浙江浙大网新科技股份有限公司 2887818 熊猫电子集团有限公司 2...

2011-12-10 12:49:00 960

Android移植oprofile性能监测工具

Android移植oprofile性能监测工具 关于oprofile的移植,在Ubuntu Server 10.04平台上交叉编译,移植到Android,经过实践,以下是交叉编译的正确步骤,不保证在其他环境中能正确运行,以下是编译环境: build: Ubuntu Server 10.04 host: Android-2.2r2 cross compiler: mips-linux-gnu...

2011-12-08 21:16:00 75

移植mtd-utils工具包--使用教程

移植mtd-utils工具包--使用教程 关于mtd-utils的移植,在Ubuntu Server 10.04平台上交叉编译,移植到嵌入式Linux,经过实践,以下是交叉编译的正确步骤,不保证在其他环境中能正确运行,以下是编译环境: build: Ubuntu Server 10.04 host: Linux version 2.6.32.15-15-sigma cross compil...

2011-12-07 21:42:00 114

移植fontconfig软件包

移植fontconfig软件包 关于fontconfig的移植,在Ubuntu Server 10.04平台上交叉编译,移植到嵌入式Linux,经过实践,以下是交叉编译的正确步骤,不保证在其他环境中能正确运行,以下是编译环境: build: Ubuntu Server 10.04 host: Linux version 2.6.32.15-15-sigma cross compiler:m...

2011-12-07 21:39:00 116

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除