লাইব্রেরি সেটআপ সমর্থন করুন

দ্রষ্টব্য: অ্যান্ড্রয়েড ৯.০ (এপিআই লেভেল ২৮) প্রকাশের সাথে সাথে অ্যান্ড্রয়েডএক্স নামে সাপোর্ট লাইব্রেরির একটি নতুন সংস্করণ এসেছে যা জেটপ্যাকের অংশ। অ্যান্ড্রয়েডএক্স লাইব্রেরিতে বিদ্যমান সাপোর্ট লাইব্রেরি রয়েছে এবং সর্বশেষ জেটপ্যাক উপাদানগুলিও অন্তর্ভুক্ত রয়েছে।

আপনি সাপোর্ট লাইব্রেরি ব্যবহার চালিয়ে যেতে পারেন। ঐতিহাসিক নিদর্শনগুলি (যারা 27 এবং তার আগের সংস্করণে তৈরি এবং android.support.* হিসাবে প্যাকেজ করা হয়েছে) Google Maven-এ উপলব্ধ থাকবে। তবে, সমস্ত নতুন লাইব্রেরি ডেভেলপমেন্ট AndroidX লাইব্রেরিতেই হবে।

আমরা সকল নতুন প্রকল্পে AndroidX লাইব্রেরি ব্যবহার করার পরামর্শ দিচ্ছি। আপনার বিদ্যমান প্রকল্পগুলিকে AndroidX-এ স্থানান্তর করার কথাও বিবেচনা করা উচিত।

আপনার ডেভেলপমেন্ট প্রজেক্টে আপনি কীভাবে অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরি সেটআপ করবেন তা নির্ভর করে আপনি কোন বৈশিষ্ট্যগুলি ব্যবহার করতে চান এবং আপনার অ্যাপ্লিকেশনের সাথে আপনি কোন পরিসরের অ্যান্ড্রয়েড প্ল্যাটফর্ম সংস্করণ সমর্থন করতে চান তার উপর।

এই ডকুমেন্টটি আপনাকে সাপোর্ট লাইব্রেরি প্যাকেজ ডাউনলোড করার এবং আপনার ডেভেলপমেন্ট পরিবেশে লাইব্রেরি যোগ করার ক্ষেত্রে নির্দেশনা দেয়।

সাপোর্ট লাইব্রেরিগুলি এখন গুগলের ম্যাভেন রিপোজিটরির মাধ্যমে উপলব্ধ। আমরা আর SDK ম্যানেজারের মাধ্যমে লাইব্রেরিগুলি ডাউনলোড করা সমর্থন করি না এবং সেই কার্যকারিতা শীঘ্রই সরিয়ে ফেলা হবে।

সাপোর্ট লাইব্রেরি নির্বাচন করা

আপনার অ্যাপ্লিকেশনে একটি সাপোর্ট লাইব্রেরি যোগ করার আগে, আপনি কোন বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করতে চান এবং সর্বনিম্ন অ্যান্ড্রয়েড সংস্করণগুলি আপনি সমর্থন করতে চান তা নির্ধারণ করুন। বিভিন্ন লাইব্রেরি দ্বারা প্রদত্ত বৈশিষ্ট্যগুলি সম্পর্কে আরও তথ্যের জন্য, সাপোর্ট লাইব্রেরি বৈশিষ্ট্যগুলি দেখুন।

সাপোর্ট লাইব্রেরি যোগ করা হচ্ছে

একটি সাপোর্ট লাইব্রেরি ব্যবহার করার জন্য, আপনাকে আপনার ডেভেলপমেন্ট পরিবেশের মধ্যে আপনার অ্যাপ্লিকেশনের প্রজেক্টের ক্লাসপাথ নির্ভরতা পরিবর্তন করতে হবে। আপনি যে প্রতিটি সাপোর্ট লাইব্রেরি ব্যবহার করতে চান তার জন্য আপনাকে এই পদ্ধতিটি সম্পাদন করতে হবে।

আপনার অ্যাপ্লিকেশন প্রকল্পে একটি সাপোর্ট লাইব্রেরি যোগ করতে:

  1. আপনার প্রোজেক্টের settings.gradle ফাইলে Google এর Maven রিপোজিটরি অন্তর্ভুক্ত করুন।
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
    
            // If you're using a version of Gradle lower than 4.1, you must
            // instead use:
            //
            // maven {
            //     url 'https://maven.google.com'
            // }
        }
    }
  2. প্রতিটি মডিউলের জন্য যেখানে আপনি একটি সাপোর্ট লাইব্রেরি ব্যবহার করতে চান, মডিউলের build.gradle ফাইলের dependencies ব্লকে লাইব্রেরি যোগ করুন। উদাহরণস্বরূপ, v4 core-utils লাইব্রেরি যোগ করতে, নিম্নলিখিতগুলি যোগ করুন:
    dependencies {
        ...
        implementation "com.android.support:support-core-utils:28.0.0"
    }

সতর্কতা: গতিশীল নির্ভরতা (উদাহরণস্বরূপ, palette-v7:23.0.+ ) ব্যবহার করলে অপ্রত্যাশিত সংস্করণ আপডেট এবং রিগ্রেশন অসঙ্গতি দেখা দিতে পারে। আমরা আপনাকে একটি লাইব্রেরি সংস্করণ স্পষ্টভাবে উল্লেখ করার পরামর্শ দিচ্ছি (উদাহরণস্বরূপ, palette-v7:28.0.0 )।

