Skip to content
阅读进度

如果要新增一个系统服务 应该怎样设计和接入? ​

返回 Framework 与系统服务 目录

标准回答 ​

我会先明确服务职责和权限边界,设计 Binder 接口、客户端 Manager 和错误返回,再决定服务由 system_server 还是独立进程承载。若采用 Java SystemService,会在适当启动阶段注册,通过 publishBinderService 提供跨进程接口,必要时通过 LocalServices 提供进程内接口。耗时工作放在受控工作线程,接口要考虑调用者 UID、用户空间、死亡恢复和并发访问。最后补充 dumpsys 状态、日志、接口兼容和服务端测试,验证未解锁、用户切换、服务重启等边界场景。

延伸追问 ​

LocalServices 是 system_server 内的对象访问机制,不是另一种跨进程通信;跨 system/vendor 等稳定边界需要另外考虑 Stable AIDL 和版本兼容。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。