הגדרה של ספריית התמיכה

הערה: עם השקת Android 9.0 (רמת API‏ 28), יש גרסה חדשה של ספריית התמיכה שנקראת AndroidX, שהיא חלק מ-Jetpack. ספריית AndroidX מכילה את ספריית התמיכה הקיימת וגם את הרכיבים העדכניים ביותר של Jetpack.

תוכלו להמשיך להשתמש בספריית התמיכה. ארטיפקטים היסטוריים (גרסה 27 וגרסאות קודמות, ארוזים בתור android.support.*) יישארו זמינים ב-Google Maven. עם זאת, כל הפיתוח החדש של הספריות יתבצע בספרייה AndroidX.

מומלץ להשתמש בספריות AndroidX בכל הפרויקטים החדשים. כדאי גם להעביר פרויקטים קיימים ל-AndroidX.

האופן שבו מגדירים את ספריות התמיכה של Android בפרויקט הפיתוח תלוי בתכונות שבהן רוצים להשתמש ובטווח הגרסאות של פלטפורמת Android שבהן רוצים לתמוך באפליקציה.

במסמך הזה מוסבר איך מורידים את חבילת Support Library ואיך מוסיפים ספריות לסביבת הפיתוח.

ספריות התמיכה זמינות עכשיו במאגר Maven של Google. אנחנו לא תומכים יותר בהורדת הספריות דרך מנהל ה-SDK, והפונקציונליות הזו תוסר בקרוב.

בחירת ספריות תמיכה

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

הוספת ספריות תמיכה

כדי להשתמש בספריית תמיכה, צריך לשנות את יחסי התלות של classpath בפרויקט של האפליקציה בסביבת הפיתוח. צריך לבצע את התהליך הזה לכל ספריית תמיכה שבה רוצים להשתמש.

כדי להוסיף ספריית תמיכה לפרויקט האפליקציה:

  1. כוללים את מאגר Maven של Google בקובץ settings.gradle של הפרויקט.
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
    
            // If you're using a version of Gradle lower than 4.1, you must
            // instead use:
            //
            // maven {
            //     url 'https://maven.google.com'
            // }
        }
    }
    
  2. בכל מודול שבו רוצים להשתמש בספריית תמיכה, מוסיפים את הספרייה בבלוק dependencies בקובץ build.gradle של המודול. לדוגמה, כדי להוסיף את ספריית core-utils בגרסה 4, מוסיפים את הקטע הבא:
    dependencies {
        ...
        implementation "com.android.support:support-core-utils:28.0.0"
    }
    

זהירות: שימוש ביחסי תלות דינמיים (לדוגמה, palette-v7:23.0.+) עלול לגרום לעדכוני גרסאות לא צפויים ולחוסר תאימות של רגרסיה. מומלץ לציין באופן מפורש את גרסת הספרייה (לדוגמה, palette-v7:28.0.0).

שימוש בממשקי API של Support Library

למחלקות בספריית התמיכה שמספקות תמיכה לממשקי API קיימים של מסגרות יש בדרך כלל שם זהה לשם של מחלקת המסגרת, אבל הן נמצאות בחבילות של המחלקות android.support או שיש להן סיומת *Compat.

זהירות: כשמשתמשים בכיתות מ-Support Library, חשוב לייבא את הכיתה מהחבילה המתאימה. לדוגמה, כשמחילים את המחלקה ActionBar:

  • android.support.v7.app.ActionBar כשמשתמשים בספריית התמיכה.
  • android.app.ActionBar כשמפתחים רק עבור רמת API 11 ואילך.

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

הנחיות נוספות לשימוש בחלק מהתכונות של Support Library זמינות בקורסי ההדרכה, במדריכים ובדוגמאות למפתחי Android. למידע נוסף על הכיתות והשיטות הנפרדות בספריית התמיכה, תוכלו לעיין בחבילות android.support במסמך העזרה של ה-API.

שינויים בהצהרה במניפסט

אם אתם מגדילים את התאימות לאחור של האפליקציה הקיימת לגרסה מוקדמת יותר של Android API באמצעות ספריית התמיכה, חשוב לעדכן את המניפסט של האפליקציה. באופן ספציפי, צריך לעדכן את הרכיב android:minSdkVersion בתג <uses-sdk> במניפסט למספר הגרסה החדש והנמוך יותר, כפי שמתואר בהמשך:

  <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

הגדרת המניפסט מאפשרת ל-Google Play לדעת שאפשר להתקין את האפליקציה במכשירים עם Android 4.0 (רמת API‏ 14) ואילך.

אם אתם משתמשים בקובצי build של Gradle, ההגדרה minSdkVersion בקובץ ה-build מבטלת את הגדרות המניפסט.

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        minSdkVersion 16
        ...
    }
    ...
}

במקרה כזה, הגדרת קובץ ה-build תודיע ל-Google Play שאפשר להתקין את גרסת build שמוגדרת כברירת מחדל של האפליקציה במכשירים עם Android מגרסה 4.1 (רמת API 16) ואילך. מידע נוסף על וריאנטים של גרסאות build זמין במאמר סקירה כללית על מערכת ה-build.

הערה: אם אתם כוללים כמה ספריות תמיכה, גרסת ה-SDK המינימלית צריכה להיות הגרסה הגבוהה ביותר שנדרשת באחת מהספריות שצוינו. לדוגמה, אם האפליקציה כוללת גם את ספריית התמיכה ב-Preference בגרסה 14 וגם את ספריית Leanback בגרסה 17, גרסת ה-SDK המינימלית צריכה להיות 17 ואילך.