2016-06-08 24 views
2

我現在有這已在一定的build.gradle依賴附加Android的工作室 - 依賴下,如果條件 - 標誌

dependencies { 
    compile project: 'com.name.libOne', name: 'libOne' 
    compile group: 'com.name.libTwo', name: 'libTwo' 
    //a few more dependencies 
    } 

現在我正在尋找一種方法,把一些依賴某種條件 所以在並不是每次構建應用程序時都會有這些依賴關係。

像這樣:

dependencies { 
    if (one) { 
     compile project: 'com.name.libOne', name: 'libOne' 
    } 
    compile group: 'com.name.libTwo', name: 'libTwo' 
    //a few more dependencies 
} 

反正有做到這一點?所以我可以將標誌發送到構建命令 gradlew.bat assembleDebug並且標誌將被這些條件讀取?

回答

0

您可以嘗試將特定的依賴關係移動到separete文件中,並有條件地應用它們。例如,讓我們假設,你創建一個libOneDependency.gradle文件在同一目錄作爲當前構建腳本,它包含:

dependencies { 
    compile project: 'com.name.libOne', name: 'libOne' 
} 

然後應用到你的主構建腳本,走出dependencies封閉的,如下

if (project.hasProperty('nameOfYourFlag')) 
{ 
    apply from: 'libOneDependency.gradle' 
} 

所以,現在你必須提供你的標誌,以構建爲-PnameOfYourFlag

+0

我在哪裏可以申請一個標誌,構建? – Mumfordwiz

+0

然後你運行你的構建:'gradlew.bat assembleDebug -PnameOfYourFlag' – Stanislav

+0

它的工作原理。現在唯一的問題是,我不想使用某些部件,我收到編譯錯誤。你能想到任何解決方案嗎? – Mumfordwiz

相關問題