[英]Exclude module on build Android Studio
我有一個包含3個模塊的Android Studio項目。 A,B,C。A依賴於C,B依賴於C。我試圖加快構建速度,並且我意識到,每次執行assembleRelease / assembeDebug任務時,它都會構建所有模塊。 每次構建模塊A時,都只應構建A和C,因為B在該任務中沒有依賴性,對嗎? 每次構建模塊A時,如何避免構建模塊B?
模塊A的依賴項:
dependencies {
compile project(path: ':c', configuration: 'release')
provided files('libs/some-lib.jar')
}
模塊B的依賴項:
dependencies {
compile project(path: ':c', configuration: 'debug')
}
模塊C的依賴關系:
dependencies {
compile files('libs/other-lib.jar')
}
我已在評論中明確指出,我認為hacking settings.gradle
以刪除模塊是一個壞主意。
因此,如果您無法在打開兩個或多個項目的情況下運行Android Studio,或者不想在命令行上調用Gradle,或者只是想禁用某些模塊,因為它們對您不感興趣,那么實際上是支持此操作的方法。 (至少在最新的Android Studio版本(如3.2.x)中。)
由於這只會更改您的本地項目,並且絕不會偶然提交,因此這是安全地減少模塊開銷的安全方法。 我認為它甚至可以為您同步,因此您無需手動強制同步。
Android Studio中存在一個錯誤 ,如果您使用Gradle項目對話框運行任務,這些任務將在根上下文中運行。 也就是說,如果仔細查看,即使子模塊任務也像在根級別上運行同一任務一樣運行。
解決方案:
只需在根settings.gradle
文件中刪除相關模塊(在本例中為B)的include
語句,即可阻止Android Studio構建B,因為它將從整個Gradle項目中將其排除。 該模塊將保持不變,但是,如果您打算修改其中的任何代碼,則必須重新添加include
語句。 另請注意,修改settings.gradle
文件將要求Gradle Sync for Android Studio正常運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.