sdkmanager

sdkmanager הוא כלי בשורת הפקודה שמאפשר להציג, להתקין, לעדכן ולהסיר חבילות של Android SDK. אם אתם משתמשים ב-Android Studio, אין צורך להשתמש בכלי הזה. במקום זאת, תוכלו לנהל את חבילות ה-SDK מתוך סביבת הפיתוח המשולבת.

הכלי sdkmanager זמין חבילה של כלי שורת הפקודה Android SDK. כדי להשתמש ב-SDK Manager להתקנת גרסה של כלי שורת הפקודה: יש לבצע את השלבים הבאים:

  1. מורידים את החבילה האחרונה של 'כלים לשורת הפקודה בלבד' מדף ההורדות של Android Studio ומבצעים את הפתיחה של החבילה.
  2. מעבירים את התיקייה cmdline-tools ללא הארכיון לתיקייה חדשה לבחירתכם, למשל android_sdk. הספרייה החדשה הזו ספריית Android SDK.
  3. בספרייה cmdline-tools ללא דחיסה, יוצרים ספריית משנה בשם latest.
  4. העברת התוכן המקורי של ספריית cmdline-tools, כולל הספרייה lib, הספרייה bin קובץ NOTICE.txt, וקובץ source.properties, אל ספריית latest החדשה. עכשיו אתם יכולים להשתמש בשורת הפקודה כלים מהמיקום הזה.
  5. (אופציונלי) כדי להתקין גרסה קודמת של כלי שורת הפקודה, מריצים את הפקודה הבאה:

    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;34.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 אחר ללא GUI ללא התקנה של GUI, מבצעים את הפעולות הבאות משורת הפקודה:

sdkmanager --licenses

הפעולה הזו תבקש מכם לאשר את כל הרישיונות שעדיין לא אושרו.

אפשרויות

בטבלה הבאה מפורטות האפשרויות הזמינות לפקודות שמפורטות בקטע הקודם:

אפשרות תיאור
--sdk_root=path צריך להשתמש בנתיב ה-SDK שצוין במקום ב-SDK שמכיל את הכלי הזה.
--channel=channel_id כולל חבילות בערוצים עד channel_id. הערוצים הזמינים הם:

0 (יציב), 1 (בטא), 2 (Dev) ו-3 (Canary).

--include_obsolete לכלול חבילות לא תקפות ברשימת החבילות או בעדכוני החבילות. לשימוש עם --list ו---update בלבד.
--no_https לאלץ את כל החיבורים להשתמש ב-HTTP במקום ב-HTTPS.
--newer עם --list, אפשר להציג רק חבילות חדשות או חבילות שניתן לעדכן.
--verbose מצב פלט מפורט. יודפסו שגיאות, אזהרות והודעות אינפורמטיביות.
--proxy={http | socks} התחברות דרך שרת proxy מהסוג הרצוי: http לפרוטוקולים ברמה גבוהה כמו HTTP או FTP, או socks לשרת proxy מסוג SOCKS (V4 או V5).
--proxy_host={IP_address | DNS_address} כתובת ה-IP או ה-DNS של שרת ה-proxy שבו צריך להשתמש.
--proxy_port=port_number מספר היציאה של שרת ה-proxy שאליו יש להתחבר.