2016-06-30 9 views
7

मेरे पास ग्रेडल आधिकारिक वेबसाइट और एंड्रॉइड डेवलपर आधिकारिक वेबसाइट है, लेकिन इसका उत्तर नहीं मिला।एंड्रॉइड ग्रैडल build.gradle में इसमें "यह" क्या है .buildConfigField?

  1. एंड्रॉइड build.gradle में, "यह" क्या है। नीचे buildConfigField विधि में? क्या यह किसी ऑब्जेक्ट का उदाहरण है?

मैंने पाया कि buildConfigField विधि को डिफ़ॉल्ट रूप से ले जा रहा है कॉन्फिग मुझे "इसे" के बिना विधि का उपयोग करने देता है।

  1. दोनों के बीच क्या अंतर है? मैं दूसरे पर एक विधि का उपयोग क्यों कर सकता हूं?

    android { 
        ... 
    
        defaultConfig { 
        ... 
    
         buildConfigField 'String', 'API_KEY', MyApiKey 
        } 
        buildTypes { 
         release { 
          ... 
         } 
        } 
        buildTypes.all { 
         ... 
        } 
        buildTypes.each { 
         ... 
    
         it.buildConfigField 'String', 'API_KEY', MyApiKey 
        } 
    } 
    

उत्तर

5

Gradle निर्माण स्क्रिप्ट ग्रूवी लिपियों बढ़ा रहे हैं। जब आप ग्रोवी स्क्रिप्ट या ग्रैडल बिल्ड स्क्रिप्ट में "इसे" देखते हैं, तो यह उस ऑब्जेक्ट का प्रतिनिधित्व करता है जिसे बंद करने में पारित किया गया था। आपके उदाहरण में, बंद करना "{...}" है जो "प्रत्येक" को पारित किया गया था। इसलिए, यह "buildTypes" संग्रह (या कुछ ऐसा करने योग्य है) के माध्यम से पुनरावृत्त करता है, प्रत्येक प्रविष्टि को बंद करने के लिए पास करता है, और आपने पारित वस्तु को "इसे" के रूप में संदर्भित किया है। आप बंद करने के लिए पारित वस्तु का नाम बदल सकते हैं, लेकिन यह डिफ़ॉल्ट रूप से "यह" है।

+0

आपके उत्तर से, मुझे एहसास हुआ कि मुझे विस्तृत स्पष्टीकरण के लिए ग्रोवी दस्तावेज़ीकरण का शोध करना चाहिए। – ethan

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