跨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"
...
}