NDK और CMake को इंस्टॉल और कॉन्फ़िगर करना

अपने ऐप्लिकेशन के लिए नेटिव कोड कंपाइल और डीबग करने के लिए, आपको इन कॉम्पोनेंट की ज़रूरत होगी:

  • Android नेटिव डेवलपमेंट किट (एनडीके): यह टूल का एक सेट है. इसकी मदद से, Android के साथ C और C++ कोड का इस्तेमाल किया जा सकता है.
  • CMake: यह एक एक्सटर्नल बिल्ड टूल है. यह Gradle के साथ मिलकर, आपकी नेटिव लाइब्रेरी बनाता है. अगर आपको सिर्फ़ ndk-build का इस्तेमाल करना है, तो इस कॉम्पोनेंट की ज़रूरत नहीं है.
  • LLDB: यह एक डिबगर है. Android Studio, नेटिव कोड को डीबग करने के लिए इसका इस्तेमाल करता है. डिफ़ॉल्ट रूप से, LLDB को Android Studio के साथ इंस्टॉल किया जाएगा.

इस पेज पर, इन कॉम्पोनेंट को अपने-आप इंस्टॉल करने का तरीका बताया गया है. इसके अलावा, Android Studio या sdkmanager टूल का इस्तेमाल करके, इन्हें मैन्युअल तरीके से डाउनलोड और इंस्टॉल करने का तरीका भी बताया गया है.

एनडीके और CMake को अपने-आप इंस्टॉल करना

Android Gradle प्लग इन 4.2.0 या इसके बाद के वर्शन, ज़रूरी एनडीके और CMake को अपने-आप इंस्टॉल कर सकते हैं. हालांकि, ऐसा तब होगा, जब आपने पहले से ही इनके लाइसेंस स्वीकार किए हों. ऐसा पहली बार प्रोजेक्ट बनाने पर होता है. अगर आपने लाइसेंस की शर्तें पढ़ ली हैं और उनसे सहमत हैं, तो स्क्रिप्ट में इन कमांड का इस्तेमाल करके, लाइसेंस को पहले से स्वीकार किया जा सकता है:

   yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses

एनडीके और CMake इंस्टॉल करना

एनडीके इंस्टॉल करने पर, Android Studio, उपलब्ध सबसे नया एनडीके चुनता है. ज़्यादातर प्रोजेक्ट के लिए, एनडीके का यह डिफ़ॉल्ट वर्शन इंस्टॉल करना काफ़ी है. हालांकि, अगर आपके प्रोजेक्ट के लिए एनडीके के एक या उससे ज़्यादा खास वर्शन की ज़रूरत है, तो खास वर्शन डाउनलोड और कॉन्फ़िगर किए जा सकते हैं. ऐसा करने से, आपको यह पक्का करने में मदद मिलती है कि अलग-अलग प्रोजेक्ट के लिए, एक ही तरह के बिल्ड तैयार किए जाएं. ऐसा इसलिए, क्योंकि हर प्रोजेक्ट के लिए एनडीके का कोई खास वर्शन इस्तेमाल किया जाता है. Android Studio, एनडीके के सभी वर्शन को android-sdk/ndk/ डायरेक्ट्री में इंस्टॉल करता है.

Android Studio में CMake और डिफ़ॉल्ट एनडीके इंस्टॉल करने के लिए, यह तरीका अपनाएं:

  1. कोई प्रोजेक्ट खोलें. इसके बाद, टूल > एसडीके मैनेजर पर क्लिक करें.

  2. एसडीके टूल टैब पर क्लिक करें.

  3. एनडीके (साइड-बाय-साइड) और CMake चेकबॉक्स चुनें.

    SDK Manager की इमेज पहली इमेज. एसडीके टूल विंडो में, एनडीके (साइड-बाय-साइड) विकल्प दिख रहा है

  4. ठीक है पर क्लिक करें.

    एक डायलॉग बॉक्स में, यह जानकारी दिखती है कि एनडीके पैकेज, डिस्क पर कितनी जगह लेता है.

  5. ठीक है पर क्लिक करें.

  6. इंस्टॉलेशन पूरा होने के बाद, खत्म करें पर क्लिक करें.

  7. आपका प्रोजेक्ट, बिल्ड फ़ाइल को अपने-आप सिंक करता है और बिल्ड करता है. अगर कोई गड़बड़ी होती है, तो उसे ठीक करें.

CMake का कोई खास वर्शन कॉन्फ़िगर करना

एसडीके मैनेजर में, CMake का 3.6.0 फ़ोर्क्ड वर्शन और 3.10.2 वर्शन शामिल है. जिन प्रोजेक्ट के लिए CMake का कोई खास वर्शन सेट नहीं किया जाता है उन्हें CMake 3.10.2 से बनाया जाता है. CMake का वर्शन सेट करने के लिए, अपने मॉड्यूल की build.gradle फ़ाइल में यह जानकारी जोड़ें:

शानदार

android {
    ...
    externalNativeBuild {
        cmake {
            ...
            version "cmake-version"
        }
    }
}

Kotlin

android {
    ...
    externalNativeBuild {
        cmake {
            ...
            version = "cmake-version"
        }
    }
}

