SDKमैनेजर

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

sdkmanager टूल, Android SDK के कमांड-लाइन टूल पैकेज में दिया गया है. कमांड-लाइन टूल का कोई वर्शन इंस्टॉल करने के लिए, 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;34.0.0" या "platforms;android-33".

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

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

इसके अलावा, सभी पैकेज की जानकारी देने वाली टेक्स्ट फ़ाइल भी दी जा सकती है:

sdkmanager --package_file=package_file [options]

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

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

sdkmanager --licenses

इससे आपको उन सभी लाइसेंस को स्वीकार करने के लिए कहा जाएगा जिन्हें पहले स्वीकार नहीं किया गया है.

विकल्प

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

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

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

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