מדריך למעבר ל-Android Consumer SDK 3.0

מעבר ל-Kotlin 2.0

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

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

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

גרסת AGP המינימלית ל-Consumer SDK ‏3.0 ואילך

כדי להשתמש ב-Consumer SDK 3.0, צריך להשתמש ב-AGP בגרסה 7.3 ואילך.

מצב R8 מלא

ב-Consumer SDK מגרסה 3 ואילך אין תמיכה במצב R8 מלא. אם האפליקציה שלכם מטרגטת AGP מגרסה 8.0 ואילך, עליכם להשבית במפורש את המצב Full 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 חדשים לפני שהקוד התלוי ב-downstream מוכן לשילוב של Kotlin 2.0.

android {
   kotlinOptions {
       apiVersion = '1.7'
   }
}

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

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