अगर आपको CMake का कोई ऐसा वर्शन इस्तेमाल करना है जो एसडीके मैनेजर में शामिल नहीं है, तो यह तरीका अपनाएं:

  1. CMake को आधिकारिक CMake वेबसाइट से डाउनलोड और इंस्टॉल करें.
  2. अपने मॉड्यूल की build.gradle फ़ाइल में, CMake का वह वर्शन बताएं जिसका इस्तेमाल Gradle को करना है.
  3. CMake इंस्टॉलेशन का पाथ, अपने PATH एनवायरमेंट वैरिएबल में जोड़ें या उसे अपने प्रोजेक्ट की local.properties फ़ाइल में शामिल करें. जैसा कि यहां दिखाया गया है. अगर Gradle को build.gradle फ़ाइल में बताया गया CMake का वर्शन नहीं मिलता है, तो आपको बिल्ड से जुड़ी गड़बड़ी दिखेगी.

    # If you set this property, Gradle no longer uses PATH to find CMake.
    cmake.dir = "path-to-cmake"</pre>
    
  4. अगर आपके वर्कस्टेशन पर Ninja बिल्ड सिस्टम पहले से इंस्टॉल नहीं है, तो Ninja की आधिकारिक वेबसाइट पर जाएं. इसके बाद, अपने ओएस के लिए उपलब्ध Ninja का नया वर्शन डाउनलोड और इंस्टॉल करें. पक्का करें कि आपने Ninja इंस्टॉलेशन का पाथ, अपने PATH एनवायरमेंट वैरिएबल में भी जोड़ा हो.

एनडीके का कोई खास वर्शन इंस्टॉल करना

एनडीके का कोई खास वर्शन इंस्टॉल करने के लिए, यह तरीका अपनाएं:

  1. कोई प्रोजेक्ट खोलें. इसके बाद, टूल > एसडीके मैनेजर पर क्लिक करें.

  2. एसडीके टूल टैब पर क्लिक करें.

  3. पैकेज की जानकारी दिखाएं चेकबॉक्स चुनें.

  4. एनडीके (साइड-बाय-साइड) चेकबॉक्स चुनें. इसके बाद, इसके नीचे मौजूद उन चेकबॉक्स को चुनें जो एनडीके के उन वर्शन से जुड़े हैं जिन्हें आपको इंस्टॉल करना है. Android Studio, एनडीके के सभी वर्शन को android-sdk/ndk/ डायरेक्ट्री में इंस्टॉल करता है.

    एसडीके टूल विंडो की इमेज दूसरी इमेज. एसडीके टूल विंडो में, एनडीके (साइड-बाय-साइड) विकल्प दिख रहे हैं

  5. ठीक है पर क्लिक करें.

    एक डायलॉग बॉक्स में, यह जानकारी दिखती है कि एनडीके पैकेज(पैकेजों) को इंस्टॉल करने के लिए, कितनी जगह की ज़रूरत है.

  6. ठीक है पर क्लिक करें.

  7. इंस्टॉलेशन पूरा होने के बाद, खत्म करें पर क्लिक करें.

  8. आपका प्रोजेक्ट, बिल्ड फ़ाइल को अपने-आप सिंक करता है और बिल्ड करता है. अगर कोई गड़बड़ी होती है, तो उसे ठीक करें.

  9. हर मॉड्यूल को एनडीके के उस वर्शन के साथ कॉन्फ़िगर करें जिसका इस्तेमाल आपको करना है. Android Studio 3.6 या इसके बाद के वर्शन का इस्तेमाल करते समय, अगर वर्शन की जानकारी नहीं दी जाती है, तो Android Gradle प्लग इन, ऐसा वर्शन चुनता है जो इसके साथ काम करता हो.

अपने प्रोजेक्ट में एनडीके के खास वर्शन कॉन्फ़िगर करना

अगर इनमें से कोई एक शर्त पूरी होती है, तो आपको अपने प्रोजेक्ट में एनडीके का वर्शन कॉन्फ़िगर करना पड़ सकता है:

  • आपका प्रोजेक्ट इनहेरिट किया गया है और आपको एनडीके और Android Gradle प्लग इन (एजीपी) के खास वर्शन इस्तेमाल करने हैं. ज़्यादा जानकारी के लिए, Android Gradle प्लग इन के लिए एनडीके कॉन्फ़िगर करना लेख पढ़ें.
  • आपके पास एनडीके के कई वर्शन इंस्टॉल हैं और आपको किसी खास वर्शन का इस्तेमाल करना है. इस मामले में, मॉड्यूल की build.gradle फ़ाइल में android.ndkVersion प्रॉपर्टी का इस्तेमाल करके, वर्शन की जानकारी दें. जैसा कि कोड के इस उदाहरण में दिखाया गया है.

    शानदार

    android {
        ndkVersion "major.minor.build" // e.g.,  ndkVersion "21.3.6528147"
    }

    Kotlin

    android {
        ndkVersion = "major.minor.build" // e.g.,  ndkVersion "21.3.6528147"
    }

एजीपी के हर वर्शन के लिए, एनडीके का डिफ़ॉल्ट वर्शन

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