Android 循环 gradle 依赖

Android cyclic gradle dependencies

我正在尝试为项目 A 生成一个发布 APK。它依赖于 2 个导入的库 B 和 C,它们也是我的。 B 也依赖于 C。 这就造成了 A 编译 C,B 也编译 c 的情况。 这是错误:

java.io.IOException: The same input jar [/Users/Jon/android-app-manager/app/libs/**] is specified twice.

如何让gradle知道依赖已经被编译了?

你的描述没有循环依赖:

项目 A --> LibB --> LibC

Gradle 可以管理 transitive dependencies。您所要做的就是:

  • 在 LibB 中声明对 LibC 的编译依赖(您已经这样做了)
  • 在 ProjectA 中声明对 LibB 的编译依赖(您已经这样做了)
  • 在 ProjectA 中移除对 LibC 依赖的显式声明(gradle 将自动找到此传递依赖)