源码准备 要想使用AOSP的源码,为Google Pixel编译镜像,第一步当然是下载AOSP的源码啦(当然开发环境得先搭建好,具体搭建请自行百度),问题是AOSP网站我们是上不去的,就更不用说下…
(原创)在Java层使用Binder创建服务
在Java层添加服务,相对于native层要简单一些,这还是得多谢AIDL啊,下面直接开始在Android Framework中添加一个Binder service 1. 添加一个aidl文件 在…
(原创)在Native层使用Binder创建服务
要编写Native层的binder服务,其实大家可以参考Android系统中带有的服务进行编写,这里主要讲流程,原理性的东西大家可以参考博主之前的文章。另外我们这里编写的服务程序只是简单的提供加减…
(原创)IPCThreadState和ProcessState
Android中的ProcessState是客户端和服务端的公共部分,作为Binder通信的基础,ProcessState是一个singleton类,每个进程只有一个对象,每个对象负责打开Bind…
(原创)BpBinder、BBinder和IInterface的关系
本来想一篇文章就把BpBinder、BBinder、IBinder和IInterface的关系弄清楚的,但是感觉脱离Binder实际的使用流程来看这几个类,总觉得抓不到重点,所以感觉也还是和前面的…
(原创)Android中的Service和Binder关系
因为C/C++层binder服务的使用过程和Java层的服务使用过程有所不同,所以这里分C/C++和Java两个层次看一下。 C/C++层 经过前面的文章,对一些Binde…
(原创)servicemanager分析
servicemanager是binder部分的关键组件之一,binder client要想获取service提供的服务,可以根据service的名字向servicemanager发出获取service的请求。而bind…
(原创)Linux中的Binder驱动
前言 Binder驱动是Android专用的,但是其在Linux底层中的框架和Linux驱动是一样的。Binder驱动是以Misc设备进行注册,binder驱动是一个虚拟的设备驱动,没有和任何的实…
(原创)Android SystemServiceManager分析
1. SystemServiceManger启动 分析过SystemServer的朋友应该都有记忆,SystemServiceManager就是在SystemServer中启动的,下面是SystemServiceMana…
(原创)Android SystemServer分析
一.Zygote到SystemServer SystemServer是由Zygote fork生成的,进程名为system_server,这个进程包含里framework中的核心服务,在Zygot…