2014-10-24 8 views
7

में एकाधिक build.gradle फ़ाइलें मैं केवल ग्रैडल और एंड्रॉइड स्टूडियो में उपयोग कर रहा हूं। मैंने देखा है कि एंड्रॉइड स्टूडियो परियोजनाओं में एकाधिक build.gradle फ़ाइलें हो सकती हैं। प्रोजेक्ट के रूट फ़ोल्डर में एक स्थित है और प्रोजेक्ट के ऐप फ़ोल्डर में स्थित दूसरा स्थान है। क्या कोई यह समझा सकता है कि इन दोनों के उद्देश्य क्या हैं? जब मैं एएस में निर्माण करता हूं, तो दोनों का उपयोग किया जाता है या उनमें से केवल एक (और यदि उनमें से केवल एक, कौन सा)?एंड्रॉइड स्टूडियो

+1

अच्छा सवाल, विशेष रूप से दस्तावेज केवल एक का उल्लेख करता है (और लगता है कि निर्देशिका उलझन में है)। देखें: https://developer.android.com/tools/building/configuring-gradle.html –

उत्तर

2

यदि आपके प्रोजेक्ट में कई मॉड्यूल हैं, तो आप सभी मॉड्यूल में कॉन्फ़िगरेशन को सामान्य रखने के लिए रूट (प्रोजेक्ट-लेवल) build.gradle फ़ाइल का उपयोग कर सकते हैं। जैसे आप वहां सामान्य निर्भरता डाल सकते हैं।

एंड्रॉइड स्टूडियो के लिए डिफ़ॉल्ट शीर्ष-स्तरीय build.gradle में शीर्ष-स्तर build.gradle में "allprojects" ब्लॉक है जो प्रत्येक मॉड्यूल में "jcenter" भंडार जोड़ता है।

+0

अतिरिक्त जानकारी के लिए, [ग्रैडल उपयोगकर्ता मार्गदर्शिका] में "बहु-परियोजना निर्माण" अध्याय देखें (http://gradle.org /docs/current/userguide/userguide_single.html)। –

+1

क्या कोई विशेष ऑर्डर है जिसमें इन बिल्ड फ़ाइलों को निष्पादित किया जाता है? – AndroidDev

+0

ग्रैडल की मेरी समझ यह है कि ये स्क्रिप्ट बिल्ड मॉडल को कॉन्फ़िगर करती हैं, उदा। वे निर्माण से पहले भागते हैं और ऑब्जेक्ट्स पर विशेषताओं को सेट करते हैं और फिर उस कॉन्फ़िगरेशन के आधार पर ग्राडल बिल्ड बनाता है। आदेश को बेहतर ढंग से समझने के लिए आप अपनी स्क्रिप्ट में "println" कथन जोड़ने के साथ खेल सकते हैं। ध्यान दें कि कैसे कुछ कोड (उदाहरण के लिए शीर्ष-स्तर build.gradle से "allprojects" ब्लॉक) कई बार निष्पादित होते हैं। – Eugene

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