کاتالوگ های نسخه Gradle شما را قادر می سازد تا وابستگی ها و افزونه ها را به روشی مقیاس پذیر اضافه و حفظ کنید. استفاده از کاتالوگهای نسخه Gradle مدیریت وابستگیها و افزونهها را در صورت داشتن چندین ماژول آسانتر میکند. بهجای کدنویسی کردن نامها و نسخههای وابستگی در فایلهای ساخت جداگانه و بهروزرسانی هر ورودی هر زمان که نیاز به ارتقاء یک وابستگی داشتید، میتوانید یک کاتالوگ نسخه مرکزی از وابستگیها ایجاد کنید که ماژولهای مختلف میتوانند به روشی ایمن با کمک Android Studio به آن ارجاع دهند.
این صفحه اطلاعات اولیه در مورد انتقال برنامه اندروید شما به کاتالوگ های نسخه ارائه می دهد. برای کسب اطلاعات بیشتر، به افزودن وابستگیهای ساخت و مستندات Gradle مراجعه کنید.
یک فایل کاتالوگ نسخه ایجاد کنید
با ایجاد یک فایل کاتالوگ نسخه شروع کنید. در پوشه gradle
پروژه اصلی خود، فایلی به نام libs.versions.toml
ایجاد کنید. Gradle به طور پیش فرض به دنبال کاتالوگ در فایل libs.versions.toml
می گردد، بنابراین توصیه می کنیم از این نام پیش فرض استفاده کنید.
در فایل libs.versions.toml
خود، این بخش ها را اضافه کنید:
[versions]
[libraries]
[plugins]
بخش ها به شرح زیر استفاده می شوند:
- در بلوک
versions
، متغیرهایی را تعریف کنید که نسخههای وابستگی و افزونههای شما را نگه میدارند. شما از این متغیرها در بلوک های بعدی (بلوک هایlibraries
وplugins
) استفاده می کنید. - در بلوک
libraries
، وابستگی های خود را تعریف کنید. - در بلوک
plugins
، افزونه های خود را تعریف کنید.
مراحل مهاجرت
توصیه می کنیم مراحل را به ترتیب ذکر شده انجام دهید. یک بیلد میتواند وابستگیها و افزونههای اسکریپتهای ساخت و کاتالوگها را به طور همزمان مصرف کند، بنابراین وقت خود را صرف کنید تا وابستگیها و افزونههای خود را بهصورت جداگانه منتقل کنید.
فرآیند مهاجرت به شرح زیر است:
- ورودی جدید را به کاتالوگ اضافه کنید.
- پروژه اندروید خود را همگام سازی کنید.
- اعلان رشته قبلی را با دسترسی نوع ایمن کاتالوگ جایگزین کنید.
وابستگی ها را مهاجرت کنید
یک ورودی برای هر وابستگی در هر دو بخش 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 }
بیشتر بدانید
برای اطلاع از گزینه های اضافی برای پیکربندی کاتالوگ نسخه خود، به این منابع مراجعه کنید:
- کاتالوگ نسخه فرمت فایل TOML گزینه های اضافی را برای پیکربندی فایل کاتالوگ شما مستند می کند.
- اکنون در اندروید برنامه نمونه ما است که از کاتالوگ نسخه استفاده می کند.
مسائل شناخته شده
کاتالوگ نسخه Gradle هنوز در حال توسعه فعال است. برای اطلاعات بیشتر درباره مواردی که هنوز پشتیبانی نمی شود، به مشکلات و محدودیت های شناخته شده مراجعه کنید.