我在Android Studio(1.3.0)中创建了一个项目,该项目将包含几个模块,并且将用作其他项目的库

图书馆项目:

在我的库中,某些模块与其他模块具有某些依赖关系(项目内依赖项)。假设libmod1依赖于libmod2。在libmod1的build.gradle中,我有compile project(':libmod2')

应用项目:

从一个应用程序项目中,我想导入libmod1(项目间依赖项)。在build.gradle中,我添加compile project(':..:LibProject:libmod1')

问题:

当我构建应用程序项目时,我从gradle中收到一条错误消息:



Gradle无法解决项目内依赖项
我必须将libmod1的build.gradle更改为compile project(':..:LibProject:libmod2')才能消除此错误。意味着当我从另一个项目引用它们时,必须更改项目内的依赖项。

问题:

是否有办法告诉Gradle项目内依赖项是相对于库项目的,而不是相对于应用程序项目的? 这样,当我对库模块有项目间依赖关系时,可以解决项目内依赖关系?

当然,我也可以删除模块之间的项目内依赖关系。但是,有没有其他方法可以解决此问题呢?

android-studio - 将Android Studio项目用作库-LMLPHP

最佳答案

您必须在settings.gradle中添加依赖项。如果模块在同一文件夹中,则只需通过

include ':libmod1',':libmod2'

如果您的库位于其他文件夹(而不是任何子文件夹)中,则必须在settings.gradle中将它们连接:
project(':libmod1').projectDir = new File(settingsDir, '../path/to/libmod1')

另请参阅https://docs.gradle.org/current/userguide/multi_project_builds.html

10-07 19:24
查看更多