अपने ऐप्लिकेशन के लिए नेटिव कोड को कंपाइल और डीबग करने के लिए, आपको इन कॉम्पोनेंट की ज़रूरत होगी:
- 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/ डायरेक्ट्री में इंस्टॉल करता है.
Android Studio में CMake और डिफ़ॉल्ट NDK इंस्टॉल करने के लिए, यह तरीका अपनाएं:
कोई प्रोजेक्ट खोलें और Tools > SDK Manager पर क्लिक करें.
एसडीके टूल टैब पर क्लिक करें.
NDK (साइड-बाय-साइड) और CMake चेकबॉक्स चुनें.
पहली इमेज. SDK टूल विंडो में, NDK (साइड-बाय-साइड) विकल्प दिख रहा हैठीक है पर क्लिक करें.
डायलॉग बॉक्स में, आपको यह जानकारी मिलती है कि NDK पैकेज, डिस्क पर कितनी जगह लेता है.
ठीक है पर क्लिक करें.
इंस्टॉल पूरा होने के बाद, हो गया पर क्लिक करें.
आपका प्रोजेक्ट, बिल्ड फ़ाइल को अपने-आप सिंक कर देता है और बिल्ड करता है. अगर कोई गड़बड़ी होती है, तो उसे ठीक करें.
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 का कोई वर्शन इस्तेमाल करना है, तो यह तरीका अपनाएं:
- CMake की आधिकारिक वेबसाइट से, CMake डाउनलोड और इंस्टॉल करें.
- अपने मॉड्यूल की
build.gradleफ़ाइल में, CMake का वह वर्शन डालें जिसका इस्तेमाल Gradle को करना है. 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>अगर आपके वर्कस्टेशन पर Ninja बिल्ड सिस्टम पहले से इंस्टॉल नहीं है, तो Ninja की आधिकारिक वेबसाइट पर जाएं. इसके बाद, अपने ओएस के लिए उपलब्ध Ninja का नया वर्शन डाउनलोड और इंस्टॉल करें. यह भी पक्का करें कि आपने Ninja इंस्टॉलेशन का पाथ, अपने
PATHएनवायरमेंट वैरिएबल में जोड़ दिया हो.
एनडीके का कोई वर्शन इंस्टॉल करना
NDK का कोई खास वर्शन इंस्टॉल करने के लिए, यह तरीका अपनाएं:
कोई प्रोजेक्ट खोलें और Tools > SDK Manager पर क्लिक करें.
एसडीके टूल टैब पर क्लिक करें.
पैकेज की जानकारी दिखाएं चेकबॉक्स को चुनें.
NDK (साइड-बाय-साइड) चेकबॉक्स और उसके नीचे मौजूद उन चेकबॉक्स को चुनें जो आपको इंस्टॉल करने हैं. Android Studio, एनडीके के सभी वर्शन को
android-sdk/ndk/डायरेक्ट्री में इंस्टॉल करता है.
अब इसका इस्तेमाल नहीं किया जा सकता.
दूसरी इमेज. एसडीके टूल विंडो में, एनडीके (साइड-बाय-साइड) के विकल्प दिख रहे हैंठीक है पर क्लिक करें.
डायलॉग बॉक्स में, NDK पैकेज के इस्तेमाल किए गए स्टोरेज की जानकारी दिखती है.
ठीक है पर क्लिक करें.
इंस्टॉल पूरा होने के बाद, हो गया पर क्लिक करें.
आपका प्रोजेक्ट, बिल्ड फ़ाइल को अपने-आप सिंक कर देता है और बिल्ड करता है. अगर कोई गड़बड़ी होती है, तो उसे ठीक करें.
आपको जिस NDK वर्शन का इस्तेमाल करना है उससे हर मॉड्यूल को कॉन्फ़िगर करें. Android Studio 3.6 या इसके बाद के वर्शन का इस्तेमाल करते समय, अगर आपने वर्शन के बारे में नहीं बताया है, तो Android Gradle प्लगिन ऐसा वर्शन चुनता है जो इसके साथ काम करता हो.
अपने प्रोजेक्ट में एनडीके के कुछ वर्शन कॉन्फ़िगर करना
अगर इनमें से कोई एक शर्त पूरी होती है, तो आपको अपने प्रोजेक्ट में एनडीके का वर्शन कॉन्फ़िगर करना पड़ सकता है:
- आपका प्रोजेक्ट इनहेरिट किया गया है. इसलिए, आपको 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 के पिछले वर्शन की जानकारी वाले दस्तावेज़ में दी गई है.