SDKमैनेजर

sdkmanager एक कमांड-लाइन टूल है. इसकी मदद से, Android SDK के लिए पैकेज देखे, इंस्टॉल किए, अपडेट किए, और अनइंस्टॉल किए जा सकते हैं. अगर Android Studio का इस्तेमाल किया जा रहा है, तो आपको इस टूल का इस्तेमाल करने की ज़रूरत नहीं है. इसके बजाय, आईडीई से अपने एसडीके पैकेज मैनेज किए जा सकते हैं.

sdkmanager टूल, Android SDK Command-Line Tools पैकेज में उपलब्ध है. कमांड-लाइन टूल का कोई वर्शन इंस्टॉल करने के लिए, SDK Manager का इस्तेमाल करने के लिए, यह तरीका अपनाएं:

  1. Android Studio पेज से, कमांड लाइन टूल का नया पैकेज डाउनलोड करें और पैकेज को एक्सट्रैक्ट करें.
  2. अनज़िप की गई cmdline-tools डायरेक्ट्री को अपनी पसंद की किसी नई डायरेक्ट्री में ले जाएं. जैसे, android_sdk. यह नई डायरेक्ट्री, आपकी Android SDK डायरेक्ट्री है.
  3. अनज़िप की गई cmdline-tools डायरेक्ट्री में, latest नाम की एक सब-डायरेक्ट्री बनाएं.
  4. ओरिजनल cmdline-tools डायरेक्ट्री के कॉन्टेंट को नई बनाई गई latest डायरेक्ट्री में ले जाएं. इसमें lib डायरेक्ट्री, bin डायरेक्ट्री, NOTICE.txt फ़ाइल, और source.properties फ़ाइल शामिल हैं. अब इस जगह से कमांड-लाइन टूल इस्तेमाल किए जा सकते हैं.
  5. (ज़रूरी नहीं) कमांड-लाइन टूल का पिछला वर्शन इंस्टॉल करने के लिए, यह कमांड चलाएं:

    android_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
    
    version की जगह वह वर्शन डालें जिसे आपको इंस्टॉल करना है. उदाहरण के लिए, 5.0.

इस्तेमाल

sdkmanager का इस्तेमाल करके, इंस्टॉल किए गए और उपलब्ध पैकेज की सूची बनाई जा सकती है. साथ ही, पैकेज इंस्टॉल और अपडेट किए जा सकते हैं. ज़्यादा जानकारी के लिए, यहां दिए गए सेक्शन देखें.

इंस्टॉल किए गए और उपलब्ध पैकेज की सूची

इंस्टॉल किए गए और उपलब्ध पैकेज की सूची बनाने के लिए, इस सिंटैक्स का इस्तेमाल करें:

sdkmanager --list [options] \
           [--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)

channel विकल्प का इस्तेमाल करके, किसी चैनल से channel_id तक और को शामिल करके कोई पैकेज शामिल करें. उदाहरण के लिए, सभी चैनलों से पैकेज की सूची बनाने के लिए, कैनरी चैनल तय करें.

पैकेज इंस्टॉल करना

पैकेज इंस्टॉल करने के लिए, इस सिंटैक्स का इस्तेमाल करें:

sdkmanager packages [options]

packages आर्ग्युमेंट, एसडीके-स्टाइल वाला पाथ है. इसे --list कमांड के साथ दिखाया गया है और यह कोटेशन मार्क में रैप किया गया है. उदाहरण के लिए, "build-tools;36.0.0" या "platforms;android-36".

एक से ज़्यादा पैकेज पाथ पास किए जा सकते हैं. इन्हें स्पेस से अलग किया जाता है. हालांकि, इन सभी को कोटेशन के अपने सेट में रैप किया जाना चाहिए. उदाहरण के लिए, यहां एपीआई लेवल 36 के लिए, नए प्लैटफ़ॉर्म टूल और एसडीके टूल इंस्टॉल करने का तरीका बताया गया है:

sdkmanager "platform-tools" "platforms;android-36"

इसके अलावा, एक ऐसी टेक्स्ट फ़ाइल भी पास की जा सकती है जिसमें सभी पैकेज के बारे में बताया गया हो:

