2015-03-25 27 views
3

目前,我有兩種口味在我的gradle內部:googleplayamazon單一味道修改任務(afterEvaluate)Gradle

我使用的gradle multidex解決方案,亞馬遜需要以下任務添加到構建的gradle爲了節省方法和應用其DRM:

android{ 
    .... 
} 


afterEvaluate { 
    tasks.matching { 
     it.name.startsWith('dex') 
    }.each { dx -> 
     if (dx.additionalParameters == null) { 
      dx.additionalParameters = [] 
     } 
     dx.additionalParameters += "--set-max-idx-number=55000" 

    } 
} 

我怎樣才能讓這些代碼僅適用於亞馬遜的味道?

感謝

回答

0

望着端子輸出我發現,通常標準的Android任務名稱由三個部分組合:
task prefix + flavor name + build type
例如:dexGoogleDebuginstallGoogleDebugassembleAmazonRelease

如此明顯的解決方案將b e只要將it.name.startsWith('dex')更改爲

def name = it.name.toLowerCase() 
    name.startsWith('dex') && name.contains('amazon')