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;35.0.0"
או "platforms;android-33"
.
אפשר להעביר כמה נתיבי חבילות, מופרדים ברווח, אבל כל אחד מהם חייב להיות מוקף במירכאות משלו. לדוגמה, כך מתקינים את כלי הפלטפורמה ואת כלי ה-SDK ל-API ברמה 33:
sdkmanager "platform-tools" "platforms;android-33"
לחלופין, אפשר להעביר קובץ טקסט שמציין את כל החבילות:
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 שאליו מתחברים. |