在android studio中创建aidl,直接在module上单击右键,选择新建AIDL,则会module的目录下自动创建AIDL文件夹和aidl文件,再rebuild一下就能看见生成的java文件了。
今天介绍一种在两个模块间共享AIDL的方法,为什么两个模块间要共享AIDL呢,因为有可能一个模块A定义了一个service,模块A使用这个service,同时模块A会给service一个callback stub来进行双向跨进程通信
这时可以将所有aidl提出到一个单独的模块,这个模块是一个library模块,但是aar里默认不包含aidl文件,所以要在build.gradle里配置一下
android {
aidlPackageWhiteList "foo/service.aidl","foo/callback.aidl"
}
模块A和模块B在编译依赖aidl模块