一个xxxManager被打包成jar给APP使用,APP通过Context.getSystemServivce()来得到xxxManager,xxxManager对象在ContextImpl中被创建;
一个IxxxManager用来定义APP和service的接口,xxxManager将通过ServiceManager.getService()来得到IxxxManager;IxxxManager定义在AIDL中;
一个xxxManagerService是真正的功能实现的class,xxxManager通过IxxxManager与 xxxManagerService交互,xxxManagerService在system_service中实现。
具体的实现参考 PowerManager–> IPowerManage -> PowerManagerService的实现流程。
PS:感谢TM 王*华的指导