Android gradle: buildtoolsVersion बनाम compileSdkVersion


153

Android प्रोजेक्ट के लिए build.gradle में buildtoolsVersionबनाम के बीच क्या अंतर है compileSdkVersion?

संपादित करें: विशेष रूप से, मैं स्पष्ट करना चाहूंगा कि बिल्ड टूल क्या है?


2
क्या यह वही है जो आप ढूंढ रहे हैं: developer.android.com/tools/revisions/build-tools.html
रीड

जवाबों:


199

compileSdkVersion एंड्रॉइड का एपीआई संस्करण है जिसके खिलाफ आप संकलन करते हैं।

buildToolsVersionसंकलक का संस्करण (aapt, dx, renderscript संकलक, आदि ...) जिसे आप उपयोग करना चाहते हैं। प्रत्येक एपीआई स्तर (18 से शुरू) के लिए, एक मिलान .0.0 संस्करण है।

IO 2014 में, हम इसके साथ जाने के लिए एपीआई 20 और बिल्ड-टूल्स 20.0.0 जारी करते हैं।

एंड्रॉइड रिलीज़ के बीच हम संकलक के अपडेट जारी करेंगे, और इसलिए हम संस्करण .0.1, .0.2, आदि जारी करेंगे ... क्योंकि हम चुपचाप इन संस्करणों को आपके तहत अपडेट नहीं करना चाहते हैं, यह आप पर निर्भर है नया संस्करण जब यह आपके लिए सुविधाजनक हो।

आप अपने compileSdkVersion की तुलना में बिल्ड-टूल्स के एक उच्च संस्करण का उपयोग कर सकते हैं, ताकि आप अपने ऐप का निर्माण करने वाले नए / बेहतर कंपाइलर को न बदल सकें।


10
क्या यह एक कम compileSdkVersion पर एक उच्च buildToolsVersion का उपयोग करना संभव है, 18.0.0 compileSdkVersion पर 20.0.0 buildToolsVersion कहते हैं?
ग्लाइड

5
@ ग्लाइड करें, निर्माण उपकरण पुराने संस्करणों का समर्थन करेंगे।
जेवियर डुक्रोटे

1
@XavierDucrohet मुझे buildToolsVersion को निर्दिष्ट करना होगा? मुझे याद है कि मैंने कहीं पढ़ा है कि नवीनतम बिल्ड टूल संस्करण स्वचालित रूप से चुना जाता है। मैंने buildToolsVersion को हटाने की कोशिश की, लेकिन एंड्रॉइड स्टूडियो इससे खुश नहीं है।
हांग

11
लिंक वाला कोई भी व्यक्ति वास्तव में compileSdkVersion, buildToolsVersion, minSdkVersion और targetSdkVersion के साथ पर्दे के पीछे क्या चल रहा है, इस पर एक दस्तावेज़ करता है। इसे ठीक से समझना पसंद है।
पाउडर 366

2
@ powder366 इस मूल्यवान पोस्ट को देखें Ian Lake: - medium.com/google-developers/…
maveroid

46

एंड्रॉइड स्टूडियो 3.0 अपडेट

अब यह जानना उतना महत्वपूर्ण नहीं है, जितना पहले हुआ buildToolsVersionकरता था क्योंकि यह अब स्वतः ही चुना गया है।

प्रलेखन कहते हैं:

आपको बिल्ड टूल के लिए संस्करण को निर्दिष्ट करने की आवश्यकता नहीं है (इसलिए, अब आप android.buildToolsVersionसंपत्ति को हटा सकते हैं )। डिफ़ॉल्ट रूप से, प्लगइन स्वचालित रूप से आपके द्वारा उपयोग किए जा रहे एंड्रॉइड प्लगइन के संस्करण के लिए न्यूनतम आवश्यक बिल्ड टूल संस्करण का उपयोग करता है।

सटीक संस्करण संख्या ढूँढना

मैं मूल रूप से सबसे हाल ही में निर्मित टूल संस्करण का सटीक संस्करण संख्या जानने के तरीके की तलाश में यहां आया था (उन दिनों में जब इसे मैन्युअल रूप से करने की आवश्यकता थी)। यदि आपको अभी भी ऐसा करने की आवश्यकता है, तो आप इसे निम्नलिखित तरीके से पा सकते हैं:

पर जाएं उपकरण> एसडीके प्रबंधक> एसडीके उपकरण (टैब) । सूची से एंड्रॉइड एसडीके बिल्ड टूल चुनें और शो पैकेज विवरण जांचें । अंतिम आइटम सबसे हाल का संस्करण दिखाएगा।

यहाँ छवि विवरण दर्ज करें

ऊपर की छवि में, मैं देख सकता हूं कि मैंने buildToolsVersion 27.0.3स्थापित किया है। हाल ही में rc(जारी उम्मीदवार) संस्करण है, लेकिन मैंने इसे स्थापित नहीं किया है। जब स्थिर संस्करण सामने आएगा तब मैं करूंगा।


बस स्पष्ट होने के लिए, 3.2 में ऊपर का पथ "फ़ाइल => सेटिंग्स => सूरत और व्यवहार ...." है
JL_SO
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.