2015-03-11 8 views
5

मुझे समस्या है, जब भी मैं नए स्वाद जोड़ रहा हूं, इसे बनाने में अधिक से अधिक समय लगता है। मैं इसे इस तरह जोड़ें:बिल्डिंग कई उत्पाद स्वाद बहुत धीमी है

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'] 
     } 
    } 
    ... 
    ... 
} 

जब मैं अन्य सभी जायके टिप्पणी और केवल एक ही uncommented है और निर्माण, इसके बारे में 10 सेकंड लेता है। लेकिन जब मैं सभी (लगभग 180 स्वाद) बनाता हूं, इसमें लगभग 5 मिनट लगते हैं।

+0

नवीनतम प्रयोगात्मक ग्राडल प्लगइन अपडेट किया गया और खराब प्रदर्शन बनी हुई है। मेरे मामले में, लगभग 300 उत्पाद स्वादों (डीबग + रिलीज) को गतिशील रूप से उत्पन्न करने से मैकबुक प्रो 2015 पर इंटेल कोर i5 2.7GHz और 8GB रैम के साथ 3 से 4.5 मिनट लगते हैं। – Farley

उत्तर

3

आप कोशिश करते हैं और अन्य उत्पाद स्वाद आप उपयोग नहीं कर रहे अनदेखा कर सकते हैं, हम निम्नलिखित के रूप में यह आपने क्या किया:

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); 
      } 
     } 
    } 
} 

में जोड़े और फिर लाइन के साथ एक फ़ाइल dev.props जोड़ने DEV_FLAVOR=aflavorname

इस तरह जब आप सिंक करते हैं, तो धीरे-धीरे कार्य करेगा जैसे कि केवल एक स्वाद है, और आपको कुछ भी टिप्पणी करने की आवश्यकता नहीं है।

आप dev.props से .gitignore भी जोड़ सकते हैं।

+0

मैं ओपी के रूप में एक ही मुद्दे में भाग गया। यह मेरे लिए बहुत अच्छा काम किया। धन्यवाद! – dpalmer

+0

'aflavorname' मुझे हर बार जब मैं अपना स्वाद बदलता हूं, तो क्या इसे बदलना चाहिए, या क्या हम इसे स्वाद के अनुसार गतिशील बना सकते हैं? –

+0

ठीक है ... एक बार जब आप 'aflavorname' जोड़ते हैं तो आप स्वाद नहीं बदल सकते हैं ... तो मुझे लगता है कि जब भी आप स्वाद बदलना चाहते हैं तो आपको इसे बदलना होगा और आप इसे गतिशील नहीं कर सकते – MTZ4

संबंधित मुद्दे