2016-08-03 69 views
1

我們已經在我們的項目(dev,qa和其他)中創建了不同的構建變體,從而使默認變體不相關且令人困惑。如何消除Android gradle中的默認構建變體

是否有辦法完全刪除默認的構建變體,即debugrelease?他們已經在生成編譯器錯誤,因爲它們不再被支持,所以不會被修復。我希望他們完全被移除。

如果這是不可能的,我想使依賴於它們的大部分任務已經過時,好像他們從來沒有存在過,像assembleDebugcompileDebugSourcesinstallDebugtestDebugUnitTest

這是確定覆蓋一對夫婦任務並生成漂亮的錯誤消息,但是我恐怕最終會壓倒很多任務。

+0

你爲什麼不只是使用調試和發佈,而不是兩個自定義不同名稱的?看起來你已經比你想象的更復雜了。 – ianhanniballake

+0

他們被濫用了多年,因爲那些與他們的名字無關的東西讓人感到困惑。技術上的東西比修復人們的期望更容易。 – Fabio

回答

0

將這些放在build.gradle上會使大多數(如果不是所有的話)調試變體任務引用消失。

android.variantFilter { variant -> 
    if(variant.buildType.name.equals('debug')) { 
     variant.setIgnore(true); 
    } 
} 

有趣的是,雖然如果你有另一個基於調試的變體,它仍然可以工作。例如,你仍然可以運行QA變異,如果您有它這樣定義的:

buildTypes { 
    qa { 
     initWith debug 
     . . . 
相關問題