Android SDK Build-Tools, Android SDK का एक कॉम्पोनेंट है. यह Android ऐप्लिकेशन बनाने के लिए ज़रूरी है. यह <sdk>/build-tools/
डायरेक्ट्री में इंस्टॉल होता है.
आपको Android SDK मैनेजर का इस्तेमाल करके, बिल्ड टूल के सबसे नए वर्शन को डाउनलोड करके, अपने बिल्ड टूल के कॉम्पोनेंट को हमेशा अपडेट रखना चाहिए. अगर इसका इस्तेमाल किया जा रहा है, तो
Gradle 3.0.0 के लिए Android प्लग इन या इसके बाद के वर्शन,
आपका प्रोजेक्ट, बिल्ड टूल के डिफ़ॉल्ट वर्शन का इस्तेमाल अपने-आप करता है. इस वर्शन के बारे में प्लगिन के पास बताया जाता है. अगर आपको बिल्ड टूल के किसी दूसरे वर्शन का इस्तेमाल करना है, तो अपने मॉड्यूल के build.gradle
में buildToolsVersion
का इस्तेमाल करके बताएं. इसके लिए, यह तरीका अपनाएं:
android { buildToolsVersion "34.0.0" ... }
android { buildToolsVersion = "34.0.0" ... }
संशोधन
नीचे दिए गए सेक्शन में बिल्ड टूल की रिलीज़ के बारे में जानकारी दी गई है. यह तय करने के लिए कि बिल्ड टूल में किए गए बदलाव आपके SDK टूल में उपलब्ध हैं. इसके लिए, इंस्टॉल किए गए पैकेज देखें Android SDK मैनेजर की लिस्टिंग में.
सामान्य गड़बड़ियां ठीक की गईं और सुधार किए गए.
इस अपडेट में, Android 14 के रिलीज़ होने से पहले उपलब्ध एपीआई का इस्तेमाल करके ऐप्लिकेशन बनाने की सुविधा शामिल है.
इस अपडेट में, यह समस्या ठीक की गई है:
-
macOS और Linux/Windows के लिए,
core-lambda-stubs.jar
का 33.0.0 वर्शन अलग-अलग है. (समस्या #237299698 देखें.)
इस अपडेट से यह समस्या ठीक हो जाती है:
- बिल्ड-टूल 33.0.0 के साथ AIDL काम नहीं करता. (समस्या #236167971 देखें)
इस अपडेट में, Android 11 के रिलीज़ होने से पहले उपलब्ध एपीआई का इस्तेमाल करके, ऐप्लिकेशन बनाने की सुविधा शामिल है.
इस अपडेट में, यह समस्या ठीक की गई है:
- macOS Catalina पर, रेंडर स्क्रिप्ट से जुड़ी समस्या बनाएं. (समस्या #142590626 देखें)
इस अपडेट में, यह समस्या ठीक की गई है:
इस अपडेट में, एपीआई लेवल 29 के साथ बिल्ड करने की सुविधा शामिल है.
इस अपडेट में Android Gradle प्लग इन 3.2.0 और नीचे दी गई समस्याओं को ठीक करता है:
-
उस JNI लाइब्रेरी बग को ठीक किया गया जिसके कारण कॉल करते समय ऐप्लिकेशन क्रैश होते थे
androidx.renderscript.RenderScript.create()
. -
एक गड़बड़ी को ठीक किया गया है. इसकी वजह से,
Program type already present
के साथandroidx.annotation
संसाधनों को बिल्ड करने में गड़बड़ियां आ रही थीं.
इसमें D8 का नया वर्शन शामिल है.
Java 8 भाषा की सुविधाएं चालू करने पर, लेम्ब्डा को कंपाइल करने के लिए बेहतर सहायता मिलती है.
बेहतर तरीके से सपोर्ट करने में मदद करता है Java 8 भाषा की सुविधाएं.
इस नीति से, टेस्ट APK के लिए लेगसी मल्टीडेक्स ऐप्लिकेशन की सुविधा भी मिलती है. (समस्या #37324038)
सामान्य गड़बड़ियों को ठीक करने के अलावा, इस रिलीज़ में ये अपडेट भी शामिल हैं:
apksigner
को 0.8 वर्शन में अपडेट करता है:- Java 9 के साथ काम करना. (समस्या #37137869)
-
कीस्टोर और एन्क्रिप्ट (सुरक्षित) की गई कुंजियों को मैनेज करने के लिए, नया
--pass-encoding
पैरामीटर बिना ASCII वाले पासवर्ड का इस्तेमाल करके. अगर आप Java 9 पर स्विच करते हैं औरapksigner
अपने कीस्टोर या कुंजी को डिक्रिप्ट करें, तो कैरेक्टर एन्कोडिंग तय करने के लिए इस पैरामीटर का इस्तेमाल करें का इस्तेमाल कीस्टोर या की बनाने के लिए किया जाता है. ज़्यादा जानकारी के लिए, देखेंapksigner
दस्तावेज़ बनाएं या कमांडलाइन सेapksigner sign --help
चलाएं. -
गड़बड़ी का बेहतर मैसेज, जब
apksigner
किसी काम न आने वाले डाइजेस्ट या हस्ताक्षर एल्गोरिदम की वजह से, JAR हस्ताक्षर की पुष्टि नहीं कर पाता. (समस्या #63525618)
-
AAPT2 डीमन मोड का इस्तेमाल करते समय सहायता करता है
Gredle के लिए Android प्लगिन
3.0.0-beta7
या उससे ज़्यादा.
सामान्य गड़बड़ियां ठीक करने के अलावा, यह रिलीज़ apksigner
का डेटा वापस ला देती है
को बिल्ड टूल पैकेज में बदल दिया जाता है (इसे 26.0.0 में गलती से हटा दिया गया था) और इसमें
टूल में किए गए अपडेट के बारे में यहां बताया गया है:
- सुरक्षित हार्डवेयर में रखी गई कुंजियों से साइन इन करने की अनुमति देने के लिए, PKCS #11 का इस्तेमाल किया जाता है. (समस्या #37140484)
- हस्ताक्षर करने से पहले, JCA प्रोवाइडर के अतिरिक्त प्रोवाइडर लोड करने की सुविधा जोड़ी गई है.
android:targetSandboxVersion
का सम्मान करता है, जब APK की पुष्टि कर रहा है.- साइन इन करते समय, उन APK को अस्वीकार कर दिया जाता है जिनमें 'CR' शामिल होती हैं (कैरेज रिटर्न), 'एलएफ़' (लाइन फ़ीड), या 'NUL' (शून्य) फ़ाइल के नाम में खास वर्ण का इस्तेमाल करें.
- स्पेस वाले पैरामीटर को सही तरीके से हैंडल करने के लिए,
apksigner.bat
को ठीक करता है. (समस्या #38132450) - एक ही जानकारी के लिए एक से ज़्यादा डाइजेस्ट मौजूद होने पर, JAR हस्ताक्षर की पुष्टि करने में आने वाली गड़बड़ी को ठीक करता है
MANIFEST.MF
में एंट्री. (समस्या #38497270)
इसमें एपीआई लेवल 26 के साथ बिल्ड करने की सुविधा जोड़ी गई है. साथ ही, इसमें सामान्य गड़बड़ियों को ठीक किया गया है.
apksigner
के लिए अपडेट:
- मौजूदा
--out
पैरामीटर से समरूपता के लिए--in
पैरामीटर जोड़ा गया. - अगर आप
--key-pass
का इस्तेमाल करके कुंजी का पासवर्ड तय नहीं करते, तोapksigner
कीस्टोर पासवर्ड का इस्तेमाल 'की पासवर्ड' के तौर पर करता है. हालांकि, अगर पासवर्ड के लिए कोई दूसरी कुंजी का इस्तेमाल करना है, तो अब आपको कमांड-लाइन से पासवर्ड डालने के लिए कहा जाएगा. (समस्या #37134986) - बिना ASCII वाले पासवर्ड के लिए
jarsigner
के साथ काम करने की सुविधा जोड़ी गई. (समस्या #37135737)
बग समाधान.
इस रिलीज़ में गड़बड़ियां ठीक की गई हैं और apksigner
में ये सुधार किए गए हैं:
- ऐसे APK के लिए सहायता जिनमें JAR एंट्री के नामों को बदला गया हो.
--print-certs
स्विच अब MD5 फ़िंगरप्रिंट भी हटा देता है.
जैक टूलचेन की गड़बड़ियां ठीक की गई हैं:
- Jack में, ASCII के अलावा अन्य सोर्स फ़ाइलों के साथ काम करने से जुड़ी समस्या को ठीक किया गया. (समस्या #218892)
- कुछ समय के दौरान
AssertionError
की समस्या को ठीक कर दिया गया है कंपाइलेशन. (समस्या #208414)
- जोड़ा गया
apksigner
एक APK साइनिंग टूल है, जिसेjarsigner
. डिफ़ॉल्ट रूप से,apksigner
, APK पर हस्ताक्षर करता है कंवेंशनल JAR साइनिंग स्कीम का इस्तेमाल करके (jarsigner
, इसका इस्तेमाल करता है) और APK Android 7.0 (एपीआई लेवल 24) में पेश किया गया सिग्नेचर स्कीम v2. कोई भी APK सिग्नेचर स्कीम v2 से हस्ताक्षर किए गए APK में बदलाव करने पर हस्ताक्षर करें. इसलिए, APK की पोस्ट-प्रोसेसिंग, जैसे किzipalign
कोapksigner
को शुरू करने से पहले निष्पादित किया जाना चाहिए, बाद में नहीं. शुरू किया जा रहा हैapksigner
से पहलेzipalign
ठीक काम करेगा, क्योंकिapksigner
, APK के अलाइनमेंट और कंप्रेस करने की सुविधा को सुरक्षित रखता है (jarsigner
से अलग).
- RenderScript में समस्याओं को ठीक करें आर्म64 डिवाइसों पर काम करने वाली लाइब्रेरी.
- Jelly Bean वाले कुछ डिवाइसों पर, RenderScript की सहायता लाइब्रेरी से जुड़ी समस्याएं ठीक करना.
- Android का इस्तेमाल करते समय
renderscriptTargetAPI 21+
का इस्तेमाल करें Gradle, Revision 2.1.0 और इसके बाद के वर्शन के लिए प्लग इन .
dx
टूल की मर्ज करने की परफ़ॉर्मेंस को बेहतर बनाया गया.- RenderScript में ठीक की गई समस्याएं Windows के लिए कंपाइलर.
RenderScript टूल की समस्याओं को ठीक किया गया.
Android 6.0 (एपीआई लेवल 23) वाली रिलीज़ के लिए सहायता जोड़ी गई.
इनके साथ काम करने से जुड़ी समस्याओं को ठीक किया गया RenderScript कर्नेल Android 4.4 (एपीआई लेवल 19) से Android 4.1 (एपीआई लेवल 16) वाले डिवाइसों तक.
Android 5.1 (एपीआई लेवल 22) के लिए सहायता जोड़ी गई.
32-बिट मोड में डेटा लेआउट बनाने से जुड़ी समस्या ठीक की गई.
मल्टीडेक्स स्क्रिप्ट की समस्याएं ठीक की गईं.
APK और जैक सपोर्ट के लिए मल्टीडेक्स फ़ाइल की सुविधा जोड़ी गई, ताकि 64K तरीके का रेफ़रंस दिया जा सके सीमा तय करें.
Windows प्लैटफ़ॉर्म पर, इनस्टेबिलिटी से जुड़ी समस्याओं को हल करने के लिए, Eclipse ADT के अपडेट पूरे करें.
Windows पर Eclipse ADT के लिए शुरुआती अपडेट. कृपया 21.0.2 रिविज़न का इस्तेमाल करें.
- सामान्य जानकारी:
-
- Android 5.0 (एपीआई लेवल 21) के लिए सहायता जोड़ी गई.
- RenderScript अब एपीआई लेवल 21 और उसके बाद के लेवल के लिए, बिना किसी रुकावट के 32/64-बिट ऑपरेशन के साथ काम करता है.
- JaCoCo प्लगिन का इस्तेमाल करते समय Gradle बिल्ड सिस्टम से जुड़ी समस्या ठीक की गई. (समस्या 69174)
- Windows पर लंबी कमांड लाइन के साथ इस्तेमाल करने के लिए, input-list विकल्प जोड़ा गया है.
- सामान्य जानकारी:
-
- Android Wear के लिए सहायता जोड़ी गई.
- सामान्य जानकारी:
-
zipalign
को बिल्ड टूल में जोड़ा गया.aapt
में बदलाव किया गया, ताकि उन एक्सएमएल फ़ाइलों को अनदेखा किया जा सके जो कंपाइल नहीं की जा सकीं.
RenderScript सहायता से जुड़ी गड़बड़ी ठीक की गई.
- RenderScript बिल्ड की समस्याओं को ठीक किया गया:
-
- RenderScript बिट कोड एन्कोडिंग से जुड़ी समस्या ठीक की गई. (समस्या 64775)
- RenderScript में गणित के प्रतीक मौजूद न होने की समस्या को ठीक किया गया (समस्या 64110)
- बिल्ड से जुड़ी अन्य समस्याएं ठीक की गईं:
-
- Gradle के साथ एनडीके मोड में RenderScript को कंपाइल करने के लिए सहायता को ठीक किया गया.
- dx बिल्ड में
BufferOverflowException
समस्या को ठीक किया गया. (समस्या 61710)
Android 4.4 (एपीआई लेवल 19) बिल्ड टारगेट के लिए यह सुविधा जोड़ी गई.
बिल्ड से जुड़ी कई छोटी-मोटी समस्याओं को ठीक किया गया.
RenderScript के सहायता मोड से जुड़ी समस्या ठीक की गई.
Android 4.3 (एपीआई लेवल 18) बिल्ड टारगेट के लिए यह सुविधा जोड़ी गई.
आरंभिक रिलीज़.
- सामान्य जानकारी:
-
- Android 4.2 (एपीआई लेवल 17) बिल्ड टारगेट के साथ काम करने की सुविधा शामिल है.
- Android SDK टूल के बिल्ड के हिसाब से बने कॉम्पोनेंट को, प्लैटफ़ॉर्म-टूल कॉम्पोनेंट से अलग कर दिया गया है, ताकि इंटिग्रेटेड डेवलपमेंट एनवायरमेंट (IDE) कॉम्पोनेंट के बिना भी बिल्ड टूल को अपडेट किया जा सके.