مهاجرت برای Android Consumer SDK نسخه 2.0.0

به روز رسانی پلاگین Gradle و Android Gradle

نسخه های Gradle و Android Gradle Plugin را ارتقا دهید

ابتدا نسخه Gradle و Android Gradle Plugin خود را ارتقا دهید. این ارتقاء شامل سازگاری بهتر با برخی وابستگی‌های SDK (از جمله Kotlin 1.9) و همچنین برخی رفع اشکالات مهم است.

این نسخه اصلی SDK به وابستگی‌های نسخه زیر برای پروژه برنامه Android شما نیاز دارد:

  • نسخه Gradle حداقل v7.5.0 اما بالاتر از v7.6.0 نیست.
  • یک نسخه Android Gradle Plugin (AGP) در محدوده v7.4.x.

می توانید نسخه بالاتری از افزونه ها را هدف قرار دهید. با این حال، ممکن است با هشدارهای منسوخ شدن مواجه شوید، یا برخی از ویژگی های جدید ممکن است کار نکنند.

برای تغییر نسخه Gradle، خط را در فایل /gradle/wrapper/gradle-wrapper.properties پروژه خود تغییر دهید.

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

برای تغییر نسخه Android Gradle Plugin، فایل build.gradle را که حاوی بلوک buildscript است تغییر دهید. به عنوان مثال:

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

جاوا 7 به جاوا 8 از مهاجرت پشتیبانی می کند

مرحله 1 - پشتیبانی از کتابخانه جاوا 8 را فعال کنید

منبع

از آنجایی که سطح SDK min API 23 است و نسخه AGP مورد نیاز 7.4+ است، پیکربندی کمی با مستندات منبع ذکر شده متفاوت است.

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'
}

مرحله 2 - از Proguard یا Dexguard به R8 مهاجرت کنید

R8، منبع

AGP v7.4+ از R8 به عنوان ابزار کوچک کردن، مبهم سازی و بهینه سازی پیش فرض برای باینری استفاده می کند، بنابراین در این مرحله نیازی به اقدام خاصی نیست.

اگر پروژه از AGP 4.0+ منتقل شود، AGP ممکن است هشدارهای زیر را در مورد حذف فایل صادر کند:

  • useProguard true در فایل build.gradle
  • android.enableR8=false در فایل gradle.properties

حذف این خطوط معمولاً آن مشکلات را حل می کند.

مهاجرت کاتلین 1.6 به 1.9

مرحله 1 - به پلاگین Kotlin Gradle 1.9.0 مهاجرت کنید

منبع

نسخه پلاگین Kotlin Gradle را در فایل build.gradle ماژول سطح بالای برنامه خود به روز کنید. مطمئن شوید که org.jetbrains.kotlin:kotlin-gradle-plugin در وابستگی های بلوک buildscript اضافه کنید، در صورتی که از دست رفته باشد.

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

اگر از پلاگین Kotlin Gradle 1.6.X یا 1.7.X می آیید، باید برنامه خود را از Kotlin-synthetics منتقل کنید. برای اطلاعات بیشتر به راهنمای رسمی مهاجرت مراجعه کنید.

مرحله 2 - kotlin-stdlib را به 1.9.0 ارتقا دهید

منبع

kotlin-stblib در فایل build.gradle برنامه خود به 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 ادغام شده‌اند.