העברה ל-Kotlin 2.0
אם אתם משתמשים ב-Consumer SDK ל-Android מגרסה 3.0 ואילך, אתם צריכים לשדרג ל-Kotlin 2.0. בדף הזה מפורטות הנחיות שיעזרו לכם לעבור לגרסה החדשה של Kotlin.
תאימות של Gradle ו-AGP
ל-Kotlin 2.0 יש דרישות לגבי הגרסאות המינימליות והמקסימליות של Gradle ושל הפלאגין של Android Gradle (AGP). חשוב לוודא שהפרויקט עומד בדרישות הבאות ל-Kotlin 2.0.
גרסת AGP מינימלית ל-Consumer SDK 3.0 ואילך
כדי להשתמש ב-Consumer SDK בגרסה 3.0, צריך להשתמש ב-AGP בגרסה 7.3 ואילך.
מצב R8 מלא
גרסה 3 ומטה של Consumer SDK לא תומכת במצב R8 מלא. אם האפליקציה שלכם מיועדת ל-AGP 8.0 ומעלה, אתם צריכים להשבית באופן מפורש את מצב R8 המלא.
# settings.gradle
android.enableR8.fullMode=false
תאימות לגרסת Kotlin
Kotlin תומכת בתאימות לדורות קודמים עם שלוש גרסאות קודמות של השפה. כלומר, אם אתם כבר משתמשים ב-Kotlin בגרסה 1.7 ואילך עם Consumer SDK, אתם אמורים להיות מסוגלים לשדרג ל-Kotlin בגרסה 2.0 בלי שתצטרכו לפתור את כל שינויי התוכנה שעלולים לגרום לכשל. עם זאת, התאימות של Kotlin חלה רק על תכונות שפה יציבות. אם אתם משתמשים בתכונות אלפא, בטא או ניסיוניות בשפת 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 חדשים לפני שהקוד התלוי במורד הזרם מוכן לשילוב של Kotlin 2.0.
android {
kotlinOptions {
apiVersion = '1.7'
}
}
גישה ממוקדת יותר
בנוסף לשימוש בדגלי תאימות של Kotlin, מומלץ לעיין בהערות הגרסה של Kotlin ולבחור את ההתנהגויות שרוצים לשמור מהגרסה שממנה משדרגים. במדריכי התאימות של Kotlin לכל גרסה מופיעה רשימה של שינויים שעלולים לשבור תאימות ודגלים שאפשר להגדיר כדי לשמור על ההתנהגות המקורית: