הערה: עם השקת 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 בפרויקט של האפליקציה בסביבת הפיתוח. צריך לבצע את התהליך הזה לכל ספריית תמיכה שבה רוצים להשתמש.
כדי להוסיף ספריית תמיכה לפרויקט האפליקציה:
- כוללים את מאגר 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' // } } }
- בכל מודול שבו רוצים להשתמש בספריית תמיכה, מוסיפים את הספרייה בבלוק
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 ואילך.