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

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

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

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

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

במסמך הזה מוסבר איך להוריד את החבילה של ספריית התמיכה ולהוסיף ספריות לסביבת הפיתוח שלכם.

ספריות התמיכה זמינות עכשיו במאגר 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 של המודול. עבור לדוגמה, כדי להוסיף את ספריית v4 Core-utils, צריך להוסיף את הפרטים הבאים:
    dependencies {
        ...
        implementation "com.android.support:support-core-utils:28.0.0"
    }

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

שימוש בממשקי API של ספריית התמיכה

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

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

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

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

הנחיות נוספות לשימוש בחלק מהתכונות של 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 המינימלית חייבת להיות גרסת הגבוהה ביותר שנדרשת על ידי אחד או יותר מהגרסאות של הספריות שצוינו. לדוגמה, אם האפליקציה כוללת את ספריית התמיכה בהעדפות v14 וגם את ספריית Leanback v17, המינימום שלך גרסת ה-SDK חייבת להיות מגרסה 17 ואילך.