הערה: עם ההשקה של Android 9.0 (רמת API 28), יש גרסה חדשה של ספריית התמיכה שנקראת AndroidX, שהיא חלק מ-Jetpack.
ספריית AndroidX
כוללת את ספריית התמיכה הקיימת וגם את הרכיבים העדכניים ביותר של Jetpack.
אפשר להמשיך להשתמש בספריית התמיכה.
חפצים היסטוריים (גרסה 27 ואילך, שנארזו כ-android.support.*) יישארו זמינים ב-Google Maven. עם זאת, כל הפיתוחים החדשים של הספרייה יתבצעו בספריית AndroidX.
מומלץ להשתמש בספריות AndroidX בכל הפרויקטים החדשים. כדאי גם לשקול להעביר פרויקטים קיימים ל-AndroidX.
הדרך להגדיר את ספריות התמיכה של Android בפרויקט הפיתוח תלויה בתכונות שרוצים להשתמש בהן ובטווח הגרסאות של פלטפורמת Android שרוצים לתמוך בהן באפליקציה.
במסמך הזה מוסבר איך להוריד את חבילת ספריית התמיכה ולהוסיף ספריות לסביבת הפיתוח.
ספריות התמיכה זמינות עכשיו דרך מאגר Maven של Google. אנחנו כבר לא תומכים בהורדת הספריות דרך SDK Manager, והפונקציונליות הזו תוסר בקרוב.
בחירת ספריות תמיכה
לפני שמוסיפים ספריית תמיכה לאפליקציה, צריך להחליט אילו תכונות רוצים לכלול ואילו גרסאות Android הכי ישנות רוצים לתמוך בהן. מידע נוסף על התכונות שזמינות בספריות השונות מופיע במאמר תכונות של ספריית התמיכה.
הוספת ספריות תמיכה
כדי להשתמש בספריית תמיכה, צריך לשנות את התלויות של נתיב המחלקה של הפרויקט של האפליקציה בסביבת הפיתוח. צריך לבצע את התהליך הזה לכל ספריית תמיכה שרוצים להשתמש בה.
כדי להוסיף ספריית תמיכה לפרויקט האפליקציה:
- כוללים את מאגר ה-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של המודול. לדוגמה, כדי להוסיף את ספריית v4 core-utils, מוסיפים את השורה הבאה:dependencies { ... implementation "com.android.support:support-core-utils:28.0.0" }
זהירות: שימוש בתלות דינמית (לדוגמה,
palette-v7:23.0.+) עלול לגרום לעדכוני גרסה לא צפויים ולחוסר תאימות של רגרסיה. מומלץ לציין באופן מפורש את גרסת הספרייה (לדוגמה, palette-v7:28.0.0).
שימוש בממשקי Support Library API
למחלקות בספריית התמיכה שמספקות תמיכה בממשקי API קיימים של מסגרות יש בדרך כלל את אותו שם כמו למחלקת המסגרת, אבל הן ממוקמות בחבילות המחלקות android.support, או שיש להן סיומת *Compat.
שימו לב: כשמשתמשים בכיתות מתוך ספריית התמיכה, חשוב לוודא שמייבאים את הכיתה מהחבילה המתאימה. לדוגמה, כשמחילים את הסיווג ActionBar:
android.support.v7.app.ActionBarכשמשתמשים בספריית התמיכה.-
android.app.ActionBarכשמפתחים רק לרמת API 11 ומעלה.
הערה: אחרי שכוללים את ספריית התמיכה בפרויקט האפליקציה, מומלץ מאוד לצמצם, להצפין ולבצע אופטימיזציה של האפליקציה לקראת ההפצה שלה. בנוסף להגנה על קוד המקור באמצעות ערפול קוד, כיווץ מסיר מחלקות שלא נמצאות בשימוש מכל הספריות שכללתם באפליקציה, וכך שומר על גודל ההורדה של האפליקציה קטן ככל האפשר.
הנחיות נוספות לשימוש בחלק מהתכונות של Support Library זמינות בשיעורי ההדרכה, במדריכים ובדוגמאות למפתחי Android. מידע נוסף על השיטות והמחלקות של Support Library זמין בחבילות 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 ומעלה.