前面几篇内容都介绍了 C++ 中新增服务的调用流程,这里我们看一个 Android 源码中的实例进一步熟悉 C++ 服务的添加流程,这里以 MediaPlayerService 为例。
一、添加服务调用
1、main_mediaserver.cpp
源码位置:/frameworks/av/media/mediaserver/main_mediaserver.cpp
int main(int argc __unused, char **argv __unused)
{signal(SIGPIPE, SIG_IGN);sp<ProcessState> proc(ProcessState::self());sp<IServiceManager> sm(defaultServiceManager());ALOGI("ServiceManager: %p", sm.get());MediaPlayerService::instantiate();ResourceManagerService::instantiate();registerExtensions();::android::hardware::configureRpcThreadpool(16, false);ProcessState::self()->startThreadPool();IPCThreadState::self()->joinThreadPool();::android::hardware::joinRpcThreadpool();
}
关于添加 MediaPlayerService 服务添加的相关操作:
- Media