- 博客(9)
- 资源 (31)
- 收藏
- 关注
原创 binder ---Service Manager 简要图程
1、打开binder设备,驱动创建了一个binder_proc作为binder的上下文管理者。结构中threads树用来保存binder_proc进程内用于处理用户请求的线程,它的最大数量由max_threads来决定;node树成用来保存binder_proc进程内的Binder实体;refs_by_desc树和refs_by_node树用来保存binder_proc进程内的Binder引用,即
2012-10-31 11:18:53 1248
转载 _IO, _IOR, _IOW, _IOWR 宏的用法与解析
在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令。bit29~bit16 14位为 "数据大小" 区,表示 ioctl() 中的 arg 变量传送的内存大
2012-10-31 10:32:31 681
原创 android抓网络包tcpdump
由于走cable网络,没法通过hub在电脑上抓盒子的网络包,所以使用tcpdump使用方法:tcpdump下载:http://download.csdn.net/detail/new_abc/4705180这样可以在windows下使用抓包工具分析抓到的网络包了
2012-10-31 09:41:14 974
转载 有关进程的地址空间
32位机器,每个程序有4G的虚拟地址空间。大致分为4块,从低地址到高地址依次是:NULL区,用户区,隔离区,核心区。用户私有的数据都在用户区(当然这个区里又可以细分,其中也包括一部分可以共享的内容),系统内核等东西都在核心区。总体来说,A进程的虚拟地址空间中的内容和B进程相比,只有各自的用户区不一致。通常用户区中,进程又会将exe文件(由头数据和段数据组成)中定义的代码段、堆栈段、数据段等各个段映
2012-10-30 09:44:48 1191
原创 Android Aidl简单实例
AIDL的作用 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。 通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。
2012-10-24 15:08:49 9170
原创 Binder使用示例
BInder方面的资料虽然感觉看的比较多,但是真正用的时候才发现有很多地方模棱两棵的,所以,打算用一个实例再来巩固一下binder的使用方法首先看下目录结构:leaves@leaves-desktop:~/android/android2/android/frameworks/tv_print/services$ ls T*TestBinderClient:Android.mk
2012-10-22 14:02:28 10022 7
转载 Android NDK开发指南---Application.mk文件
简介:-----------------------------要将C\C++代码编译为SO文件,光有Android.mk文件还不行,还需要一个Application.mk文件。本文档是描述你的Android应用程序中需要的本地模块的Application.mk的语法使用,要明白如下。Application.mk目的是描述在你的应用程序中所需要的模块(即静态库或动态库)。
2012-10-18 16:49:18 956
转载 NDK开发指南---NDK使用方法
Android NDK的使用方法:====================== NDK的用户提示和技巧集合 如何强制显示build命令------------------------ 执行"ndk-build V=1",实际生成的命令将会被显示。这可以用来验证你编译的东西,并且还会检查NDK的build system中的错误。 (V=1 来自Linux内
2012-10-18 16:42:37 875
转载 NDK 开发指南---Android NDK概览
介绍: Android SDK是一个允许Android应用开发人员使用C或C++源文件编译并嵌入到本机源代码中的应用程序包的一组工 具。重要说明: Android NDK只能用于android 1.5以上版本1. Android NDK的目的:Android虚拟机允许你的应用程序源代码通过JNI调用在本地实现的源代码,简单的说,这就意味着: ----你的
2012-10-18 16:41:38 901
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人