انتقال برای کیت توسعه نرم‌افزار مصرف‌کننده Android نسخه ۲.۰.۰

به‌روزرسانی‌های Gradle و افزایه Android Gradle

ارتقا دادن نسخه‌های Gradle و «افزایه Android Gradle»

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

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

  • نسخه Gradle حداقل نسخه ۷.۵.۰ اما نه بالاتر از نسخه ۷.۶.۰.
  • نسخه «افزایه Android Gradle» (AGP) در محدوده v7.4.x.

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

برای اصلاح نسخه 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

منبع

ازآنجایی‌که حداقل سطح میانای برنامه‌سازی کاربردی کیت توسعه نرم‌افزار ۲۳ است و نسخه 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 نسخه ۷.۴ و بالاتر از R8 به‌عنوان ابزار پیش‌فرض کوچک‌سازی، مبهم‌سازی، و بهینه‌سازی برای باینری استفاده می‌کند، بنابراین در این مرحله به اقدام خاصی نیاز نیست.

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

  • useProguard true مورد استفاده در فایل build.gradle
  • android.enableR8=false مورد استفاده در فایل gradle.properties

برداشتن این خطوط معمولاً این مشکلات را برطرف می‌کند.

انتقال Kotlin نسخه ۱.۶ به ۱.۹

مرحله ۱ - انتقال به افزایه Kotlin Gradle نسخه ۱.۹.۰

منبع

نسخه «افزایه 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 Plugin نسخه 1.6.X یا 1.7.X استفاده می‌کنید، باید برنامه‌تان را از Kotlin-synthetics منتقل کنید. برای اطلاعات بیشتر، به راهنمای انتقال رسمی مراجعه کنید.

مرحله ۲ - ارتقا دادن kotlin-stdlib به نسخه ۱.۹.۰

منبع

kotlin-stblib را در فایل build.gradle برنامه به نسخه ۱.۹.۰ ارتقا دهید.

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

حتماً هرگونه ارجاع به kotlin-stdlib-jdk7 یا kotlin-stdlib-jdk8 را بردارید. هر دو وابستگی در kotlin-stdlib از Kotlin 1.8.0 ادغام شده‌اند.