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

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

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

প্রথমে, আপনার Gradle এবং Android Gradle প্লাগ-ইন ভার্সন আপগ্রেড করুন। এই আপগ্রেডে নির্দিষ্ট কিছু SDK ডিপেন্ডেন্সির (Kotlin 1.9 সহ) সাথে আরও ভালো মানানসই হওয়ার সুবিধা এবং কিছু গুরুতর সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে।

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

  • Gradle ভার্সন কমপক্ষে v7.5.0 হতে হবে, তবে v7.6.0-এর বেশি নয়।
  • v7.4.x রেঞ্জের মধ্যে Android Gradle Plugin (AGP) ভার্সন।

আপনি প্লাগ-ইনের আরও উন্নত ভার্সন টার্গেট করতে পারেন; তবে, আপনি বন্ধ হয়ে যাওয়া সংক্রান্ত সতর্কতা পেতে পারেন অথবা কিছু নতুন ফিচার কাজ নাও করতে পারে।

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

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

Android Gradle প্লাগ-ইন ভার্সন পরিবর্তন করতে, build.gradle ফাইল পরিবর্তন করুন যাতে buildscript ব্লক আছে। যেমন:

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

Java 7 থেকে Java 8 লাইব্রেরি সাপোর্ট মাইগ্রেশন

ধাপ ১ - Java 8 লাইব্রেরি সাপোর্ট চালু করা

সোর্স

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-এ মাইগ্রেট করা

R8, সোর্স

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

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

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

এইসব লাইন সরিয়ে দিলে সাধারণত সমস্যার সমাধান হয়ে যায়।

Kotlin 1.6 থেকে 1.9-এ মাইগ্রেশন

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

সোর্স

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

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

আপনি Kotlin Gradle প্লাগ-ইন 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-এ একত্রিত করা হয়েছে।