Chapter5:使用Gradle管理多模块构建

Chapter5:使用Gradle管理多模块构建

5.1 简述多模块构建

  • 通常,一个多模块项目有一个根目录,在其子文件夹中包含所有的模块。我们需要在项目的根目录提供一个setting.gradle 文件来告知Gradle项目的结构以及哪个文件夹包含哪些模块。同时,每个模块都可以提供自己的build.gradle文件。

    多模块项目结构图

  • 在settings.gradle中声明 include ':app',':library'确保app和library模块包含在构建配置中。如果想让app模块依赖library模块,需要在app模块的build.gradle中添加:

    dependencies {
        implementation project(':library')
    }
    
  • 如果想用子文件夹管理模块,需要做适当修改:

多模块项目结构图子文件夹

settings.gradle中声明: include ':app',':libraries:library1',':libraries:library2'

//app模块依赖library1
dependencies {
    implementation project(':libraries:library1')
}
  • 执行模块任务:(假设有个wear模块)

    • 1.切换到wear模块下,执行命令:../gradle assembleDebug
    • 2.在主目录下,执行命令:gradle :wear:assembleDebug

5.2 在Android Studio中运行模块任务

  • 可以直接在Android Studio的Gradle工具窗中直接运行task:

    Gradle工具窗

  • 加速多模块构建

    • 多内核计算机可以通过并行所有模块来使得构建过程更快。需要在gradle.properties文件中配置:

      org.gradle.parallel=true
      

      Gradle会基于可用的CPU内核,选择正确的线程数量,为防止同一模块同时执行两个任务的问题,每个线程只拥有一个完整的模块。

      注意:模块耦合(两个模块相互依赖)会使并行构建无效。

5.3 参考资料

  • Gradle For Android
发布了64 篇原创文章 · 获赞 65 · 访问量 8827

猜你喜欢

转载自blog.csdn.net/qq_33334951/article/details/102794350