ساخت خود را به کاتالوگ های نسخه منتقل کنید

کاتالوگ های نسخه Gradle شما را قادر می سازد تا وابستگی ها و افزونه ها را به روشی مقیاس پذیر اضافه و حفظ کنید. استفاده از کاتالوگ‌های نسخه Gradle مدیریت وابستگی‌ها و افزونه‌ها را در صورت داشتن چندین ماژول آسان‌تر می‌کند. به‌جای کدنویسی کردن نام‌ها و نسخه‌های وابستگی در فایل‌های ساخت جداگانه و به‌روزرسانی هر ورودی هر زمان که نیاز به ارتقاء یک وابستگی داشتید، می‌توانید یک کاتالوگ نسخه مرکزی از وابستگی‌ها ایجاد کنید که ماژول‌های مختلف می‌توانند به روشی ایمن با کمک Android Studio به آن ارجاع دهند.

این صفحه اطلاعات اولیه در مورد انتقال برنامه اندروید شما به کاتالوگ های نسخه ارائه می دهد. برای کسب اطلاعات بیشتر، به افزودن وابستگی‌های ساخت و مستندات Gradle مراجعه کنید.

یک فایل کاتالوگ نسخه ایجاد کنید

با ایجاد یک فایل کاتالوگ نسخه شروع کنید. در پوشه gradle پروژه اصلی خود، فایلی به نام libs.versions.toml ایجاد کنید. Gradle به طور پیش فرض به دنبال کاتالوگ در فایل libs.versions.toml می گردد، بنابراین توصیه می کنیم از این نام پیش فرض استفاده کنید.

در فایل libs.versions.toml خود، این بخش ها را اضافه کنید:

[versions]

[libraries]

[plugins]

بخش ها به شرح زیر استفاده می شوند:

  • در بلوک versions ، متغیرهایی را تعریف کنید که نسخه‌های وابستگی و افزونه‌های شما را نگه می‌دارند. شما از این متغیرها در بلوک های بعدی (بلوک های libraries و plugins ) استفاده می کنید.
  • در بلوک libraries ، وابستگی های خود را تعریف کنید.
  • در بلوک plugins ، افزونه های خود را تعریف کنید.

مراحل مهاجرت

توصیه می کنیم مراحل را به ترتیب ذکر شده انجام دهید. یک بیلد می‌تواند وابستگی‌ها و افزونه‌های اسکریپت‌های ساخت و کاتالوگ‌ها را به طور همزمان مصرف کند، بنابراین وقت خود را صرف کنید تا وابستگی‌ها و افزونه‌های خود را به‌صورت جداگانه منتقل کنید.

فرآیند مهاجرت به شرح زیر است:

  1. ورودی جدید را به کاتالوگ اضافه کنید.
  2. پروژه اندروید خود را همگام سازی کنید.
  3. اعلان رشته قبلی را با دسترسی نوع ایمن کاتالوگ جایگزین کنید.

وابستگی ها را مهاجرت کنید

یک ورودی برای هر وابستگی در هر دو بخش versions و libraries فایل libs.versions.toml اضافه کنید. پروژه خود را همگام سازی کنید و سپس اعلان های آنها را در فایل های ساخت با نام کاتالوگ آنها جایگزین کنید.

این قطعه کد فایل build.gradle.kts را قبل از حذف وابستگی نشان می دهد:

کاتلین

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 تعریف کرده اید، تعریف کنید.

کاتلین

dependencies {
   implementation(libs.androidx.ktx)

}

شیار

dependencies {
   implementation libs.androidx.ktx

}

مهاجرت افزونه ها

یک ورودی برای هر افزونه هم در نسخه ها و هم در بخش افزونه های فایل libs.versions.toml اضافه کنید. پروژه خود را همگام‌سازی کنید، و سپس اعلان‌های آن‌ها را در بلوک plugins{} در فایل‌های ساخت، با نام کاتالوگ‌شان جایگزین کنید.

این قطعه کد فایل build.gradle.kts را قبل از حذف افزونه نشان می دهد:

کاتلین

// 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 برای افزونه هایی که از فایل کاتالوگ نسخه نمی آیند، مانند افزونه های کنوانسیون استفاده کنید.

کاتلین

// 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 هنوز در حال توسعه فعال است. برای اطلاعات بیشتر درباره مواردی که هنوز پشتیبانی نمی شود، به مشکلات و محدودیت های شناخته شده مراجعه کنید.