Android CLI הוא ממשק שורת פקודה שמאפשר לכם ליצור אפליקציות ל-Android בקלות וביעילות רבה יותר באמצעות כל כלי שתבחרו. היא יוצרת סטנדרטיזציה של יכולות פיתוח מרכזיות לתהליכי עבודה שמתמקדים בסוכנים, ומספקת נקודת התחלה לכלים, למיומנויות ולידע הרשמיים שנדרשים לפיתוח יעיל יותר. הוא גם יכול לייעל את ה-CI, את התחזוקה וכל אוטומציה אחרת מבוססת-סקריפט, כדי להתמודד עם האופי המבוזר של פיתוח ל-Android.
לדוגמה, סוכן או סקריפט יכולים להשתמש ב-CLI כדי להגדיר סביבות באופן אוטומטי, ליצור פרויקטים חדשים מתבניות ולנהל מכשירים וירטואליים ישירות מהטרמינל. בנוסף, הוא מעניק לנציגים שלכם גישה למיומנויות Android ולבסיס הידע הייעודי של Android, כדי לוודא שהפרויקטים שלכם מיישמים דפוסים מומלצים ושיטות מומלצות של Android.
התקנת Android CLI
כדי להתקין את Android CLI, מבצעים את השלבים הבאים:
כדי לוודא שאתם משתמשים בגרסה העדכנית ביותר, צריך לעדכן את Android CLI:
android update
כדי לבדוק אם Android CLI כבר מותקן במחשב, מריצים את הפקודה which android או command -v android. אם מוחזר נתיב, סימן שהכלי מותקן.
הגדרה לנציגים
כדי לעזור לסוכנים להבין ולהשתמש ב-Android CLI, מריצים את הפקודה init כדי להתקין את מיומנות android-cli:
android init
בעיות מוכרות
- הפקודה
android emulatorל-Windows מושבתת כרגע.
אפשרויות כלליות
אלה דגלים אופציונליים שאפשר להשתמש בהם עם פקודות אחרות של Android CLI.
-h, --help
שימוש: android <command> -h
תיאור: הצגת מדריך העזרה של הכלי או של פקודה ספציפית.
דוגמאות:
android -handroid create -h
--sdk
שימוש: android --sdk=<path-to-sdk> <command>
תיאור: הנתיב אל Android SDK שבו רוצים להשתמש בפקודה הבאה. אתם יכולים להשתמש בהגדרה --sdk כדי לשנות באופן זמני את ברירת המחדל של Android SDK, במקום לשנות את משתני הסביבה הגלובליים בכל פעם שאתם רוצים לעבור בין הגרסאות. כדי לבדוק באיזו גרסת Android SDK אתם משתמשים כברירת מחדל, מריצים את הפקודה
android info.
דוגמה: android --sdk=<path/to/sdk> sdk list
פקודות
בקטע הזה מפורטות כל הפקודות של Android CLI ומוסבר מה הן עושות. לפני כל אחת מהפקודות האלה צריך להוסיף android, לדוגמה android create, android run וכן הלאה. משנים אופציונליים מוקפים בסוגריים מרובעים [], וארגומנטים חובה לא מוקפים בסוגריים.
create
שימוש: android create [--dry-run] [--verbose] [--name=<application-name>] [--output=<dest-path>] [<template-name>]
תיאור: הפעלה של פרויקט חדש מתבנית. כדי לראות את האפשרויות של התבנית, מריצים את הפקודה android create -h.
ארגומנטים (חובה):
-
-o, --output– נתיב ספריית היעד של הפרויקט.
אפשרויות:
-
--dry-run– מדמה את כל תהליך יצירת הפרויקט בלי לשמור קבצים בפועל. לדוגמה, אפשר להריץ בדיקה כדי לראות מה התבניות השונות עושות לפני שבוחרים אחת מהן. -
--verbose– הפעלת פלט מפורט, כולל מידע כמו אילו קבצים מועתקים מהתבנית. -
--name=<application-name>– שם ספריית הפרויקט. אם לא מציינים את הנתיב, נעשה שימוש בספריית הפלט. -
<template-name>– השם של התבנית שממנה רוצים ליצור פרויקט חדש. אם לא מציינים ערך, נעשה שימוש ב-empty-activity-agp-9.
דוגמה: android create --dry-run --verbose empty-activity-agp-9
create list
שימוש: android create list
תיאור: הצגת רשימה של כל התבניות הזמינות ליצירת פרויקט חדש.
describe
שימוש: android describe [--project_dir=<project-directory>]
תיאור: מנתח פרויקט Android כדי ליצור מטא-נתונים תיאוריים. הפקודה הזו מזהה את הנתיבים לקובצי JSON שמפרטים את מבנה הפרויקט, כולל יעדי ה-build והמיקומים של פריטי הפלט התואמים (לדוגמה, קובצי APK), ומציגה אותם. המידע הזה מאפשר לכלים ולפקודות אחרים לאתר ביעילות את ארטיפקטים של build.
אפשרויות:
-
--project_dir– ספריית הפרויקט שרוצים לתאר. אם לא מציינים נתיב, נעשה שימוש בספרייה הנוכחית.
דוגמה: android describe --project_dir=/path/to/your/project
docs
שימוש:
android docs search <query>android docs fetch <kb-url>
תיאור: הפקודה android docs היא תהליך דו-שלבי לגישה למאגר הידע של Android ישירות מה-CLI.
קודם כל, מחפשים תיעוד שקשור לשאילתה באמצעות הפקודה search. תוצאות החיפוש יכללו כתובות URL מיוחדות שמתחילות ב-kb://,
ואז תוכלו להשתמש בפקודה fetch כדי להציג את פקודות התיעוד במסוף.
דוגמאות:
android docs search 'How do I improve my app performance?'android docs fetch kb://android/topic/performance/overview
emulator create
שימוש: android emulator create [--list-profiles] [--profile=<profile-name>]
תיאור: יצירת מכשיר וירטואלי.
אפשרויות:
-
--list-profiles– הצגת רשימה של פרופילי המכשירים שאפשר להשתמש בהם כדי ליצור מכשיר. -
--profile=<profile-name>– יצירת מכשיר עם הפרופיל שצוין. אם לא מציינים את האפשרות הזו, הפרופיל ב-medium_phoneייווצר.
emulator list
שימוש: android emulator list
תיאור: הצגת רשימה של המכשירים הווירטואליים הזמינים.
emulator start
שימוש: android emulator start <device-name>
תיאור: מפעיל את המכשיר הווירטואלי שצוין.
ארגומנטים (חובה):
-
<device-name>– שם המכשיר להפעלה (לדוגמה,medium_phone). אפשר להשתמש ב-android emulator listכדי לראות את המכשירים הזמינים.
דוגמה: android emulator start medium_phone
emulator stop
שימוש: android emulator stop <device-serial-number>
תיאור: עצירה של המכשיר הווירטואלי שצוין.
ארגומנטים (חובה):
-
<device-serial-number>– המספר הסידורי של המכשיר שרוצים להפסיק את השימוש בו.
דוגמה: android emulator stop emulator-5554
info
שימוש: android info
תיאור: הצגת הנתיב אל Android SDK שמוגדר כברירת מחדל. כדי לשנות את Android SDK שבו נעשה שימוש, צריך להשתמש ב---sdk.
init
שימוש: android init
תיאור: כדי להגדיר את הסביבה לסוכנים, צריך להתקין את מיומנות android-cli.
layout
שימוש: android layout [--pretty] [--output] [--diff]
תיאור: מחזירה את פריסת ממשק המשתמש של אפליקציית Android הפעילה (שמחוברת דרך מכשיר פיזי או אמולטור) בפורמט JSON.
אפשרויות:
-
-p, --pretty– מעצב את פלט ה-JSON עם הזחה ומעברי שורה כדי שיהיה קריא לאנשים. -
-o, --output– מציין מיקום של קובץ לשמירת עץ הפריסה. אם לא מציינים את האפשרות הזו, קובץ ה-JSON מודפס ישירות ל-stdout. -
-d, --diff– מחזירה רשימה של רכיבי הפריסה בלבד שהשתנו מאז הצילום האחרון של המצב הפנימי (הפעם האחרונה שהופעלה הפריסה), במקום את עץ הפריסה המלא.
לדוגמה:: android layout --output=./hierarchy.json
skills add
יכולות Android הן הוראות מיוחדות שנועדו לעזור לסוכנים להבין טוב יותר דפוסים ספציפיים ולבצע אותם בהתאם לשיטות המומלצות ולהנחיות לפיתוח Android. מידע נוסף זמין במאמר מבוא למיומנויות ב-Android.
שימוש: android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]
תיאור: התקנת מיומנויות של Android בספריות המיומנויות של כל הסוכנים שזוהו. אם אין לכם ספריות סוכנים קיימות ולא ציינתם סוכנים ספציפיים, המיומנויות יותקנו עבור Gemini ו-Antigravity בכתובת ~/.gemini/antigravity/skills.
אפשרויות:
-
--all– הוספה של כל הכישורים ל-Android בבת אחת. אם לא מציינים את המדיניות (וגם לא מציינים את--skill), תותקן רק היכולתandroid-cli. -
--agent– רשימה מופרדת בפסיקים של סוכנים שרוצים להתקין את המיומנות עבורם. אם לא מציינים את הפרמטר הזה, המיומנות תותקן לכל הסוכנים שזוהו. -
--skill– שם המיומנות שרוצים להתקין. אם לא מציינים את המדיניות (וגם לא מציינים את--all), תותקן רק היכולתandroid-cli.
דוגמה: android skills add --agent='gemini' edge-to-edge
skills find
שימוש: android skills find <string>
תיאור: חיפוש מיומנויות שתואמות למחרוזת נתונה.
ארגומנטים (חובה):
-
string– מחרוזת שתואמת לתיאור של מיומנות.
דוגמה: android skills find 'performance'
skills list
שימוש: android skills list [--long]
תיאור: רשימת המיומנויות הזמינות.
אפשרויות:
-
--long– פלט מידע נוסף על כל מיומנות, כולל תיאור המיומנות והסוכנים שכבר הותקנה אצלם.
skills remove
שימוש: android skills remove [--agent] --skill=<skill-name>
תיאור: הסרת מיומנות. אם לא מציינים סוכנים ספציפיים, המיומנות תוסר מכל הסוכנים.
ארגומנטים (חובה):
-
--skill– השם של המיומנות שרוצים להסיר.
אפשרויות:
-
--agent- רשימה מופרדת בפסיקים של סוכנים שמהם רוצים להסיר את הכישורים. אם לא מציינים את המיומנות, היא תוסר מכל הנציגים.
דוגמה: android skills remove --agent='gemini' --skill=edge-to-edge
screen capture
שימוש: android screen capture [--output] [--annotate]
תיאור: מצלם את המסך של המכשיר המחובר.
אפשרויות:
-
-o, --output– מציין את מיקום הקובץ לשמירת צילום המסך. אם לא מציינים את האפשרות הזו, נתוני ה-PNG הגולמיים יודפסו ישירות ל-stdout. -
-a, --annotate– מצייר תיבות תוחמות עם תוויות סביב כל רכיבי ממשק המשתמש שזוהו בתמונה. משתמשים באפשרות הזו עם הפקודהresolve.
דוגמה: android screen capture --output=ui.png
screen resolve
שימוש: android screen resolve --screenshot=<path> --string=<string>
תיאור: תרגום של התוויות החזותיות מצילום מסך עם הערות,
שצולם באמצעות screen capture, לקואורדינטות מסך בפועל (x, y).
האפשרות הזו שימושית לכתיבת סקריפטים לקליקים על רכיבים בלי לחשב ידנית את המיקומים שלהם.
דגלים:
-
--screenshot– הנתיב לצילום המסך עם ההערות. -
--string– מחרוזת שכוללת לפחות placeholder אחד שתואם לתווית של רכיב בממשק המשתמש בפורמט#<number>. החלק#<number>יוחלף בקואורדינטות של המסך.
לדוגמה:
אם התווית 5 נמצאת בקואורדינטות (500, 1000), הפקודה
android screen resolve --screenshot=ui.png --string="input tap #5"
מחזירה את הפלט
input tap 500 1000
sdk install
שימוש: android sdk install <package[@version]> [--beta] [--canary] [--force]
תיאור: התקנה של חבילות ה-SDK שצוינו.
ארגומנטים (חובה):
-
package[@version]– רשימה מופרדת ברווחים של חבילות להתקנה. אם לא מציינים גרסה, מותקנת הגרסה האחרונה של החבילה בערוץ (ברירת המחדל היא הערוץ היציב).
אפשרויות:
-
--beta– כולל חבילות בטא. -
--canary– כולל חבילות של גרסת הגישוש. -
--force– כפיית שדרוג לאחור לגרסה ישנה יותר.
דוגמאות:
-
android sdk install platforms/android-34 build-tools/34.0.0– מתקינים את הגרסאות העדכניות של חבילות Android SDK Platform 34 ו-SDK Built Tools 34.0.0 מהערוץ היציב. -
android sdk install platforms/android-34@2– מתקינים את גרסה 2 של חבילת Android SDK Platform 34. android sdk install --canary system-images/android-35/google_apis/x86_6- מתקינים את הגרסה העדכנית של קובץ אימג' של המערכת Android 35 מערוץ Canary.-
android sdk install --force platforms/android-33@1– חזרה לגרסה 1 של חבילת Android SDK Platform 33 מהערוץ היציב.
sdk list
שימוש: android sdk list <package-pattern>
תיאור: הצגת רשימה של חבילות SDK שהותקנו וחבילות SDK זמינות.
ארגומנטים (חובה):
-
<package-pattern>– סינון חבילות לפי תבנית. תמיכה בביטויים רגולריים.
אפשרויות:
-
--all– הצגת כל החבילות המותקנות והזמינות. -
--all-versions– הצגת כל הגרסאות של כל חבילה. -
--beta– כולל חבילות בטא. -
--canary– כולל חבילות של גרסת הגישוש.
sdk remove
שימוש: android sdk remove <package-name>
תיאור: הסרת חבילה מ-SDK.
ארגומנטים (חובה):
-
<package-name>– שם החבילה שרוצים להסיר.
דוגמה: android sdk remove build-tools/36.1.0
run
שימוש: android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>
תיאור: פריסת אפליקציית Android במכשיר מחובר או באמולטור. היא לא מבצעת שלבי בנייה, אלא צריך לספק את הנתיבים לקובצי ה-APK שרוצים להתקין.
ארגומנטים (חובה):
-
--apks– רשימה מופרדת בפסיקים של נתיבים לקובצי ה-APK שרוצים להתקין. הנתיב הוא יחסי למיקום הנוכחי במערכת הקבצים.
אפשרויות:
-
--activity– השם של הפעילות להפעלה אחרי התקנת ה-APK. אם יש כמה פעילויות, צריך לציין פעילות אחת להפעלה הראשונית. -
--debug– פריסת האפליקציה במצב ניפוי באגים. אחרי שמריצים את האפליקציה במצב ניפוי באגים, צריך לחבר את כלי ניפוי הבאגים מ-IDE, כמו Android Studio, או מכלי שורת פקודה כדי להתחיל בניפוי הבאגים. -
--device– המספר הסידורי של מכשיר היעד או האמולטור. האפשרות הזו נחוצה רק אם מחוברים כמה מכשירים. כדי למצוא את המספרים הסידוריים של המכשירים, מריצים את הפקודהadb devices. -
--type– סוג הרכיב שרוצים להתחיל איתו. משתמשים בזה אם רוצים להפעיל שירות הפועל ברקע ישירות במקום פעילות בממשק המשתמש. סוגים נתמכים:ACTIVITYWATCH_FACETILECOMPLICATIONDECLARATIVE_WATCH_FACE
דוגמאות:
-
android run --apks=app/build/outputs/apk/debug/app-debug.apk– פריסה של חבילת APK אחת למכשיר ברירת המחדל. -
android run --apks=base.apk,density-hdpi.apk,lang-en.apk– פריסת כמה קובצי APK למכשיר ברירת המחדל. -
android run --apks=app-debug.apk --type=SERVICE --activity=.sync.DataSyncService– בדיקת שירות ללא פעילות. -
android run --apks=app-debug.apk --device=emulator-5554– פריסת ה-APK במכשיר ספציפי.
sdk update
שימוש: android sdk update [--beta] [--canary] [<package-name>]
תיאור: עדכון של חבילה אחת או של כל החבילות לגרסה העדכנית בערוץ (כברירת מחדל, הערוץ היציב). אם לא מציינים חבילה, כל החבילות יעודכנו.
אפשרויות:
-
<package-name>– השם של החבילה שרוצים לעדכן. -
--beta– כולל חבילות בטא. -
--canary– כולל חבילות של גרסת הגישוש. -
--force– כפיית שדרוג לאחור לגרסה ישנה יותר.
דוגמאות:
-
android sdk update– בדיקה והתקנה של עדכונים לכל מה שיש ב-SDK. -
android sdk update build-tools/34.0.0– מעדכנים את חבילת Android SDK Build Tools 34.0.0 לגרסה העדכנית ביותר בערוץ היציב. -
android sdk update --canary platforms/android-35– מעדכנים את חבילת Android SDK Platforms 35 לגרסה האחרונה בערוץ Canary.
update
שימוש: android update
תיאור: עדכון של Android CLI.
-V, --version
תיאור: הצגת הגרסה הנוכחית של Android CLI.