Android IPC 和 service_manager
Posted
技术标签:
【中文标题】Android IPC 和 service_manager【英文标题】:Android IPC and service_manager 【发布时间】:2013-12-25 06:59:44 【问题描述】:所有的android IPC 都通过service_manager 吗? 应用程序如何与服务和意图交互?
是否所有消息都通过 service_manager 作为代理传递? 还是应用程序可以直接“对话”?
【问题讨论】:
嗨,我喜欢这个问题,我还有一些其他问题。我不想创建一个新问题,而是想在这里添加我的问题。 1.我认为所有服务都需要注册到服务管理器,然后客户端可以向它请求引用。因此,我假设在我启动服务时可以在 adb shell 服务列表中找到该服务。它是否正确 ?只有列表中的那些能够做 IPC 的事情。 【参考方案1】:一旦建立连接,应用程序就会直接对话(嗯,实际上是通过内核)。
【讨论】:
@omri-c service_manager 是什么意思?有一些机制可以在进程之间交换绑定器引用。一旦你拥有其中一个,你就可以绑定到另一个进程。您可能需要查看Binder
和 IBinder
文档。
有service_manager.c,也有ServiceManager.cpp,它们有什么区别?它们是如何连接的?
其实最后到了内核层的binder驱动,通过共享内存的方式做IPC。以上是关于Android IPC 和 service_manager的主要内容,如果未能解决你的问题,请参考以下文章
Android 进阶——Binder IPC详解之学习Binder IPC前应该掌握的相关常识