نقل بيانات الإصدار 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) في نطاق الإصدار 7.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, source

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

إذا تم نقل المشروع من الإصدار 4.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android أو إصدار أحدث، قد يُصدر المكوّن الإضافي التحذيرات التالية بشأن عمليات إزالة الملفات:

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

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

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

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

الخطوة 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 بدءًا من الإصدار 1.8.0 من Kotlin.