从AIDL开始看Binder
aidl通信的本质是对binder的封装
aidl的使用:
- 在server端项目新建.aidl文件。在.aidl中定义方法
- 同步项目,在build/generated目录里会自动生成Java接口文件。这个文件是Android SDK 工具生成的,文件内容就是对binder的封装。
- 在server端创建、注册service,在onbind方法暴露binder句柄给client调用
- 拷贝aidl整个目录到client项目,同步项目
- 通过bindservice获取server端的binder句柄,再转换成java接(实际上是Proxy代理),即可在client端调用server端的方法
- 注意targetSdkVersion在30及以上,需要在client端项目manifest文件,使用queries标签注册server的包名