चीज़ों का बिल इस्तेमाल करें

Compose बिल ऑफ़ मटीरियल (बीओएम) की मदद से, Compose लाइब्रेरी के सभी वर्शन मैनेज किए जा सकते हैं. इसके लिए, आपको सिर्फ़ बीओएम का वर्शन बताना होगा. बीओएम में, 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")
}

Groovy

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 के बाकी हिस्सों से अलग रिलीज़ किया जाता है.

Kotlin 2.0 से, Compose कंपाइलर को Kotlin कंपाइलर के साथ मैनेज किया जाता है. साथ ही, यह Kotlin कंपाइलर के वर्शन का ही इस्तेमाल करता है. कॉन्फ़िगरेशन की जानकारी के लिए, Compose कंपाइलर Gradle प्लगिन देखें.

Kotlin 2.0 से पहले के वर्शन में, Compose और Kotlin के साथ काम करने वाले वर्शन का मैप देखें. इससे आपको कंपाइलर के उस वर्शन की पहचान करने में मदद मिलेगी जो आपके Kotlin वर्शन के साथ काम करता है. साथ ही, इसे कॉन्फ़िगर करने के बारे में जानने के लिए, Compose कंपाइलर देखें.

मैं बीओएम में तय किए गए वर्शन से अलग लाइब्रेरी वर्शन का इस्तेमाल कैसे करूं?

build.gradle डिपेंडेंसी सेक्शन में, बीओएम प्लैटफ़ॉर्म का इंपोर्ट बनाए रखें. लाइब्रेरी डिपेंडेंसी इंपोर्ट पर, ओवरराइड करने वाला वर्शन बताएं. उदाहरण के लिए, अगर आपको ऐनिमेशन लाइब्रेरी के नए वर्शन का इस्तेमाल करना है, तो डिपेंडेंसी का एलान करने का तरीका यहां बताया गया है. इससे कोई फ़र्क़ नहीं पड़ता कि बीओएम में कौनसा वर्शन तय किया गया है:

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")

    // ..
}

Groovy

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 लाइब्रेरी के अन्य वर्शन को हटाया जा सकता है:

[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
}

Groovy

dependencies {
    Dependency composeBom = platform(libs.androidx.compose.bom)
    implementation composeBom
    androidTestImplementation(composeBom)

    // import Compose dependencies as usual
}

अगर मुझे Compose लाइब्रेरी के ऐल्फ़ा या बीटा वर्शन आज़माने हैं, तो क्या करना होगा?

Compose के तीन बीओएम उपलब्ध हैं. हर बीओएम, Compose लाइब्रेरी के सबसे नए वर्शन का एक स्नैपशॉट होता है.

  • स्टेबल - इसमें हर लाइब्रेरी के सबसे नए स्टेबल वर्शन शामिल होते हैं.
  • बीटा - इसमें हर लाइब्रेरी का सबसे नया बीटा वर्शन, रिलीज़ कैंडिडेट (आरसी) या स्टेबल वर्शन शामिल होता है.
  • ऐल्फ़ा - इसमें हर लाइब्रेरी के सबसे नए ऐल्फ़ा, बीटा, आरसी या स्टेबल वर्शन शामिल होते हैं.

बीओएम के ऐल्फ़ा और बीटा वर्शन की जानकारी देने के लिए, बीओएम आर्टफ़ैक्ट के नाम में -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)
    // ..
}

Groovy

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
    // ..
}

मैं बीओएम के बारे में किसी समस्या की शिकायत या सुझाव/राय कैसे दूं?

हमारे समस्या ट्रैकर पर जाकर, समस्याओं की शिकायत की जा सकती है.