跨module引用aidl的问题网上资料比较少,在此提供下解决方案。
问题描述
工程中有两个module,module A和module B,module A在build.gradle中通过compile project(:B)引用了module B。module B定义了com.luo.TestB.aidl,同时module A定义的TestA.aidl并且Test B.aidl,但是as编译失败,提示无法找到TestB.aidl。原因是gradle编译module B时默认不会将aidl文件打进aar中。
解决方法
在module B的build.gradle中添加aidlPackageWhiteList "com/luo/TestB.aidl",即如下所示
apply plugin: 'com.android.library'
dependencies {
...
}
android {
...
aidlPackageWhiteList "com/luo/TestB.aidl"
...
}