为什么 Gradle 需要 settings.gradle 文件?
我将把我的Android项目从Ant转换为Gradle。
我的 Eclipse 工作空间非常简单:
Workspace
MyApp
MyApp-AndroidLibrary
当我在 MyApp 中添加 build.gradle 文件时,我想引用我的 Android 库项目:
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':MyApp-AndroidLibrary')
}
当我运行gradle构建时,有一个错误“在根项目中找不到路径为':MyApp-AndroidLibrary'的项目”,我为此进行了谷歌搜索,发现我需要在我的工作区目录中设置一个“settings.gradle”文件,以添加
include ":MyApp"
include ":MyApp-AndroidLibrary"
这对我来说看起来太糟糕了,为什么Gradle需要一个setset.gradle文件,为什么不直接提取我在依赖项中定义的项目呢?
这到底意味着什么?如果我在工作区中有anotoher应用程序和其他一些共享库,则结构可能如下所示:include
Workspace
App1
App2
Library1(Used by App1 & App2)
Library2(Used only by App1)
Library3(Used only by App2)
因为只有一个 settings.gradle 文件,所以我不得不将它们全部添加到 settings.gradle 中。这闻起来并不好闻。
是的,我可以重新组织结构,使库 2 成为 App1 的子目录,将库 3 作为 App2 的子目录,但是库 1 呢?
对此有何评论?