我有一个项目,包括多个gradle模块(插件com.
android.library)相互引用(树,而不是平面).我强烈地使用AIDL,因此我在另一个模块(modB)的AIDL接口中引用来自一个模块(modA)的AIDL接口.
MODA / src目录/主/ AIDL / MODA / foo.aidl:
package modA; interface foo { void modAcall(); }
商业方法/ src目录/主/ AIDL /商业方法/ bar.aidl:
package modB; import modA.foo; interface bar { foo modBcall(); }
商业方法/的build.gradle:
dependencies { compile project(':modA') }
我可以在modB中的AIDL文件中引用modA的parcelables,我可以在modB中的java代码中引用modA的接口,但不能在modB中的AIDL中引用.而是由aidl工具显示错误消息无法找到类的导入.
我注意到.aar文件也不包含库的aidl接口的信息,只列出了parcelables.我想这与上述问题的原因相同.
由于我已经将aidl文件放在一个地方,我不想将它们复制到另一个子项目,因为在这种情况下必须手动复制更改.我也不喜欢使用符号链接的想法,因为修改modB的src目录以包含来自modA的东西是错误的.
>有没有办法在aar中包含aidl接口,以便其他模块可以使用它?
>是否可以在Gradle中扩展aidl include路径以使用依赖模块的aidl文件(对于子项目,它应该是可能的,因为aidl文件存在于文件系统上)而不再“再编译”它们(类文件)生成的java接口/类已包含在aar / module导入中)?