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

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

  • Android नेटिव डेवलपमेंट किट (NDK): टूल का एक सेट, जिसकी मदद से 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 इंस्टॉल करें

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

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

  1. कोई प्रोजेक्ट खोलकर, टूल > SDK मैनेजर पर क्लिक करें.

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

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

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

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

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

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

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

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

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

SDK मैनेजर में, 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 वर्शन का इस्तेमाल करना है जो SDK Manager में शामिल नहीं है, तो यह तरीका अपनाएं:

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

    # 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 इंस्टॉलेशन का पाथ भी जोड़ना न भूलें.

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

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

  1. कोई प्रोजेक्ट खोलकर, टूल > SDK मैनेजर पर क्लिक करें.

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

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

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

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

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

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

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

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

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

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

अपने प्रोजेक्ट में NDK टूल के खास वर्शन कॉन्फ़िगर करना

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

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

    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 के पिछले रिलीज़ नोट में दी गई है.