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