תאימות לגרסאות של Kotlin והעברה

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

בטבלה הבאה מפורטות דרישות הגרסה של Kotlin והגרסאות המומלצות של AGP ו-Gradle לגרסאות עדכניות של Navigation SDK.

גרסת Navigation SDK גרסת Kotlin (נדרשת) גרסאות של פלאגין של Android Gradle‏ (AGP) ו-Gradle (מומלץ)
‫8.0 ומעלה 2.3.0
  • AGP 9.0.1
  • ‫Gradle 9.1.0

חשוב לדעת: בגרסה 8.0 ואילך של Navigation SDK, ‏ AGP 9.0.1 היא דרישה מינימלית ולא המלצה. ה-SDK מצהיר על minAndroidGradlePluginVersion=9.0.1, והגרסאות שנוצרות באמצעות גרסה קודמת של AGP נכשלות.

‫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 עם Navigation SDK, תוכלו לשדרג ל-Kotlin 2.3 בלי שתצטרכו לפתור את כל השינויים שגורמים לבעיות. עם זאת, זה רלוונטי רק לתכונות שפה יציבות. אם אתם משתמשים בתכונות אלפא, בטא או ניסיוניות בשפת Kotlin, יכול להיות שתצטרכו לבצע שינויים נוספים כשמשדרגים.

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

‫Kotlin מספקת שני דגלים שיכולים לעזור להגביל שינויים שעלולים לשבור את התאימות: https://kotlinlang.org/docs/compatibility-modes.html

גרסה בשפה X.Y

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

android {
   kotlinOptions {
       languageVersion = '2.2'
   }
}

‫api-version X.Y

הדגל הזה גורם לשגיאה ב-Gradle build כשמשתמשים ב-API מגרסת Kotlin חדשה יותר מגרסה apiVersion.

android {
   kotlinOptions {
       apiVersion = '2.2'
   }
}

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

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

שדרוגים עתידיים של Kotlin

ב-Kotlin יוצאת גרסה חדשה (כלומר, גרסת שפה) כל 6 חודשים, ובדרך כלל Google משלבת את הגרסה האחרונה כברירת מחדל במוצרים שלה חודש או חודשיים לאחר מכן. גרסאות קודמות של Kotlin כללו שינויים שגרמו לבעיות, ולכן לקוחות של Navigation SDK נדרשו לשדרג לגרסה חדשה יותר. לכן, מומלץ לתכנן שדרוג של Kotlin כל 6 חודשים כשמשתמשים בגרסה האחרונה של Navigation SDK.