2016-09-16 232 views
1

我有一個項目,其中包含多個模塊,並且每個模塊都有一個與所有模塊相同的簽名配置。我想將那個singingConfig移動到位於項目根目錄的全局gradle中,以擺脫該配置的冗餘。項目級或全局build.gradle中的通用gradle配置

與androidTestCompile相同的問題,如果將其移至全局build.gradle,則會出現錯誤。有沒有人有關於如何將其移至全球gradle的經驗?

順便說一下,我總是在每個模塊中籤名我的應用程序,一個是單元和儀器測試,因爲測試只會覆蓋特定模塊和其他模塊。

謝謝。

回答

0

您可以使用「應用」命令,在搖籃工具,如下圖所示:

apply from: "${rootDir}/config/common.gradle" 

在common.gradle文件,你可能會寫常用的設置,像

android{ 

    Properties configs = new Properties() 
    .... 

    defaultConfig { 
     ... 
    } 

    buildTypes { 
     sourceSets { 
      main { 
       aidl.srcDirs = ['src/main/java'] 
      } 
     } 
    } 

    packagingOptions { 
      ... 
    } 
} 

那麼你可能有一個簡潔的build.gradle。

文件結構看上去象下面這樣:

rootDir 
| 
|-- config 
|  | -- common.gradle 
|  | -- util.gradle 
| 
|-- moduleA 
|  | -- build.gradle 
|  | -- src 
| 
|-- moduleB 
|  | -- build.gradle 
|  | -- src 
... 
| 
|-- settings.gradle 
|-- build.gradle 
+0

感謝@Zephyr。我嘗試了 適用於我的模塊的gradle上的「$ {rootDir} /common.gradle」 。 並拋出一個錯誤,無法讀取腳本 但它適用於兩個 適用於:''+ rootDir +'/common.gradle'和適用於:'../common.gradle' – bhadz

+0

我的不好。它只需要雙引號而不是單引號。它是固定的。謝謝@Zephyr – bhadz

+1

rootDir是一個Gradle屬性,所以$ {rootDir}在.gradle文件中應該沒問題,我猜這個問題在文件結構中。 – Zephyr

相關問題