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

הערה: עם השקת 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 נמוכות ביותר רוצים לתמוך בהן. למידע נוסף על התכונות של הספריות השונות, ראו תכונות של ספריות תמיכה.

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

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

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

  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 שאפשר להתקין במכשירים עם Android מגרסה 4.1 (רמת API 16) ואילך את גרסת ה-build שהוגדרה כברירת מחדל של האפליקציה. מידע נוסף על וריאנטים של גרסאות build זמין במאמר סקירה כללית על מערכת ה-build.

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