Chapter5:使用Gradle管理多模組構建

Abfahrt發表於2019-10-29

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

相關文章