sdkmanager הוא כלי לשורת הפקודה שמאפשר לכם להציג, להתקין, לעדכן ולהסיר חבילות עבור Android SDK. אם אתם משתמשים ב-Android Studio, אתם לא צריכים להשתמש בכלי הזה, ואתם יכולים לנהל את חבילות ה-SDK מ-IDE.
הכלי sdkmanager מסופק בחבילה Android SDK Command-Line Tools.
כדי להשתמש ב-SDK Manager כדי להתקין גרסה של כלי שורת הפקודה:
- מורידים את חבילת כלי שורת הפקודה העדכנית מהדף Android Studio ומחלצים את החבילה.
- מעבירים את הספרייה
cmdline-toolsשחולצה לתוך ספרייה חדשה לבחירתכם, כמו android_sdk. הספרייה החדשה הזו היא ספריית Android SDK. - בספרייה
cmdline-toolsשבוטלה הדחיסה שלה, יוצרים ספריית משנה בשםlatest. - מעבירים את התוכן של הספרייה המקורית
cmdline-tools, כולל הספרייהlib, הספרייהbin, הקובץNOTICE.txtוהקובץsource.properties, אל הספרייהlatestשנוצרה. עכשיו אפשר להשתמש בכלים של שורת הפקודה מהמיקום הזה. (אופציונלי) כדי להתקין גרסה קודמת של כלי שורת הפקודה, מריצים את הפקודה הבאה:
מחליפים אתandroid_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
versionבגרסה שרוצים להתקין, לדוגמה5.0.
שימוש
אפשר להשתמש ב-sdkmanager כדי להציג רשימה של חבילות מותקנות וזמינות, להתקין חבילות ולעדכן חבילות. בסעיפים הבאים יש מידע נוסף בנושא.
רשימת החבילות המותקנות והזמינות
כדי להציג רשימה של חבילות מותקנות ��זמינות, משתמשים בתחביר הבא:
sdkmanager --list [options] \
[--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)
משתמשים באפשרות channel כדי לכלול חבילה מערוץ עד channel_id כולל. לדוגמה, אפשר לציין את ערוץ Canary כדי להציג רשימה של חבילות מכל הערוצים.
התקנת חבילות
כדי להתקין חבילות, משתמשים בתחביר הבא:
sdkmanager packages [options]
הארגומנט packages הוא נתיב בסגנון SDK, כמו שמוצג בפקודה --list, והוא מוקף במירכאות. לדוגמה, "build-tools;36.0.0" או "platforms;android-36".
אפשר להעביר כמה נתיבי חבילות, מופרדים ברווח, אבל כל אחד מהם חייב להיות מוקף במירכאות משלו. לדוגמה, כך מתקינים את כלי הפלטפורמה העדכניים ואת כלי ה-SDK לרמת API 36:
sdkmanager "platform-tools" "platforms;android-36"
לחלופין, אפשר להעביר קובץ טקסט שמציין את כל החבילות:
sdkmanager --package_file=package_file [options]
הארגומנט package_file הוא המיקום של קובץ טקסט שבו כל שורה היא נתיב בסגנון SDK של חבילה להתקנה (ללא מירכאות).
כדי להסיר, מוסיפים את הדגל --uninstall:
sdkmanager --uninstall packages [options] sdkmanager --uninstall --package_file=package_file [options]
כדי להתקין את CMake או את NDK, משתמשים בתחביר הבא:
sdkmanager --install ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"] [--channel=channel_id] // NDK channels: 0 (stable), 1 (beta), or 3 (canary)
לדוגמה, משתמשים בפקודה הבאה כדי להתקין את גרסת ה-NDK שצוינה, בלי קשר לערוץ שבו היא נמצאת כרגע:
sdkmanager --install "ndk;21.3.6528147" --channel=3 // Install the NDK from the canary channel (or below) sdkmanager --install "cmake;10.24988404" // Install a specific version of CMake
עדכון כל החבילות המותקנות
כדי לעדכן את כל החבילות המותקנות, משתמשים בתחביר הבא:
sdkmanager --update [options]
אישור רישיונות
עליכם לאשר את הרישיון הנדרש לכל חבילה שהתקנתם. השלב הזה מתרחש במהלך תהליך ההתקנה כשמתקינים חבילות מתוך Android Studio.
אם לא מ��תק�� א��לכם Android Studio, או אם מדובר בשרת CI או במכשיר Linux אחר ללא ממשק משתמש גרפי, צריך לבצע את הפעולות הבאות משורת הפקודה:
sdkmanager --licenses
תתבקשו לאשר את הרישיונות שלא אושרו עדיין.
אפשרויות
בטבלה הבאה מפורטות האפשרויות הזמינות לפקודות שמופיעות בקטע הקודם:
| אפשרות | תיאור |
|---|---|
--sdk_root=path
|
צריך להשתמש בנתיב ה-SDK שצוין במקום ב-SDK שמכיל את הכלי הזה. |
--channel=channel_id
|
כולל חבילות בערוצים עד channel_id כולל. הערוצים הזמינים הם:
|
--include_obsolete
|
לכלול חבילות שיצאו משימוש ברשימת החבילות או בעדכוני החבילות.
לשימוש עם --list ו---update בלבד.
|
--no_https
|
הגדרת כל החיבורים לשימוש ב-HTTP במקום ב-HTTPS. |
--newer
|
עם --list, מוצגות רק חבילות חדשות או חבילות שאפשר לעדכן.
|
--verbose
|
מצב פלט מפורט. שגיאות, אזהרות והודעות מידע מודפסות. |
--proxy={http | socks}
|
התחברות דרך שרת Proxy מהסוג שצוין: http לפרוטוקולים ברמה גבוהה כמו HTTP או FTP, או socks לשרת SOCKS (גרסה 4 או 5).
|
--proxy_host={IP_address | DNS_address}
|
כתובת ה-IP או כתובת ה-DNS של שרת ה-Proxy שרוצים להשתמש בו. |
--proxy_port=port_number
|
מספר היציאה של ה-proxy שאליו מתחברים. |