نقل بيانات الإصدار 2.0.0 من حزمة تطوير البرامج (SDK) لمستهلك Android

تحديثات Gradle و"المكوّن الإضافي لنظام Gradle المتوافق مع Android"

ترقية إصدارَي Gradle والمكوّن الإضافي لنظام Gradle المتوافق مع Android

أولاً، عليك ترقية إصدارَي Gradle و"المكوّن الإضافي لنظام Gradle المتوافق مع Android". تتضمّن هذه الترقية توافقًا أفضل مع بعض التبعيات لحزمة تطوير البرامج (SDK) (بما في ذلك Kotlin 1.9)، بالإضافة إلى بعض إصلاحات الأخطاء الحرجة.

يتطلّب الإصدار الرئيسي لحزمة تطوير البرامج (SDK) هذه الإصدارات الملحقة التالية لمشروع تطبيق Android:

  • إصدار Gradle 7.5.0 على الأقل ولكن ليس أعلى من 7.6.0
  • إصدار المكوّن الإضافي لنظام Gradle المتوافق مع Android (AGP) في النطاق من v7.4.x

يمكنك استهداف إصدار أحدث من المكوّنات الإضافية، ولكن قد تتلقّى تحذيرات بشأن إيقافها نهائيًا، أو قد لا تعمل بعض الميزات الجديدة.

لتعديل إصدار Gradle، عليك تعديل السطر في ملف /gradle/wrapper/gradle-wrapper.properties الخاص بمشروعك.

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

لتعديل إصدار "المكوّن الإضافي لنظام Gradle المتوافق مع Android"، عدِّل ملف build.gradle الذي يحتوي على كتلة buildscript. على سبيل المثال:

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

نقل بيانات مكتبة Java 7 إلى Java 8

الخطوة 1: تفعيل إتاحة مكتبة Java 8

المصدر

بما أنّ الحد الأدنى لمستوى واجهة برمجة التطبيقات في حزمة SDK هو 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، المصدر

يستخدم الإصدار 7.4 من AGP والإصدارات الأحدث أداة R8 كأداة التصغير والتشويش والتحسين التلقائية للملف الثنائي، لذلك ليس عليك اتّخاذ أي إجراء خاص في هذه المرحلة.

في حال نقل المشروع من الإصدار 4.0 من AGP أو الإصدارات الأحدث، قد يُصدر AGP التحذيرات التالية بشأن عمليات إزالة الملفات:

  • استخدام useProguard true في ملف build.gradle
  • استخدام android.enableR8=false في ملف gradle.properties

وتؤدي إزالة هذه الأسطر عادةً إلى حلّ هذه المشاكل.

نقل البيانات من Kotlin 1.6 إلى 1.9

الخطوة 1: نقل البيانات إلى الإصدار 1.9.0 من مكوّن 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 الاصطناعيّة في حال كنت تستخدم الإصدار 1.6.X أو 1.7.X من Kotlin Gradle Plugin. يُرجى الرجوع إلى دليل نقل البيانات الرسمي للحصول على مزيد من المعلومات.

الخطوة 2: ترقية kotlin-stdlib إلى الإصدار 1.9.0

المصدر

عليك ترقية الإصدار kotlin-stblib إلى الإصدار 1.9.0 في ملف build.gradle الخاص بالتطبيق.

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

احرص على إزالة أي إشارات إلى kotlin-stdlib-jdk7 أو kotlin-stdlib-jdk8. تم دمج كلتا التبعيتين في kotlin-stdlib بدءًا من Kotlin 1.8.0.