מעבר ל-Kotlin 2.0

אם אתם משתמשים ב-Navigation SDK ל-Android מגרסה 6.0 ואילך, עליכם לשדרג ל-Kotlin 2.0. בדף הזה מפורטות הנחיות שיעזרו לכם לעבור לגרסה החדשה של Kotlin.

תאימות ל-Gradle ול-AGP

ל-Kotlin 2.0 יש דרישות לגרסאות המינימליות והמקסימליות של Gradle ושל Android Gradle Plugin‏ (AGP). חשוב לוודא שהפרויקט עומד בדרישות האלה ל-Kotlin 2.0.

גרסת AGP מינימלית ל-Navigation SDK מגרסה 6.0 ואילך

מומלץ להשתמש ב-AGP 8.3 עם Navigation SDK 6.0. וידאנו את ה-SDK עם AGP 8.3 ו-Gradle 8.4, וה-SDK תואם למצב המלא של R8.

תאימות לגרסאות של Kotlin

ב-Kotlin יש תמיכה בתאימות לאחור לשלוש גרסאות קודמות של השפה. כלומר, אם אתם כבר משתמשים ב-Kotlin מגרסה 1.7 ואילך עם Navigation SDK, תוכלו לשדרג ל-Kotlin 2.0 בלי שתצטרכו לפתור את כל השינויים המשמעותיים. עם זאת, הדבר רלוונטי רק למאפייני שפה יציבים. אם אתם משתמשים בתכונות אלפא, בטא או ניסיוניות בשפת Kotlin, יכול להיות שתצטרכו לבצע שינויים נוספים במהלך השדרוג.

מעבר קל יותר: דגלים של תאימות ל-Kotlin

כפי שצוין בקטע הקודם, ב-Kotlin יש תמיכה בעד 3 גרסאות קודמות של השפה במהלך השדרוג. ב-Kotlin יש שני דגלים שיעזרו לכם להגביל שינויים שגורמים לשיבושים:

language-version X.Y

הדגל הזה מחזיר שינויים משמעותיים להתנהגות של גרסה קודמת של Kotlin. לדוגמה, אם אתם משתמשים ב-Kotlin 1.7, תוכלו לציין [ - language-version 1.7] והשינויים החדשים המשמעותיים לא ייכנסו לתוקף:

android {
   kotlinOptions {
       languageVersion = '1.7'
   }
}

api-version X.Y

הדגל הזה מונע שימוש ב-API חדשים לפני שהקוד התלוי ב-downstream מוכן לשילוב של Kotlin 2.0.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

גישה ממוקדת יותר

בנוסף לשימוש בדגלים של תאימות ל-Kotlin, מומלץ לקרוא את הערות המוצר של Kotlin ולבחור את ההתנהגויות שרוצים לשמור מהגרסה שממנה מבצעים את השדרוג. במדריכי התאימות של Kotlin לכל גרסה מפורטת רשימה של שינויים שמשפיעים על הקוד, וכן הדגלים שאפשר להגדיר כדי לשמור על ההתנהגות המקורית: