Android Consumer SDK v2.0.0 এর জন্য মাইগ্রেশন

Gradle এবং Android Gradle প্লাগইন আপডেট

Gradle এবং Android Gradle প্লাগইন সংস্করণ আপগ্রেড করুন

প্রথমে, আপনার Gradle এবং Android Gradle Plugin-এর ভার্সন আপগ্রেড করুন। এই আপগ্রেডে নির্দিষ্ট কিছু SDK ডিপেন্ডেন্সির (Kotlin 1.9 সহ) সাথে উন্নততর সামঞ্জস্যের পাশাপাশি কিছু গুরুতর বাগ ফিক্স অন্তর্ভুক্ত রয়েছে।

এই SDK প্রধান রিলিজটির জন্য আপনার অ্যান্ড্রয়েড অ্যাপ্লিকেশন প্রজেক্টের নিম্নলিখিত সংস্করণ নির্ভরতাগুলো প্রয়োজন:

  • Gradle ভার্সন কমপক্ষে v7.5.0 কিন্তু v7.6.0-এর বেশি নয়।
  • অ্যান্ড্রয়েড গ্রেডল প্লাগইন (AGP)-এর সংস্করণ v7.4.x পর্যায়ের হতে হবে।

আপনি প্লাগইনগুলির উচ্চতর সংস্করণ ব্যবহার করতে পারেন; তবে, আপনি অপ্রচলিত হওয়ার সতর্কবার্তার সম্মুখীন হতে পারেন, অথবা কিছু নতুন বৈশিষ্ট্য কাজ নাও করতে পারে।

Gradle সংস্করণ পরিবর্তন করতে, আপনার প্রোজেক্টের /gradle/wrapper/gradle-wrapper.properties ফাইলের লাইনটি পরিবর্তন করুন।

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip

অ্যান্ড্রয়েড গ্রেডল প্লাগইন সংস্করণ পরিবর্তন করতে, build.gradle ফাইলটির buildscript ব্লকটি পরিবর্তন করুন। উদাহরণস্বরূপ:

buildscript {
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.1'
    }
}

জাভা ৭ থেকে জাভা ৮ লাইব্রেরি সাপোর্ট মাইগ্রেশন

ধাপ ১ - জাভা ৮ লাইব্রেরি সমর্থন সক্রিয় করুন

উৎস

যেহেতু SDK-এর সর্বনিম্ন API লেভেল ২৩ এবং প্রয়োজনীয় AGP ভার্সন ৭.৪+, তাই কনফিগারেশনটি উল্লেখিত সোর্স ডকুমেন্টেশন থেকে কিছুটা ভিন্ন।

buildscript {

    repositories {
        google()
        mavenCentral()
        jcenter()
        maven {
            url = uri("https://storage.googleapis.com/r8-releases/raw")
        }
    }
    dependencies {
        classpath 'com.android.tools:r8:8.0.46'
        classpath 'com.android.tools.build:gradle:7.4.1'
    }
}

android {
    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.3'
}

ধাপ ২ - Proguard বা Dexguard থেকে R8-এ স্থানান্তরিত হন

আর৮, উৎস

AGP v7.4+ বাইনারিটির জন্য ডিফল্ট সঙ্কুচিতকরণ, অবফাসকেশন এবং অপ্টিমাইজেশন টুল হিসেবে R8 ব্যবহার করে, তাই এই পর্যায়ে কোনো বিশেষ পদক্ষেপের প্রয়োজন নেই।

প্রজেক্টটি AGP 4.0+ থেকে মাইগ্রেট করা হলে, ফাইল মুছে ফেলার বিষয়ে AGP নিম্নলিখিত সতর্কবার্তাগুলো দিতে পারে:

  • build.gradle ফাইলে useProguard true ব্যবহার
  • gradle.properties ফাইলে android.enableR8=false ব্যবহার

এই লাইনগুলো মুছে দিলে সাধারণত সমস্যাগুলো সমাধান হয়ে যায়।

কোটলিন ১.৬ থেকে ১.৯ এ স্থানান্তর

ধাপ ১ - Kotlin Gradle Plugin 1.9.0-এ মাইগ্রেট করুন

উৎস

আপনার অ্যাপ্লিকেশনের শীর্ষ স্তরের মডিউলের build.gradle ফাইলে Kotlin Gradle Plugin-এর সংস্করণ আপডেট করুন। যদি এটি অনুপস্থিত থাকে, তবে buildscript ব্লকের dependencies-এ org.jetbrains.kotlin:kotlin-gradle-plugin যোগ করতে ভুলবেন না।

buildscript {
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
  }
}

আপনি যদি Kotlin Gradle Plugin 1.6.X বা 1.7.X থেকে এসে থাকেন, তবে আপনাকে অবশ্যই Kotlin-synthetics থেকে আপনার অ্যাপ্লিকেশনটি মাইগ্রেট করতে হবে। আরও তথ্যের জন্য অফিসিয়াল মাইগ্রেশন গাইড দেখুন।

ধাপ ২ - kotlin-stdlib কে 1.9.0 সংস্করণে আপগ্রেড করুন

উৎস

আপনার অ্যাপ্লিকেশনের build.gradle ফাইলে kotlin-stblib কে 1.9.0 সংস্করণে আপগ্রেড করুন।

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.0"
}

kotlin-stdlib-jdk7 বা kotlin-stdlib-jdk8 এর যেকোনো উল্লেখ মুছে ফেলতে ভুলবেন না। Kotlin 1.8.0 থেকে এই দুটি ডিপেন্ডেন্সিই kotlin-stdlib এর সাথে একীভূত করা হয়েছে।