sdkmanager

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

הכלי 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 (פיתוח), ו-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 שאליו יש להתחבר.