Kotlin के वर्शन के साथ काम करने की सुविधा और माइग्रेशन

इस पेज पर, Navigation SDK के साथ Kotlin के अलग-अलग वर्शन के काम करने के बारे में जानकारी दी गई है. साथ ही, नए वर्शन पर माइग्रेट करने के बारे में भी बताया गया है.

इस टेबल में, Navigation SDK के हाल ही के वर्शन के लिए, Kotlin के ज़रूरी वर्शन और एजीपी और Gradle के सुझाए गए वर्शन की जानकारी दी गई है.

Navigation SDK का वर्शन Kotlin का वर्शन (ज़रूरी है) Android Gradle प्लगिन (AGP) और Gradle के वर्शन (सुझाया गया)
8.0+ 2.3.0
  • AGP 9.0.1
  • Gradle 9.1.0

अहम जानकारी: Navigation SDK 8.0 और इसके बाद के वर्शन के लिए, एजीपी 9.0.1 का इस्तेमाल करना ज़रूरी है. यह सिर्फ़ एक सुझाव नहीं है. एसडीके, minAndroidGradlePluginVersion=9.0.1 का एलान करता है. साथ ही, एजीपी के पुराने वर्शन का इस्तेमाल करके बनाए गए बिल्ड काम नहीं करते.

7.7 - 7.9 2.3.0
  • AGP 8.13.2
  • Gradle 8.13
7.3 - 7.6 2.2.10
  • AGP 8.10.0
  • Gradle 8.11.1
6.3 - 7.2 2.1
  • AGP 8.7.3
  • Gradle 8.10.2
6.0 - 6.2 2.0
  • AGP 8.3.0
  • Gradle 8.4
5.1 - 5.99.1 1.9 हमारा सुझाव है कि आप AGP 7.3 या इसके बाद के वर्शन का इस्तेमाल करें. इसमें JDK-8272564 के लिए समाधान मौजूद है.

Kotlin के वर्शन के साथ काम करने की सुविधा

Kotlin 2.3, Kotlin 2.2 के साथ पुराने सिस्टम के साथ काम करने की सुविधा देता है. इसका मतलब है कि अगर नेविगेशन एसडीके के साथ Kotlin 2.2 का इस्तेमाल पहले से किया जा रहा है, तो Kotlin 2.3 पर अपग्रेड किया जा सकता है. इसके लिए, आपको नुकसान पहुंचा सकने वाले सभी बदलावों को ठीक करने की ज़रूरत नहीं है. हालांकि, यह सिर्फ़ स्टेबल लैंग्वेज फ़ीचर पर लागू होता है. अगर Kotlin भाषा में ऐल्फ़ा, बीटा या एक्सपेरिमेंट के तौर पर उपलब्ध सुविधाओं का इस्तेमाल किया जा रहा है, तो अपग्रेड करते समय आपको कुछ और बदलाव करने पड़ सकते हैं.

Kotlin के साथ काम करने वाले फ़्लैग की मदद से, Kotlin 2.0 पर आसानी से माइग्रेट करना

Kotlin, नुकसान पहुंचा सकने वाले बदलावों को सीमित करने के लिए दो फ़्लैग उपलब्ध कराता है: https://kotlinlang.org/docs/compatibility-modes.html

language-version X.Y

यह फ़्लैग, Kotlin के पिछले वर्शन के व्यवहार में नुकसान पहुंचा सकने वाले बदलावों को पहले जैसा करता है. उदाहरण के लिए, अगर Kotlin 2.2 का इस्तेमाल किया जा रहा है, तो [ - language-version 2.2] को सेट किया जा सकता है. इससे, नुकसान पहुंचा सकने वाले नए बदलाव लागू नहीं होंगे:

android {
   kotlinOptions {
       languageVersion = '2.2'
   }
}

api-version X.Y

यह फ़्लैग, Gradle बिल्ड से जुड़ी गड़बड़ी दिखाता है. ऐसा तब होता है, जब apiVersion से नए Kotlin वर्शन के एपीआई का इस्तेमाल किया जाता है.

android {
   kotlinOptions {
       apiVersion = '2.2'
   }
}

ज़्यादा टारगेट की गई रणनीति

Kotlin के साथ काम करने वाले फ़्लैग इस्तेमाल करने के अलावा, हमारा सुझाव है कि आप Kotlin के रिलीज़ नोट देखें. साथ ही, उन व्यवहारों को चुनें जिन्हें आपको उस वर्शन से बनाए रखना है जिससे अपग्रेड किया जा रहा है. Kotlin, नुकसान पहुंचा सकने वाले बदलावों की सूची उपलब्ध कराता है. साथ ही, यह उन फ़्लैग की जानकारी भी देता है जिन्हें सेट करके, हर वर्शन के लिए Kotlin की गाइड में, ओरिजनल व्यवहार को बनाए रखा जा सकता है:

Kotlin के आने वाले अपग्रेड

Kotlin हर छह महीने में एक नया वर्शन (यानी कि भाषा की रिलीज़) रिलीज़ करता है. आम तौर पर, Google इसके एक से दो महीने बाद, अपने प्रॉडक्ट में नए वर्शन को डिफ़ॉल्ट के तौर पर शामिल करता है. Kotlin के पिछले वर्शन में, नुकसान पहुंचा सकने वाले बदलाव शामिल थे. इस वजह से, Navigation SDK के ग्राहकों को नए वर्शन पर अपग्रेड करना पड़ा. इसलिए, हमारा सुझाव है कि Navigation SDK के नए वर्शन को अपनाते समय, हर छह महीने में Kotlin को अपग्रेड करने का प्लान बनाएं.