由于项目中存在多个module,且依赖较多、以及接口设计的不合理,导致编译出错:
org.gradle.api.CircularReferenceException: Circular dependency between the following tasks
经过查阅资料发现,当module之间出现了循环引用则会导致如下问题:
经过排查
Module1中build.gradle中如下
dependencies{
api project(':Module2')
}
Module2中build.gradle中如下
dependencies{
api project(‘:Module1')
}
分析步骤:
- 排查module的dependencies是否存在project的相互引用
- 考虑module之间的关系,比如公共interface可以放入BaseModule中
解决方式:
BaseModule.gradle
dependencies{
XXXXX
}
Module1中build.gradle
dependencies{
api project(':BaseModule')
}
Module2中build.gradle
dependencies{
api project(‘:Module1')
}
有任何问题,欢迎指出.