تتيح لك قائمة المواد (BOM) في Compose إدارة جميع إصدارات مكتبة Compose من خلال تحديد إصدار قائمة المواد فقط. يحتوي ملف BOM نفسه على روابط تؤدي إلى الإصدارات الثابتة من مكتبات Compose المختلفة، بطريقة تضمن عملها معًا بشكل جيد. عند استخدام قائمة المواد في تطبيقك، لن تحتاج إلى إضافة أي إصدار إلى تبعيات مكتبة Compose نفسها. عند تحديث إصدار قائمة المواد، يتم تلقائيًا تحديث جميع المكتبات التي تستخدمها إلى إصداراتها الجديدة.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2026.09.00") implementation(composeBom) testImplementation(composeBom) androidTestImplementation(composeBom) // Specify Compose library dependencies without a version definition implementation("androidx.compose.foundation:foundation") // .. testImplementation("androidx.compose.ui:ui-test-junit4") // .. androidTestImplementation("androidx.compose.ui:ui-test") }
أنيق
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom:2026.09.00') implementation composeBom testImplementation composeBom androidTestImplementation composeBom // Specify Compose library dependencies without a version definition implementation 'androidx.compose.foundation:foundation' // .. testImplementation 'androidx.compose.ui:ui-test-junit4' // .. androidTestImplementation 'androidx.compose.ui:ui-test' }
لمعرفة إصدارات مكتبة Compose التي تم ربطها بإصدار معيّن من قائمة المواد، يُرجى الاطّلاع على ربط قائمة المواد بإصدار المكتبة.
لماذا لا يتم تضمين مكتبة Compose Compiler في قائمة المواد؟
لا ترتبط إضافة برنامج تجميع Compose Kotlin (androidx.compose.compiler) بإصدارات مكتبة Compose. بدلاً من ذلك، يتم ربطه بإصدارات المكوّن الإضافي لبرنامج تجميع Kotlin ويتم إصداره بوتيرة منفصلة عن بقية مكوّنات Compose.
اعتبارًا من الإصدار 2.0 من Kotlin، تتم إدارة برنامج تجميع Compose مع برنامج تجميع Kotlin ويستخدم الإصدار نفسه من برنامج تجميع Kotlin. يُرجى الاطّلاع على المكوّن الإضافي Compose Compiler Gradle لمعرفة تفاصيل الإعدادات.
في الإصدارات الأقدم من Kotlin 2.0، يمكنك الرجوع إلى خريطة توافق Compose مع Kotlin لتحديد إصدار برنامج تجميع متوافق مع إصدار Kotlin، والاطّلاع على برنامج تجميع Compose للحصول على إرشادات حول كيفية ضبطه.
كيف يمكنني استخدام إصدار مكتبة مختلف عن الإصدار المحدّد في قائمة المواد؟
في قسم التبعيات build.gradle، احتفظ باستيراد منصة BOM. في عملية استيراد المكتبة التي يعتمد عليها تطبيقك، حدِّد الإصدار الذي تريد تجاوزه. على سبيل المثال، إليك كيفية تحديد التبعيات إذا أردت استخدام إصدار أحدث من مكتبة الصور المتحركة، بغض النظر عن الإصدار المحدّد في قائمة المواد:
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2026.09.00") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.13.0-alpha03") // .. }
أنيق
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2026.09.00") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.13.0-alpha03' // .. }
هل تضيف قائمة المواد تلقائيًا جميع مكتبات Compose إلى تطبيقي؟
لا، لإضافة مكتبات Compose واستخدامها في تطبيقك، يجب تحديد كل مكتبة كسطر تبعية منفصل في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً app/build.gradle).
يساعد استخدام قائمة المواد في التحقّق من توافق إصدارات أي مكتبات Compose في تطبيقك، ولكن قائمة المواد لا تضيف مكتبات Compose هذه إلى تطبيقك.
لماذا تُعدّ قائمة المواد الطريقة المقترَحة لإدارة إصدارات مكتبة Compose؟
من الآن فصاعدًا، سيتم إصدار مكتبات Compose بشكل مستقل، ما يعني أنّ أرقام الإصدارات ستبدأ في الزيادة وفقًا لوتيرتها الخاصة. ويتم اختبار أحدث الإصدارات الثابتة من كل مكتبة معًا. ومع ذلك، قد يكون من الصعب العثور على أحدث الإصدارات الثابتة لكل مكتبة، وتساعدك قائمة المواد في استخدام هذه الإصدارات الأخيرة تلقائيًا.
هل أنا مُجبَر على استخدام قائمة المواد؟
لا، لا يزال بإمكانك اختيار إضافة كل إصدار من التبعيات يدويًا. ومع ذلك، ننصح باستخدام قائمة المواد لأنّها ستسهّل استخدام جميع الإصدارات الثابتة الأخيرة في الوقت نفسه.
هل تعمل قائمة المواد مع كتالوجات الإصدارات؟
نعم. يمكنك تضمين قائمة المواد نفسها في قائمة الإصدارات وحذف إصدارات مكتبة Compose الأخرى:
[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
لا تنسَ استيراد قائمة المواد في ملف build.gradle الخاص بالوحدة:
Kotlin
dependencies { val composeBom = platform(libs.androidx.compose.bom) implementation(composeBom) androidTestImplementation(composeBom) // import Compose dependencies as usual }
أنيق
dependencies { Dependency composeBom = platform(libs.androidx.compose.bom) implementation composeBom androidTestImplementation(composeBom) // import Compose dependencies as usual }
ماذا لو أردت تجربة الإصدارات الأولية أو التجريبية من مكتبات Compose؟
تتوفّر ثلاث قوائم مواد في Compose. كل قائمة مواد هي لقطة في وقت محدّد لأحدث الإصدارات المتاحة من مكتبات Compose.
- الإصدار الثابت: يحتوي على أحدث الإصدارات الثابتة لكل مكتبة.
- الإصدار التجريبي: يحتوي على أحدث إصدار تجريبي أو إصدار محتمل (RC) أو إصدارات ثابتة من كل مكتبة.
- الإصدار الأولي: يحتوي على أحدث الإصدارات الأولية أو التجريبية أو المرشحة أو الثابتة لكل مكتبة.
يتم تحديد إصدارَي Alpha وBeta من قائمة المواد من خلال إضافة -alpha و-beta إلى اسم عنصر قائمة المواد. لا يحتوي الإصدار الثابت على لاحقة.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom-alpha:2026.09.00") // or platform("androidx.compose:compose-bom-beta:2026.09.00") implementation(composeBom) // .. }
أنيق
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2026.09.00') // or platform('androidx.compose:compose-bom-beta:2026.09.00') implementation composeBom // .. }
كيف يمكنني الإبلاغ عن مشكلة أو تقديم ملاحظات حول "قائمة المواد"؟
يمكنك الإبلاغ عن المشاكل في أداة تتبُّع المشاكل.
التطبيقات المقترَحة لك
- ملاحظة: يتم عرض نص الرابط عندما يكون JavaScript غير مفعَّل
- Material Design 3 في Compose
- ConstraintLayout في Compose
- الموارد في Compose