تحديثات نظام Gradle والمكوّن الإضافي لنظام Gradle المتوافق مع Android
ترقية إصدارات Gradle و"المكوّن الإضافي لنظام Gradle المتوافق مع Android"
عليك أولاً ترقية إصدارَي Gradle و"المكوّن الإضافي لنظام Gradle المتوافق مع Android". يتضمّن هذا التحديث توافقًا أفضل مع بعض التبعيات في حزمة تطوير البرامج (SDK) (بما في ذلك Kotlin 1.9)، بالإضافة إلى بعض إصلاحات الأخطاء البالغة الأهمية.
يتطلّب هذا الإصدار الرئيسي من حزمة تطوير البرامج (SDK) ما يلي من ملحقات الإصدار لمشروع تطبيق Android:
- الإصدار 7.5.0 من Gradle على الأقل، ولكن ليس أعلى من الإصدار 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 وإصدار "مكوّن Android الإضافي" المطلوب هو 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
يستخدم الإصدار 7.4 من "مكوّن Android الإضافي في Gradle" أو الإصدارات الأحدث أداة R8 كأداة تلقائية لتقليل حجم الرمز البرمجي وتشويشه وتحسينه للثنائي، لذلك لا يلزم اتّخاذ أي إجراء خاص في هذه المرحلة.
إذا تم نقل المشروع من الإصدار 4.0 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android، قد يصدر المكوّن الإضافي لنظام Gradle المتوافق مع Android التحذيرات التالية بشأن عمليات إزالة الملفات:
- استخدام
useProguard trueفي ملفbuild.gradle - استخدام
android.enableR8=falseفي ملفgradle.properties
تؤدي إزالة هذه الأسطر عادةً إلى حلّ هذه المشاكل.
نقل البيانات من Kotlin 1.6 إلى 1.9
الخطوة 1: الانتقال إلى الإصدار 1.9.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Kotlin
عدِّل إصدار المكوّن الإضافي 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 إذا كنت تستخدم الإصدار 1.6.X أو 1.7.X من إضافة Kotlin Gradle. راجِع دليل نقل البيانات الرسمي للاطّلاع على مزيد من المعلومات.
الخطوة 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.