2015-03-11 14 views
5

Sorunum var, hala yeni lezzetler eklediğimde daha fazla zaman alıyor. Böyle ekleyin: Bütün diğer tatlar yorum ve sadece bir uncommented ve oluştururkenBirçok ürün çeşidi oluşturmak çok yavaş

productFlavors { 
    okapps { 
     applicationId = 'cz.anywhere.okapps' 
     signingConfig = AdamSigningVariable 
     versionCode = 41 
     versionName = "3.0.1" 

     android.sourceSets { 
     okapps.res.srcDirs = ['src/adam_okapps_resources/res', 'src/okapps/res'] 
     } 
    } 
    ... 
    ... 
} 

, yaklaşık 10 saniye sürer. Ama herşeyi yaptığım zaman (yaklaşık 180 tat), neredeyse 5 dakika sürüyor.

+0

En son deneysel Gradle eklentisi güncellendi ve zayıf performans kaldı. Benim durumumda, yaklaşık 300 ürün çeşidini (debug + release) dinamik olarak üreten MacBook Pro 2015, Intel Core i5 2.7GHz ve 8GB RAM ile 3 ila 4,5 dakika sürüyor. – Farley

cevap

3

Sen şu şekilde yaptım deneyin ve kullanmadığınız diğer ürün lezzet göz ardı edebilirsiniz:

build.gradle

android { 
productFlavors{ 
. 
. 
. 
} 

if (project.rootProject.file('dev.props').exists()){ 
    android.variantFilter { variant -> 
     def devProps = new Properties(); 
     devProps.load(project.rootProject.file('dev.props').newDataInputStream()) 

     def currentDevFlavor = devProps.DEV_FLAVOR; 
     def flavorName = variant.getFlavors().get(0).name; 

     if(currentDevFlavor && !flavorName.equals(currentDevFlavor)) { 
      variant.setIgnore(true); 
      } 
     } 
    } 
} 

ekle Sonra çizgi ile bir dosyayı dev.props eklemek DEV_FLAVOR=aflavorname

Bu şekilde, senkronizasyon yapıldığında, sadece tek bir lezzet olduğu gibi hareket eder ve herhangi bir şey yorumlamaya gerek yoktur.

Ayrıca dev.props, .gitignore'a ekleyebilirsiniz.

+0

OP ile aynı sorunları yaşadım. Bu benim için harika oldu. Teşekkürler! – dpalmer

+0

'aflavorname', aromalarımı değiştirdiğimde her zaman değiştirmek zorunda mıyım yoksa seçilen lezzete göre dinamik yapabilir miyiz? –

+0

Şey ... aflavorname'yi ekledikten sonra tadı değiştiremezsin ... bu yüzden tadı değiştirmek istediğin her zaman onu değiştirmek zorundayım ve bunu dinamik yapamazsın – MTZ4