![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android / ServiceManager
Omni-Space
专注Android, Mobile Security and AI
展开
-
Android Binder设计与实现 - 实现篇(1)
本文属于原创作品,转载请注明出处并放于明显位置,原文地址:http://www.cnblogs.com/albert1017/p/3849585.html 前言 在学习Android的Binder机制时,看了http://blog.csdn.net/universus/article/details/6211589这篇文章(读本文前最好读一下),觉得写得非常棒,可惜只有设转载 2016-09-21 16:20:36 · 667 阅读 · 0 评论 -
Android Service 形式分类
除去熟悉的ams、pms、wms之外,系统中还具有各式各样形形色色的service,同样作为service,其启动形式上有很大差别(一)由SystemService和SystemServiceManager控制SystemService作为一个运行在SystemServer的基类,为用户需要实现的service提供了一套生命周期,就跟Activity类似的一套周期,需要用户over转载 2017-04-08 09:05:15 · 1055 阅读 · 0 评论 -
ActivityManagerService简要分析
1、相关类简述1.1、com.android.server.SystemServer本身由zygote进程运行,用来启动各种各样的系统服务(SystemService)1.2、com.android.server.SystemService运行在系统进程中的service,每个SystemService都是有生命周期的,所有的生命周期函数都是运行在SystemServer的转载 2017-04-08 09:02:08 · 904 阅读 · 0 评论 -
getSystemService() in Android
在之前研究了那么久的bindService()这个API,一直没搞清楚一个问题:为什么我看到的基本上都是和AMS相关的代码,而之前所学到说如果application要和service打交道都是需要通过ServiceManager获得某个service的binder才可以。那么AMS和ServiceManager到底是什么关系呢?如果AMS是通过ServiceManager获得的servic转载 2017-03-09 18:12:15 · 415 阅读 · 0 评论 -
Android Service演义
(本文以Android 5.1为准)1.概述在Android平台上,那种持续性工作一般都是由service来执行的。不少初学者总是搞不清service和线程、进程之间的关系,这当然会影响到他们开展具体的开发工作。其实,简单说起来,service和线程、进程是没什么关系的。我们知道,在Android平台上已经大幅度地弱化了进程的概念,取而代之的是一个个有意义的逻辑实体,比如a转载 2016-09-29 13:51:49 · 479 阅读 · 0 评论 -
红茶一杯话Binder(ServiceManager篇)
1.先说一个大概 Android平台的一个基本设计理念是构造一个相对平坦的功能集合,这些功能可能会身处于不同的进程中,然而却可以高效地整合到一起,实现不同的用户需求。这就必须打破过去各个孤立App所形成的天然藩篱。为此,Android提供了Binder机制。 在Android中,系统提供的服务被包装成一个个系统级service,这些service往往会在设备启动转载 2016-09-29 13:42:39 · 619 阅读 · 0 评论 -
Binder源码分析之Java层(原)
前面的几节中我们介绍了Native层Binder通讯的原理和用法,那么在Java层如何使用Binder通讯呢?其原理又与Native层的Binder有什么关系呢? 与Native层的ServiceManager类似,Android在Java层也有一个ServiceManager用于处理Java层Service的注册、申请。只不过,Java层的这个ServiceManager,其实转载 2016-09-27 07:35:43 · 520 阅读 · 0 评论 -
Binder源码分析之Native层(原)
前面两节中介绍了Binder机制中的ServiceManager和Binder驱动,在这一节中,我们来介绍Native中的Binder通讯。 为了更好的理解过程,我们挑选Native中的MediaServer进行分析。一、MediaServer加载过程 Android启动过程中会去执行init.rc脚本,在这个脚本中将会启动一些关键的系统转载 2016-09-27 07:34:13 · 499 阅读 · 0 评论 -
Binder源码分析之驱动层(原)
前言 在《Binder源码分析之ServiceManager》一文中我们介绍了利用Binder进行通讯的流程,即ServiceManager把自己注册为“管理员”之后,负责其他Service的add操作,或者其他Client的get操作。在这个过程中,有一些接口我们并没有深入分析,比如: 1、打开Binder[java] view plain转载 2016-09-27 07:32:50 · 624 阅读 · 0 评论 -
Binder源码分析之ServiceManager(原)
ServiceManager作为Native层Service的管理员,有着极其重要的作用,主要表现两个方面: 1、对于服务端来说,系统所有的服务提供者都需要向ServiceManager注册。 2、对于客户端来说,所有客户端如果想要获得某个系统服务的代理,必须向ServiceManager申请相应的服务端代理。 下面从源码分析ServiceMa转载 2016-09-27 07:31:36 · 442 阅读 · 0 评论 -
Framework中的AIDL(原)
在上一节(应用层的AIDL调用)中我们介绍了应用层中的AIDL用法, 这一节中,我们来看一下系统Framework层中更为普通的AIDL用法。 为了便于分析,我们挑选了ITelephonyRegistry这个SystemService进行分析。这个服务的主要作用就是对通话相关的事件进行监听,我们把重心放在AIDL的实现结构上,不去关注ITelephonyRegistry具体的实现转载 2016-09-27 07:28:22 · 595 阅读 · 0 评论 -
Android Binder机制(1501210451 张志康)
本文主要分析native层和Java层的Android binder通信机制。binder是Android最为常见的进程通信机制之一,其驱动和通信库是binder的核心,分别由C和C++编写,应用程序通过JNI同底层库进行关联,也就是native层驱动和通信库通过Java层包装后被Java层调用。源代码网址:http://androidxref.com/4.2_r1/参考博客:http转载 2016-09-27 07:25:12 · 559 阅读 · 0 评论 -
How to call a android/native service from a native/android (java) code
This blogs collects some stuff found online regarding:Native (c/c++) ---- call ----> android (java) serviceAndroid (java) ---- call ----> Native (c/c++) serviceHow to connect to a binder原创 2016-09-26 16:39:04 · 873 阅读 · 0 评论 -
Android 5.1 SystemServer SystemService 各个系统Manager
一、SystemServerZygote如何启动SystemServer就不分析了,主要分析下java层:先看下主函数[java] view plain copypublic static void main(String[] args) { new SystemServer().run(); } 下转载 2016-09-25 13:33:19 · 665 阅读 · 0 评论 -
Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
原文地址: http://blog.csdn.net/luoshengyang/article/details/6629298 在前面一篇文章浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路中,介绍了在Android系统中Binder进程间通信机制中的Server角色是如何获得Servi转载 2016-09-21 16:33:51 · 13987 阅读 · 0 评论 -
浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路
原文地址: http://blog.csdn.net/luoshengyang/article/details/6627260在前面一篇文章浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路中,介绍了Service Manager是如何成为Binder机制的守护进程的。既然作为守护进程,Service Manager的职责当然就是为Se转载 2016-09-21 16:30:17 · 657 阅读 · 0 评论 -
浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
原文地址: http://blog.csdn.net/luoshengyang/article/details/6621566 上一篇文章Android进程间通信(IPC)机制Binder简要介绍和学习计划简要介绍了Android系统进程间通信机制Binder的总体架构,它由Client、Server、Service Manager和驱动程序Binder四个组件构成。本转载 2016-09-21 16:27:39 · 1002 阅读 · 0 评论 -
Android进程间通信(IPC)机制Binder简要介绍和学习计划
在Android系统中,每一个应用程序都是由一些Activity和Service组成的,这些Activity和Service有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。 我们知道,Android系统是基于Linux内核的,而Linux内核继承和兼容了转载 2016-09-21 16:23:46 · 1104 阅读 · 0 评论 -
Android SystemServiceManager分析
1. SystemServiceManger启动分析过SystemServer的朋友应该都有记忆,SystemServiceManager就是在SystemServer中启动的,下面是SystemServiceManager的启动代码:[SystemServer.java]// Create the system service manager.mSystemServiceManager = ...转载 2018-04-25 13:08:55 · 2745 阅读 · 0 评论