sdkmanager --package_file=package_file [options]

package_file आर्ग्युमेंट, टेक्स्ट फ़ाइल की जगह की जानकारी देता है. इस फ़ाइल में, हर लाइन में इंस्टॉल किए जाने वाले पैकेज का एसडीके-स्टाइल पाथ होता है (बिना कोटेशन मार्क के).

अनइंस्टॉल करने के लिए, --uninstall फ़्लैग जोड़ें:

sdkmanager --uninstall packages [options]
sdkmanager --uninstall --package_file=package_file [options]

CMake या NDK इंस्टॉल करने के लिए, इस सिंटैक्स का इस्तेमाल करें:

sdkmanager --install
           ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"]
           [--channel=channel_id] // NDK channels: 0 (stable), 1 (beta), or 3 (canary)

उदाहरण के लिए, यहां दिए गए निर्देश का इस्तेमाल करके, NDK के तय किए गए वर्शन को इंस्टॉल करें. भले ही, फ़िलहाल वह किसी भी चैनल पर हो:

sdkmanager --install "ndk;21.3.6528147" --channel=3 // Install the NDK from the canary channel (or below)
sdkmanager --install "cmake;10.24988404" // Install a specific version of CMake

इंस्टॉल किए गए सभी पैकेज अपडेट करें

इंस्टॉल किए गए सभी पैकेज अपडेट करने के लिए, इस सिंटैक्स का इस्तेमाल करें:

sdkmanager --update [options]

लाइसेंस स्वीकार करना

आपने जो भी पैकेज इंस्टॉल किए हैं उनके लिए, आपको ज़रूरी लाइसेंस स्वीकार करना होगा. यह चरण, इंस्टॉलेशन के दौरान तब होता है, जब Android Studio में पैकेज इंस्टॉल किए जाते हैं.

अगर आपने Android Studio इंस्टॉल नहीं किया है या यह CI सर्वर या GUI इंस्टॉल किए बिना किसी अन्य हेडलेस Linux डिवाइस के लिए है, तो कमांड लाइन से यह तरीका अपनाएं:

sdkmanager --licenses

इससे आपको उन लाइसेंस को स्वीकार करने का अनुरोध मिलता है जिन्हें आपने पहले स्वीकार नहीं किया है.

विकल्प

यहां दी गई टेबल में, ऊपर दिए गए सेक्शन में बताई गई कमांड के लिए उपलब्ध विकल्पों की सूची दी गई है:

विकल्प ब्यौरा
--sdk_root=path इस टूल वाले एसडीके के बजाय, बताए गए एसडीके पाथ का इस्तेमाल करें.
--channel=channel_id channel_id तक के चैनलों में पैकेज शामिल करें. उपलब्ध चैनल ये हैं:

0 (स्टेबल), 1 (बीटा), 2 (डेव), और 3 (कैनरी).

--include_obsolete पैकेज की सूची या पैकेज के अपडेट में, पुराने पैकेज शामिल करें. सिर्फ़ --list और --update के साथ इस्तेमाल करने के लिए.
--no_https सभी कनेक्शन को एचटीटीपीएस के बजाय एचटीटीपी का इस्तेमाल करने के लिए मजबूर करें.
--newer --list की मदद से, सिर्फ़ नए या अपडेट किए जा सकने वाले पैकेज दिखाएं.
--verbose ज़्यादा शब्दों में जानकारी देने वाला आउटपुट मोड. गड़बड़ियां, चेतावनियां, और जानकारी देने वाले मैसेज प्रिंट किए जाते हैं.
--proxy={http | socks} दिए गए टाइप की प्रॉक्सी के ज़रिए कनेक्ट करें: एचटीटीपी या एफ़टीपी जैसे हाई लेवल प्रोटोकॉल के लिए http या SOCKS (V4 या V5) प्रॉक्सी के लिए socks.
--proxy_host={IP_address | DNS_address} इस्तेमाल किए जाने वाले प्रॉक्सी का आईपी या डीएनएस पता.
--proxy_port=port_number कनेक्ट करने के लिए प्रॉक्सी पोर्ट नंबर.