NDK এবং CMake ইনস্টল এবং কনফিগার করুন

আপনার অ্যাপের নেটিভ কোড কম্পাইল ও ডিবাগ করার জন্য নিম্নলিখিত উপাদানগুলোর প্রয়োজন হবে:

  • অ্যান্ড্রয়েড নেটিভ ডেভেলপমেন্ট কিট (এনডিকে): এমন একগুচ্ছ টুল যা আপনাকে অ্যান্ড্রয়েডে সি এবং সি++ কোড ব্যবহার করার সুযোগ দেয়।
  • CMake: একটি বাহ্যিক বিল্ড টুল যা আপনার নেটিভ লাইব্রেরি বিল্ড করার জন্য Gradle-এর সাথে কাজ করে। আপনি যদি শুধু ndk-build ব্যবহার করার পরিকল্পনা করেন, তাহলে আপনার এই কম্পোনেন্টটির প্রয়োজন নেই।
  • LLDB: এটি সেই ডিবাগার যা অ্যান্ড্রয়েড স্টুডিও নেটিভ কোড ডিবাগ করতে ব্যবহার করে। ডিফল্টরূপে, অ্যান্ড্রয়েড স্টুডিওর সাথেই LLDB ইনস্টল হয়ে যায়।

এই পৃষ্ঠায় বর্ণনা করা হয়েছে কীভাবে এই উপাদানগুলি স্বয়ংক্রিয়ভাবে ইনস্টল করা যায়, অথবা অ্যান্ড্রয়েড স্টুডিও বা sdkmanager টুল ব্যবহার করে ম্যানুয়ালি ডাউনলোড ও ইনস্টল করা যায়।

NDK এবং CMake স্বয়ংক্রিয়ভাবে ইনস্টল করুন

অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৪.২.০+ আপনার প্রজেক্ট প্রথমবার বিল্ড করার সময় প্রয়োজনীয় এনডিকে (NDK) এবং সিমেক (CMake) স্বয়ংক্রিয়ভাবে ইনস্টল করতে পারে, যদি তাদের লাইসেন্সগুলো আগে থেকে গ্রহণ করা হয়ে থাকে। আপনি যদি ইতিমধ্যেই লাইসেন্সের শর্তাবলী পড়ে থাকেন এবং তাতে সম্মত হন, তাহলে আপনি নিম্নলিখিত কমান্ডের মাধ্যমে স্ক্রিপ্টে লাইসেন্সগুলো আগে থেকেই গ্রহণ করতে পারেন:

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

NDK এবং CMake ইনস্টল করুন

আপনি যখন NDK ইনস্টল করেন, Android Studio সর্বশেষ উপলব্ধ NDK-টি নির্বাচন করে। বেশিরভাগ প্রোজেক্টের জন্য, NDK-এর এই ডিফল্ট সংস্করণটি ইনস্টল করাই যথেষ্ট। তবে, যদি আপনার প্রোজেক্টের জন্য NDK-এর এক বা একাধিক নির্দিষ্ট সংস্করণের প্রয়োজন হয়, তাহলে আপনি নির্দিষ্ট সংস্করণগুলি ডাউনলোড এবং কনফিগার করতে পারেন। এটি করলে, আপনি এমন প্রোজেক্টগুলিতে পুনরুৎপাদনযোগ্য বিল্ড নিশ্চিত করতে পারবেন, যেগুলির প্রতিটি NDK-এর একটি নির্দিষ্ট সংস্করণের উপর নির্ভরশীল। Android Studio NDK-এর সমস্ত সংস্করণ android-sdk /ndk/ ডিরেক্টরিতে ইনস্টল করে।

