最近在公司有听到同事做的一个需求。就是一个非系统应用(不使用系统签名),通过额外的方法,将自身一个AIDL service的binder句柄通过ServiceManager.addService接…
Native(C、C++)跨层访问Java注册的service
上一篇我们介绍了在Java层如何跨层访问在Native(C、C++)层注册的Binder service。这一篇我们打算反过来,在Native(C、C++)层跨层访问Java层注册的Binder …
Java跨层访问native(C/C++)注册的service
进行Binder开发时,比较多是在同语言下进行的,比如在JAVA下可以手动实现或者通过AIDL实现,在C++下手动实现。但是Binder也是可以夸语言通信的,这里打算分两篇来进行说明,其中一篇是在…
(原创)在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驱动是一个虚拟的设备驱动,没有和任何的实…