نقل إصدارك إلى كتالوجات الإصدارات

تتيح لك كتالوجات إصدارات Gradle إضافة تبعيات ومكونات إضافية والحفاظ عليها بطريقة قابلة للتوسع. يؤدي استخدام كتالوجات إصدار Gradle إلى تسهيل إدارة التبعيات والمكوّنات الإضافية عندما تكون لديك وحدات متعددة. بدلاً من استخدام أسماء وإصدارات التبعية الثابتة في ملفات الإصدار الفردية وتعديل كل إدخال كلما احتجت إلى ترقية إحدى الاعتماديات، يمكنك إنشاء كتالوج إصدار مركزي يتضمّن التبعيات التي يمكن لوحدات متعددة الرجوع إليها بطريقة آمنة مع المساعدة في "استوديو Android".

توفر هذه الصفحة معلومات أساسية حول ترحيل تطبيق Android إلى كتالوجات الإصدارات. لمعرفة المزيد من المعلومات، اطّلِع على مقالة إضافة تبعيات الإصدار ومستندات Gradle.

إنشاء ملف كتالوج إصدار

ابدأ بإنشاء ملف كتالوج الإصدار. في مجلد gradle لمشروعك الجذر، أنشئ ملفًا باسم libs.versions.toml. تبحث أداة Gradle عن الكتالوج في ملف libs.versions.toml بشكلٍ تلقائي، لذلك ننصح باستخدام هذا الاسم التلقائي.

في ملف libs.versions.toml، أضِف الأقسام التالية:

[versions]

[libraries]

[plugins]

يتم استخدام الأقسام على النحو التالي:

  • في مجموعة versions، حدِّد المتغيرات التي تحتفظ بإصدارات التبعيات والمكوّنات الإضافية. ويمكنك استخدام هذه المتغيّرات في الكتل التالية (المربّعات libraries وplugins).
  • في مجموعة libraries، حدِّد اعتمادياتك.
  • في مجموعة plugins، حدِّد المكوّنات الإضافية.

خطوات نقل البيانات

ننصحك بتنفيذ الخطوات بالترتيب المذكور. يمكن أن يستهلك الإصدار التبعيات والمكوّنات الإضافية من إنشاء النصوص البرمجية والكتالوجات في الوقت نفسه، لذا خذ وقتك في نقل التبعيات والمكوّنات الإضافية بشكل فردي.

في ما يلي خطوات عملية نقل البيانات:

  1. أضِف الإدخال الجديد إلى الكتالوج.
  2. مزامنة مشروع Android
  3. استبدِل تعريف السلسلة السابق بموصّل نوع آمن للكتالوج.

نقل التبعيات

أضِف إدخالاً لكل تبعية في كل من القسمَين versions وlibraries من ملف libs.versions.toml. قم بمزامنة مشروعك، ثم استبدل إعلاناتها في ملفات الإصدار بأسماء الكتالوج الخاص بها.

يعرض مقتطف الرمز هذا ملف build.gradle.kts قبل إزالة التبعية:

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.9.0")

}

رائع

dependencies {
    implementation 'androidx.core:core-ktx:1.9.0'

}

يوضح مقتطف الرمز هذا كيفية تحديد التبعية في ملف كتالوج الإصدار:

[versions]
ktx = "1.9.0"

[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }

وننصحك باستخدام تسمية مُقترَحة لمجموعة التبعيات في الكتالوجات وهي حالة الكباب (مثل androidx-ktx) للحصول على مساعدة أفضل في إكمال الرمز في ملفات الإصدار.

في ملف build.gradle.kts لكل وحدة تتطلّب التبعية، حدِّد التبعيات بالأسماء التي حدّدتها في ملف TOML.

Kotlin

dependencies {
   implementation(libs.androidx.ktx)

}

رائع

dependencies {
   implementation libs.androidx.ktx

}

نقل المكوّنات الإضافية

أضِف إدخالاً لكل مكوّن إضافي في قسمَي الإصدارات والمكوّنات الإضافية في ملف libs.versions.toml. زامِن مشروعك ثم استخدِم أسماء الكتالوجات في مجموعة plugins{} في ملفات الإصدار.

يعرض مقتطف الرمز هذا ملف build.gradle.kts قبل إزالة المكوّن الإضافي:

Kotlin

// Top-level `build.gradle.kts` file
plugins {
   id("com.android.application") version "7.4.1" apply false

}

// Module-level `build.gradle.kts` file
plugins {
   id("com.android.application")

}

رائع

// Top-level `build.gradle` file
plugins {
   id 'com.android.application' version '7.4.1' apply false

}

// Module-level `build.gradle` file
plugins {
   id 'com.android.application'

}

يعرض مقتطف الرمز هذا كيفية تحديد المكوّن الإضافي في ملف كتالوج الإصدار:

[versions]
androidGradlePlugin = "7.4.1"

[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }

كما هي الحال في التبعيات، يكون التنسيق المقترَح لإدخالات كتالوج plugins هو حالة الكباب (مثل android-application) للحصول على مساعدة أفضل في إكمال الرمز في ملفات الإصدار.

يوضّح الرمز التالي كيفية تحديد المكوِّن الإضافي com.android.application في الملفات build.gradle.kts العلوية والملفات على مستوى الوحدة. استخدِم alias للمكوّنات الإضافية التي تأتي من ملف كتالوج الإصدار وid للمكوّنات الإضافية التي لا تأتي من ملف كتالوج الإصدار، مثل المكوّنات الإضافية للاصطلاحات.

Kotlin

// Top-level build.gradle.kts
plugins {
   alias(libs.plugins.android.application) apply false

}

// module build.gradle.kts
plugins {
   alias(libs.plugins.android.application)

}

رائع

// Top-level build.gradle
plugins {
   alias libs.plugins.android.application apply false

}

// module build.gradle
plugins {
   alias libs.plugins.android.application

}

مزيد من المعلومات

للتعرّف على الخيارات الإضافية لضبط كتالوج الإصدارات، راجِع الموارد التالية:

المشاكل المعروفة

لا تزال كتالوجات إصدار Gradle قيد التطوير النشط. لمزيد من المعلومات حول الميزات غير المتاحة حتى الآن، يمكنك الاطّلاع على المشاكل والقيود المعروفة.