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 डायरेक्ट्री के कॉन्टेंट के साथ-साथ lib डायरेक्ट्री, bin डायरेक्ट्री, NOTICE.txt फ़ाइल, और source.properties फ़ाइल को नई latest डायरेक्ट्री में ले जाएं. अब इस जगह से कमांड-लाइन टूल इस्तेमाल किए जा सकते हैं.
  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)

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

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 कनेक्ट करने के लिए प्रॉक्सी पोर्ट नंबर.