我们接下来看一看Service组件的启动过程。
这部分涉及的源码文件主要有一下几个:
IServiceManager.h frameworks/native/include/binder/IServiceManager.h
IServiceManager.cpp frameworks/native/libs/binder/IServiceManager.cpp
我们首先分析一下Service组件的注册过程。注册Service组件是通过调用Service Manager的addService来实现的。
当Server进程调用defauleServiceManager函数的时候,返回的是Service Manager代理对象BpServiceManager. 因此我们就看一看BpServiceManager的成员函数addService函数的实现: