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

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

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

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

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

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

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

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

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

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

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

پشتیبانی از مهاجرت کتابخانه‌های جاوا ۷ به جاوا ۸

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

منبع

از آنجایی که حداقل سطح API مورد نیاز SDK، ۲۳ و نسخه 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 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 نسخه ۱.۶.X یا ۱.۷.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 را حذف کرده‌اید. هر دو وابستگی از نسخه 1.8.0 کاتلین در kotlin-stdlib ادغام شده‌اند.