অ্যান্ড্রয়েড স্টুডিওতে CMake এবং ডিফল্ট NDK ইনস্টল করতে, নিম্নলিখিতগুলি করুন:

  1. প্রজেক্টটি খোলা থাকা অবস্থায়, টুলস > এসডিকে ম্যানেজার-এ ক্লিক করুন।

  2. SDK টুলস ট্যাবে ক্লিক করুন।

  3. NDK (সাইড বাই সাইড) এবং CMake চেকবক্সগুলো নির্বাচন করুন।

    এসডিকে ম্যানেজারের ছবি চিত্র ১. এসডিকে টুলস উইন্ডো, যেখানে এনডিকে (পাশাপাশি) বিকল্পটি দেখানো হচ্ছে।

  4. OK ক্লিক করুন।

    একটি ডায়ালগ বক্স আপনাকে জানিয়ে দেয় যে এনডিকে প্যাকেজটি ডিস্কে কী পরিমাণ জায়গা ব্যবহার করে।

  5. OK ক্লিক করুন।

  6. ইনস্টলেশন সম্পন্ন হলে, ফিনিশ-এ ক্লিক করুন।

  7. আপনার প্রজেক্ট স্বয়ংক্রিয়ভাবে বিল্ড ফাইল সিঙ্ক করে এবং বিল্ড সম্পন্ন করে। উদ্ভূত যেকোনো ত্রুটি সমাধান করুন।

CMake-এর একটি নির্দিষ্ট সংস্করণ কনফিগার করুন

এসডিকে ম্যানেজারে CMake-এর 3.6.0 ফর্কড সংস্করণ এবং 3.10.2 সংস্করণ অন্তর্ভুক্ত রয়েছে। যে প্রোজেক্টগুলোতে কোনো নির্দিষ্ট CMake সংস্করণ সেট করা থাকে না, সেগুলো CMake 3.10.2 দিয়ে বিল্ড করা হয়। CMake সংস্করণ সেট করতে, আপনার মডিউলের build.gradle ফাইলে নিম্নলিখিতটি যোগ করুন:

গ্রুভি

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

কোটলিন

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

আপনি যদি এমন কোনো CMake সংস্করণ ব্যবহার করতে চান যা SDK ম্যানেজারে অন্তর্ভুক্ত নয়, তাহলে এই ধাপগুলো অনুসরণ করুন:

  1. অফিসিয়াল CMake ওয়েবসাইট থেকে CMake ডাউনলোড ও ইনস্টল করুন।
  2. আপনার মডিউলের build.gradle ফাইলে, Gradle যে CMake সংস্করণটি ব্যবহার করবে তা নির্দিষ্ট করে দিন।
  3. হয় আপনার PATH এনভায়রনমেন্ট ভেরিয়েবলে CMake ইনস্টলেশনের পাথটি যোগ করুন অথবা দেখানো অনুযায়ী আপনার প্রোজেক্টের 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. আপনার ওয়ার্কস্টেশনে যদি আগে থেকেই নিনজা বিল্ড সিস্টেম ইনস্টল করা না থাকে, তাহলে নিনজার অফিসিয়াল ওয়েবসাইটে যান এবং আপনার অপারেটিং সিস্টেমের জন্য উপলব্ধ নিনজার সর্বশেষ সংস্করণটি ডাউনলোড ও ইনস্টল করুন। এছাড়াও, আপনার PATH এনভায়রনমেন্ট ভেরিয়েবলে নিনজা ইনস্টলেশনের পাথটি যোগ করতে ভুলবেন না।

NDK-এর একটি নির্দিষ্ট সংস্করণ ইনস্টল করুন

