项目里除了主app module,还引入了另外的两个moduleA和B。
引用情形:
app直接引用A,A引用B。
出错情形:
找不到B中的一个类。
解决方法:
查看A的build.gradle文件,发现对于B的引用用的是implemention:
implementation project(':B')
改成api:
api project(':B')
问题解决。
原因我在网上找到了这个文章:https://www.jianshu.com/p/b29c9e677b59。
简单来说就是:使用api可以暴露B中的接口给别的module比如app,使用implementation就只能给A自己调用。
本文描述了一个项目中遇到的模块引用问题,主appmodule通过另一个moduleA间接引用moduleB,但在使用过程中发现无法找到moduleB中的某个类。通过调整A模块的build.gradle文件中对B模块的引用方式,从implementation改为api,成功解决了问题。这是因为api可以将B模块的接口暴露给其他模块如app使用,而implementation则仅限于A模块内部调用。
713

被折叠的 条评论
为什么被折叠?



