用于AIDL的模型基本如下
这里BackupManager的一个例子可以看到下面的关系
1 opt/net/wifi/service/java/com/android/server/wifi/BackupManagerProxy.java 2 base/services/backup/java/com/android/server/backup/BackupManagerService.java 3 base/core/java/android/app/backup/BackupManager.java 4 base/core/java/android/app/backup/IBackupManager.aidl
根据路径可以知道,SDK里给app调用的位于base/core/java/android/app里边,这里是BackupManager的Client和aidl文件
在base/services/backup/java/com/andorid/server里边则是这个service的Servcer端
而在opt/net/wifi/service/java/com/android/server/wifi/下的BackupManagerProxy则是WIFI这单个应用为了使用BackupManager而对其做的一层封装,只为单个app方便使用这个而存在,可以在其中获取相应的xxxManager,然后调用其方法,与binder通信无关,是为了方便编程而存在的。所以BackupManagerProxy和BackupManager都是在一个进程里,而BackupManagerServcie则是存在与SystemServer进程里
时间: 2024-11-13 09:35:42