NDK-এর একটি নির্দিষ্ট সংস্করণ ইনস্টল করতে, নিম্নলিখিতগুলি করুন:

  1. প্রজেক্টটি খোলা থাকা অবস্থায়, টুলস > এসডিকে ম্যানেজার-এ ক্লিক করুন।

  2. SDK টুলস ট্যাবে ক্লিক করুন।

  3. প্যাকেজের বিবরণ দেখান চেকবক্সটি নির্বাচন করুন।

  4. আপনি যে NDK সংস্করণগুলি ইনস্টল করতে চান, সেই অনুযায়ী NDK (সাইড বাই সাইড) চেকবক্স এবং এর নিচের চেকবক্সগুলি নির্বাচন করুন। অ্যান্ড্রয়েড স্টুডিও android-sdk /ndk/ ডিরেক্টরিতে NDK-এর সমস্ত সংস্করণ ইনস্টল করে।

    এসডিকে টুলস উইন্ডোর ছবি চিত্র ২. এসডিকে টুলস উইন্ডো, যেখানে এনডিকে (পাশাপাশি) বিকল্পগুলো দেখানো হচ্ছে।

  5. OK ক্লিক করুন।

    একটি ডায়ালগ বক্স আপনাকে জানিয়ে দেয় যে NDK প্যাকেজটি কী পরিমাণ জায়গা ব্যবহার করে।

  6. OK ক্লিক করুন।

  7. ইনস্টলেশন সম্পন্ন হলে, ফিনিশ-এ ক্লিক করুন।

  8. আপনার প্রজেক্ট স্বয়ংক্রিয়ভাবে বিল্ড ফাইল সিঙ্ক করে এবং বিল্ড সম্পন্ন করে। উদ্ভূত যেকোনো ত্রুটি সমাধান করুন।

  9. প্রতিটি মডিউলকে আপনি যে NDK সংস্করণটি ব্যবহার করতে চান, তা দিয়ে কনফিগার করুন । Android Studio 3.6 বা তার উচ্চতর সংস্করণ ব্যবহার করার সময়, আপনি যদি সংস্করণ নির্দিষ্ট না করেন, তাহলে Android Gradle প্লাগইন এমন একটি সংস্করণ বেছে নেয় যার সাথে এটি সামঞ্জস্যপূর্ণ বলে পরিচিত।

আপনার প্রোজেক্টে NDK-এর নির্দিষ্ট সংস্করণগুলো কনফিগার করুন।

নিম্নলিখিতগুলির মধ্যে কোনো একটি সত্য হলে আপনার প্রোজেক্টে NDK-এর ভার্সন কনফিগার করার প্রয়োজন হতে পারে:

  • আপনার প্রজেক্টটি উত্তরাধিকারসূত্রে প্রাপ্ত এবং আপনাকে NDK ও Android Gradle plugin (AGP)-এর নির্দিষ্ট সংস্করণ ব্যবহার করতে হবে। আরও তথ্যের জন্য, Android Gradle plugin-এর জন্য NDK কনফিগার করুন দেখুন।
  • আপনার একাধিক NDK সংস্করণ ইনস্টল করা আছে এবং আপনি একটি নির্দিষ্ট সংস্করণ ব্যবহার করতে চান। এই ক্ষেত্রে, নিম্নলিখিত কোড নমুনায় দেখানো অনুযায়ী, মডিউলের build.gradle ফাইলে android.ndkVersion প্রপার্টি ব্যবহার করে সংস্করণটি নির্দিষ্ট করুন।

    গ্রুভি

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

    কোটলিন

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

AGP সংস্করণ অনুযায়ী ডিফল্ট NDK সংস্করণ

প্রকাশের আগে, প্রতিটি AGP সংস্করণ সেই সময়ের সর্বশেষ স্থিতিশীল NDK রিলিজ দিয়ে পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা হয়। আপনি যদি build.gradle ফাইলে কোনো NDK সংস্করণ নির্দিষ্ট না করেন, তবে আপনার প্রোজেক্ট বিল্ড করার জন্য এই NDK সংস্করণটি ব্যবহৃত হয়। AGP-এর বিভিন্ন সংস্করণের জন্য ডিফল্ট NDK সংস্করণগুলো AGP রিলিজ নোট এবং AGP পূর্ববর্তী রিলিজ নোট- এ নথিভুক্ত করা আছে।