Google 的 Gradle Plugin 推荐的配置你的 gradle 文件以构建多个项目的方法有一些缺点如果你有多个项目依赖于一个库项目,这篇文章简要解释了 Google 的推荐配置,它的缺点,并推荐了一种不同的方式来配置你的 gradle 文件支持 Android Studio 中的多项目设置:
android studio 的另一种多项目设置
一种不同的方式:
事实证明,在 Android Studio 中管理多个项目有更好的方法。诀窍是为您的库创建单独的 Android Studio 项目,并告诉 gradle 您的应用所依赖的库的模块位于库的项目目录中。如果您想将此方法与我上面描述的项目结构一起使用,您可以执行以下操作:
- 为 StickyListHeaders 库创建一个 Android Studio 项目
- 为 App2 创建一个 Android Studio 项目
- 为 App1 创建一个 Android Studio 项目
- 配置 App1 和 App2 以在 StickyListHeaders 项目中构建模块。
第 4 步是困难的部分,所以这是我将详细描述的唯一一步。您可以通过在 settings.gradle 文件中添加项目语句并在该项目语句返回的 ProjectDescriptor 对象上设置 projectDir 属性来引用项目目录外部的模块:
必须输入的代码settings.gradle
:
include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')
如果您正确地完成了此操作,您会注意到项目引用的模块将显示在项目导航器中,即使这些模块位于项目目录之外:
这使您可以同时处理库代码和应用程序代码。当您以这种方式在外部引用模块时,版本控制集成也可以正常工作。您可以提交和推送您的修改到库代码,就像您可以提交和推送修改到您的应用程序代码一样。
这种设置多个项目的方式避免了困扰谷歌推荐配置的困难。因为我们引用了项目目录之外的模块,所以我们不必为依赖它的每个应用程序制作库模块的额外副本,并且我们可以对库进行版本控制,而无需任何类型的 git submodule 废话。
不幸的是,这种设置多个项目的其他方式很难找到。显然,您不会通过查看 Google 的指南来了解它,并且此时,无法使用 Android Studio 的 UI 以这种方式配置您的项目。