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