সাপোর্ট লাইব্রেরি API ব্যবহার করা

বিদ্যমান ফ্রেমওয়ার্ক API-এর জন্য সাপোর্ট লাইব্রেরি ক্লাসগুলির নাম সাধারণত ফ্রেমওয়ার্ক ক্লাসের মতোই থাকে কিন্তু android.support ক্লাস প্যাকেজের মধ্যে থাকে, অথবা একটি *Compat সাফিক্স থাকে।

সতর্কতা: সাপোর্ট লাইব্রেরি থেকে ক্লাস ব্যবহার করার সময়, নিশ্চিত করুন যে আপনি উপযুক্ত প্যাকেজ থেকে ক্লাসটি আমদানি করছেন। উদাহরণস্বরূপ, ActionBar ক্লাস প্রয়োগ করার সময়:

  • সাপোর্ট লাইব্রেরি ব্যবহার করার সময় android.support.v7.app.ActionBar ব্যবহার করুন।
  • android.app.ActionBar শুধুমাত্র API লেভেল ১১ বা তার বেশির জন্য ডেভেলপ করার সময়।

দ্রষ্টব্য: আপনার অ্যাপ্লিকেশন প্রকল্পে সাপোর্ট লাইব্রেরি অন্তর্ভুক্ত করার পরে, আমরা দৃঢ়ভাবে সুপারিশ করছি যে আপনি আপনার অ্যাপটি সঙ্কুচিত করুন, অস্পষ্ট করুন এবং প্রকাশের জন্য অপ্টিমাইজ করুন । অস্পষ্টতার মাধ্যমে আপনার সোর্স কোড সুরক্ষিত করার পাশাপাশি, শঙ্কু আপনার অ্যাপ্লিকেশনে অন্তর্ভুক্ত যেকোনো লাইব্রেরি থেকে অব্যবহৃত ক্লাসগুলি সরিয়ে দেয়, যা আপনার অ্যাপ্লিকেশনের ডাউনলোড আকার যতটা সম্ভব ছোট রাখে।

কিছু সাপোর্ট লাইব্রেরি বৈশিষ্ট্য ব্যবহারের জন্য আরও নির্দেশিকা অ্যান্ড্রয়েড ডেভেলপার প্রশিক্ষণ ক্লাস , গাইড এবং নমুনাগুলিতে দেওয়া আছে। পৃথক সাপোর্ট লাইব্রেরি ক্লাস এবং পদ্ধতি সম্পর্কে আরও তথ্যের জন্য, API রেফারেন্সে android.support প্যাকেজগুলি দেখুন।

ম্যানিফেস্ট ঘোষণার পরিবর্তন

যদি আপনি সাপোর্ট লাইব্রেরি ব্যবহার করে আপনার বিদ্যমান অ্যাপ্লিকেশনের ব্যাকওয়ার্ড কম্প্যাটিবিলিটি অ্যান্ড্রয়েড এপিআই-এর পূর্ববর্তী সংস্করণে বৃদ্ধি করেন, তাহলে আপনার অ্যাপ্লিকেশনের ম্যানিফেস্ট আপডেট করতে ভুলবেন না। বিশেষ করে, আপনার ম্যানিফেস্টে <uses-sdk> ট্যাগের android:minSdkVersion উপাদানটিকে নতুন, নিম্ন সংস্করণ নম্বরে আপডেট করা উচিত, যেমনটি নীচে দেখানো হয়েছে:

  <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

ম্যানিফেস্ট সেটিংটি Google Play কে বলে যে আপনার অ্যাপ্লিকেশনটি Android 4.0 (API লেভেল 14) এবং উচ্চতর সংস্করণের ডিভাইসগুলিতে ইনস্টল করা যেতে পারে।

আপনি যদি Gradle বিল্ড ফাইল ব্যবহার করেন, তাহলে বিল্ড ফাইলের minSdkVersion সেটিং ম্যানিফেস্ট সেটিংসকে ওভাররাইড করে।

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        minSdkVersion 16
        ...
    }
    ...
}

এই ক্ষেত্রে, বিল্ড ফাইল সেটিং গুগল প্লেকে বলে যে আপনার অ্যাপ্লিকেশনের ডিফল্ট বিল্ড ভেরিয়েন্টটি অ্যান্ড্রয়েড ৪.১ (এপিআই লেভেল ১৬) এবং উচ্চতর সংস্করণের ডিভাইসগুলিতে ইনস্টল করা যেতে পারে। বিল্ড ভেরিয়েন্ট সম্পর্কে আরও তথ্যের জন্য, বিল্ড সিস্টেম ওভারভিউ দেখুন।

দ্রষ্টব্য: যদি আপনি একাধিক সাপোর্ট লাইব্রেরি অন্তর্ভুক্ত করেন, তাহলে ন্যূনতম SDK সংস্করণটি নির্দিষ্ট লাইব্রেরিগুলির যেকোনোটির জন্য প্রয়োজনীয় সর্বোচ্চ সংস্করণ হতে হবে। উদাহরণস্বরূপ, যদি আপনার অ্যাপে v14 প্রেফারেন্স সাপোর্ট লাইব্রেরি এবং v17 লিনব্যাক লাইব্রেরি উভয়ই অন্তর্ভুক্ত থাকে, তাহলে আপনার ন্যূনতম SDK সংস্করণটি 17 বা তার বেশি হতে হবে।