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 डायरेक्ट्री में ले जाएं. इसमें cmdline-tools डायरेक्ट्री, bin डायरेक्ट्री, NOTICE.txt फ़ाइल, और source.properties फ़ाइल शामिल हैं.lib अब इस जगह से कमांड-लाइन टूल इस्तेमाल किए जा सकते हैं.
  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 तक और channel_id को शामिल करके कोई पैकेज शामिल करें. उदाहरण के लिए, सभी चैनलों से पैकेज की सूची बनाने के लिए, कैनरी चैनल तय करें.

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

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

sdkmanager packages [options]

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

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

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

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

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 सर्वर या बिना जीयूआई वाले किसी अन्य हेडलेस Linux डिवाइस के लिए है, तो कमांड-लाइन से यह काम करें:

sdkmanager --licenses

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

विकल्प

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

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

0 (Stable), 1 (Beta), 2 (Dev), और 3 (Canary).

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