अपने बिल्ड को वर्शन कैटलॉग पर माइग्रेट करें

Gradle वर्शन कैटलॉग आपको डिपेंडेंसी और प्लगिन को बढ़ाने लायक तरीके से जोड़ने और बनाए रखने में मदद मिलती है. Gradle वर्शन कैटलॉग का इस्तेमाल करने से, डिपेंडेंसी और प्लगिन को मैनेज करना आसान हो जाता है जब आपके पास कई मॉड्यूल होंगे. हार्डकोडिंग के बजाय बिल्ड फ़ाइलों में डिपेंडेंसी के नाम और वर्शन होते हैं. साथ ही, हर फ़ाइल को अपडेट किया जाता है एंट्री में, किसी डिपेंडेंसी को अपग्रेड करने की ज़रूरत पड़ने पर, डिपेंडेंसी का वर्शन कैटलॉग जिसमें अलग-अलग मॉड्यूल का रेफ़रंस दिया जा सकता है Android Studio की सहायता से टाइप करने में मदद करता है.

यह पेज 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

}

ज़्यादा जानें

अपने वर्शन कैटलॉग को कॉन्फ़िगर करने के अन्य विकल्पों के बारे में जानने के लिए, यहां देखें ये संसाधन:

  • वर्शन कैटलॉग TOML फ़ाइल फ़ॉर्मैट दस्तावेज़ों के साथ-साथ आपकी कैटलॉग फ़ाइल को कॉन्फ़िगर करने के लिए अतिरिक्त विकल्प होते हैं.
  • अब Android में, हमारा सिस्टम सैंपल ऐप्लिकेशन, जो वर्शन कैटलॉग का इस्तेमाल करता है.

पहले से मालूम समस्याएं

Gradle वर्शन कैटलॉग पर अब भी काम चल रहा है. इसके बारे में ज़्यादा जानने के लिए, जो अभी तक समर्थित नहीं है, तो उसे देखें ऐसी समस्याएं जिनके बारे में पहले से जानकारी है और उनकी सीमाएं.