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

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

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

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

NDK और CMake को अपने-आप इंस्टॉल करने की सुविधा

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

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

NDK और CMake इंस्टॉल करना

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

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

  1. कोई प्रोजेक्ट खोलें और Tools > SDK Manager पर क्लिक करें.

  2. SDK Tools टैब पर क्लिक करें.

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

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

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

    डायलॉग बॉक्स में, आपको यह जानकारी मिलती है कि NDK पैकेज, डिस्क पर कितना स्टोरेज इस्तेमाल करता है.

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

  6. इंस्टॉल पूरा होने के बाद, हो गया पर क्लिक करें.

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

CMake के किसी वर्शन को कॉन्फ़िगर करना

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

Groovy

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

Kotlin

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

अगर आपको SDK Manager में शामिल नहीं किया गया 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 का नया वर्शन डाउनलोड करें और उसे इंस्टॉल करें. यह भी पक्का करें कि आपने PATH एनवायरमेंट वैरिएबल में, Ninja इंस्टॉलेशन का पाथ जोड़ा हो.

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

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

  1. कोई प्रोजेक्ट खोलें और Tools > SDK Manager पर क्लिक करें.

  2. SDK Tools टैब पर क्लिक करें.

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

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

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

    अब इसका इस्तेमाल नहीं किया जा सकता.
  5. ठीक है पर क्लिक करें.

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

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

  7. इंस्टॉल पूरा होने के बाद, हो गया पर क्लिक करें.

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

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

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

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

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

    Groovy

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

    Kotlin

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

AGP के हर वर्शन के लिए डिफ़ॉल्ट NDK वर्शन

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