نقل بيانات الإصدار 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

المصدر

بما أنّ الحد الأدنى لمستوى واجهة برمجة التطبيقات (API) لحزمة تطوير البرامج (SDK) هو 23 وإصدار "المكوّن الإضافي لنظام Gradle المتوافق مع 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

R8، المصدر

يستخدم الإصدار 7.4 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android" والإصدارات الأحدث أداة 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"

المصدر

عدِّل إصدار "المكوّن الإضافي لنظام Gradle المتوافق مع Kotlin" في ملف 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 من "المكوّن الإضافي لنظام Gradle المتوافق مع Kotlin". راجِع دليل نقل البيانات الرسمي لمزيد من المعلومات.

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

المصدر

رقِّ إلى الإصدار 1.9.0 من 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.