مروری بر رابط خط فرمان اندروید (CLI)

رابط خط فرمان اندروید (Android CLI) یک رابط خط فرمان است که به شما امکان می‌دهد با استفاده از هر ابزاری که انتخاب می‌کنید، به راحتی و با کارایی بیشتری برای اندروید برنامه بسازید. این رابط، شایستگی‌های اصلی توسعه را برای گردش‌های کاری مبتنی بر عامل (agent-first) استانداردسازی می‌کند و نقطه ورود به ابزارها، مهارت‌ها و دانش رسمی مورد نیاز برای توسعه مؤثرتر را فراهم می‌کند. همچنین می‌تواند CI، نگهداری و هرگونه اتوماسیون اسکریپت‌شده دیگر را برای ماهیت توزیع‌شده فزاینده توسعه اندروید ساده‌سازی کند.

برای مثال، یک عامل یا اسکریپت می‌تواند از رابط خط فرمان (CLI) برای انجام وظایفی مانند موارد زیر استفاده کند:

  • خودکارسازی تنظیمات محیط
  • پروژه‌های جدید را از قالب‌ها داربست‌بندی کنید
  • مدیریت دستگاه‌های مجازی مستقیماً از طریق ترمینال شما
  • اپلیکیشن خود را با Journeys تست کنید

رابط خط فرمان اندروید (Android CLI) همچنین به نمایندگان شما امکان دسترسی به مهارت‌های اندروید و پایگاه دانش تخصصی اندروید را می‌دهد تا اطمینان حاصل شود که پروژه‌های شما از الگوها و بهترین شیوه‌های توصیه‌شده توسط اندروید استفاده می‌کنند.

نصب رابط خط فرمان اندروید (CLI)

برای نصب رابط خط فرمان اندروید (CLI) مراحل زیر را دنبال کنید:

  1. رابط خط فرمان اندروید را دانلود کنید .

  2. برای اطمینان از اینکه از آخرین نسخه استفاده می‌کنید، Android CLI را به‌روزرسانی کنید:

    android update
    

برای بررسی اینکه آیا Android CLI از قبل روی دستگاه شما نصب شده است یا خیر، which android یا command -v android را اجرا کنید: اگر مسیری را برگرداند، پس نصب شده است.

برای نمایندگان تنظیم کنید

برای کمک به اپراتورها در درک و استفاده از Android CLI، init برای نصب مهارت android-cli اجرا کنید:

android init

داده‌های جمع‌آوری‌شده

رابط خط فرمان اندروید (Android CLI) داده‌های مربوط به استفاده اولیه از این ابزار را جمع‌آوری می‌کند. داده‌هایی که ما جمع‌آوری می‌کنیم به شرح زیر است:

  • فراخوانی‌های دستور و زیردستورات android ، برای مثال android run و android create .
  • نام آرگومان‌ها یا گزینه‌های غیر موقعیتی مورد استفاده، برای مثال --sdk یا --version .
  • آرگومان‌های موقعیتی و مقادیر پرچم که به مجموعه‌ای ثابت و از پیش تعریف‌شده از گزینه‌های سیستم که توسط Android CLI مدیریت می‌شوند، نگاشت می‌شوند. برای مثال، ما نام‌های قالب شبیه‌ساز مانند medium_phone و large_desktop و نام‌های عامل مانند GEMINI ، CLAUDE یا CODEX را جمع‌آوری می‌کنیم.
  • ردیابی‌های پشته و پیام‌های استثنا، که در آن اطلاعات شناسایی قبل از جمع‌آوری ناشناس می‌شوند تا به تضمین حریم خصوصی کمک شود.

در اینجا چند نمونه از داده‌هایی که ما جمع‌آوری نمی‌کنیم ، آورده شده است:

  • ما هنگام اجرای یک دستور، پاسخ‌های CLI را جمع‌آوری نمی‌کنیم.
  • ما ورودی‌های ایجاد شده توسط کاربر یا شناسه‌های خارجی ارسال شده به CLI، مانند مختصات خاص Maven، مسیرهای فایل محلی یا نام‌های پروژه سفارشی را جمع‌آوری نمی‌کنیم. برای مثال، اگر دستور android create --name=com.company.internal.app اجرا شود، ما ثبت می‌کنیم که android create با استفاده از آرگومان --name اجرا شده است، اما مقدار com.company.internal.app ذخیره نمی‌کنیم.

مشکلات شناخته شده

  • دستور android emulator برای ویندوز در حال حاضر غیرفعال است.
  • دانلود رابط خط فرمان اندروید (Android CLI) از طریق پاورشل ویندوز (Windows PowerShell) در حال حاضر پشتیبانی نمی‌شود.

اگر با هرگونه مشکلی مواجه شدید یا مایل به ارائه بازخورد هستید، لطفاً یک اشکال را گزارش دهید .

پیکربندی رابط خط فرمان اندروید (CLI)

یک فایل .androidrc ایجاد کنید تا هر بار که Android CLI را فراخوانی می‌کنید، به طور خودکار پرچم‌ها و گزینه‌ها اعمال شوند. فایل را بسته به سیستم عامل خود، در مسیر زیر ذخیره کنید:

  • macOS و لینوکس : ~/.androidrc
  • ویندوز : %USERPROFILE%\.androidrc

پرچم‌هایی را که می‌خواهید به‌طور خودکار اعمال شوند، در هر خط به فایل اضافه کنید.

برای مثال، برای اینکه رابط خط فرمان اندروید (Android CLI) هر بار به طور پیش‌فرض از یک SDK اندروید خاص استفاده کند، فلگ --sdk را به فایل خود اضافه کنید:

--sdk=<path-to-sdk>

گزینه‌های جهانی

اینها پرچم‌های اختیاری هستند که می‌توانید با سایر دستورات CLI اندروید از آنها استفاده کنید.

-h, --help

کاربرد: android <command> -h

توضیحات: نمایش راهنمای ابزار یا دستور خاص مورد نظر.

مثال‌ها:

  • android -h
  • android create -h

--sdk

کاربرد: android --sdk=<path-to-sdk> <command>

توضیحات: مسیر SDK اندروید که می‌خواهید برای دستور زیر استفاده کنید. می‌توانید از تنظیم --sdk برای لغو موقت SDK پیش‌فرض اندروید استفاده کنید، به جای اینکه هر بار که می‌خواهید تغییر دهید، متغیرهای محیطی سراسری خود را تغییر دهید. برای بررسی اینکه از کدام 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 - خروجی 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>]

شرح: یک پروژه اندروید را برای تولید فراداده‌های توصیفی تجزیه و تحلیل می‌کند. این دستور مسیرهای فایل‌های JSON را که جزئیات ساختار پروژه، از جمله اهداف ساخت و مکان‌های مصنوعات خروجی مربوطه (به عنوان مثال، فایل‌های APK) را شرح می‌دهند، شناسایی و خروجی می‌دهد. این اطلاعات به ابزارها و دستورات دیگر امکان می‌دهد تا مصنوعات ساخت را به طور موثر پیدا کنند.

گزینه‌ها:

  • --project_dir - دایرکتوری پروژه برای توصیف. در صورت حذف، دایرکتوری فعلی استفاده می‌شود.

مثال: android describe --project_dir=/path/to/your/project

docs

کاربرد:

  • android docs search <query>
  • android docs fetch <kb-url>

شرح: دستور android docs یک فرآیند دو مرحله‌ای برای دسترسی مستقیم به پایگاه دانش اندروید از طریق رابط خط فرمان (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

توضیحات: مسیر SDK پیش‌فرض اندروید مورد استفاده را نمایش می‌دهد. برای تغییر SDK اندروید مورد استفاده، از --sdk استفاده کنید.

init

کاربرد: android init

توضیحات: با نصب مهارت android-cli ، محیط خود را برای عامل‌ها تنظیم کنید.

layout

کاربرد: android layout [--pretty] [--output] [--diff]

توضیحات: طرح‌بندی رابط کاربری (UI layout) برنامه‌ی فعال اندروید (که از طریق یک دستگاه فیزیکی یا شبیه‌ساز متصل شده است) را با فرمت JSON برمی‌گرداند.

گزینه‌ها:

  • -p, --pretty - خروجی JSON را با تورفتگی و پرش به خط جدید برای خوانایی بیشتر توسط انسان قالب‌بندی می‌کند.
  • -o, --output - محل ذخیره درخت طرح‌بندی را مشخص می‌کند. در صورت حذف، JSON مستقیماً در stdout چاپ می‌شود.
  • -d, --diff - به جای نمایش کامل درخت طرح‌بندی، فهرستی از تنها عناصر طرح‌بندی که از آخرین اسنپ‌شات داخلی گرفته شده (آخرین باری که طرح‌بندی اجرا شد) تغییر کرده‌اند را برمی‌گرداند.

مثال: : android layout --output=./hierarchy.json

run

کاربرد: android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>

توضیحات: یک برنامه اندروید را روی یک دستگاه متصل یا شبیه‌ساز مستقر کنید. این برنامه هیچ مرحله ساختی انجام نمی‌دهد؛ شما باید مسیر (مسیرهای) فایل‌های APK که می‌خواهید نصب کنید را ارائه دهید.

آرگومان‌ها (اجباری):

  • --apks - فهرستی از مسیر(های) فایل‌های APK که می‌خواهید نصب کنید و با کاما از هم جدا شده‌اند. این مسیر نسبت به مکانی که در حال حاضر در سیستم فایل قرار دارید، تعیین می‌شود.

گزینه‌ها:

  • --activity - نام فعالیتی که پس از نصب APK اجرا می‌شود. اگر چندین فعالیت وجود دارد، باید ابتدا یک فعالیت را برای اجرا مشخص کنید.
  • --debug - برنامه را در حالت اشکال‌زدایی مستقر می‌کند. پس از اجرای برنامه در حالت اشکال‌زدایی، برای شروع اشکال‌زدایی باید اشکال‌زدای خود را از یک IDE مانند اندروید استودیو یا یک ابزار خط فرمان متصل کنید .
  • --device - شماره سریال دستگاه هدف یا شبیه‌ساز. فقط در صورت اتصال چندین دستگاه مورد نیاز است. برای یافتن شماره سریال دستگاه، دستور adb devices را اجرا کنید.
  • --type - نوع کامپوننتی که قرار است شروع شود. اگر می‌خواهید به جای یک فعالیت رابط کاربری، یک سرویس پس‌زمینه را مستقیماً شروع کنید، از این استفاده کنید. انواع پشتیبانی شده:
    • ACTIVITY
    • WATCH_FACE
    • TILE
    • COMPLICATION
    • DECLARATIVE_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 را روی یک دستگاه خاص مستقر می‌کند.

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> با مختصات صفحه نمایش جایگزین می‌شود.

مثال:

اگر برچسب ۵ در مختصات (۵۰۰، ۱۰۰۰) باشد، آنگاه دستور

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 - نسخه ۲ از بسته Android SDK Platform 34 را نصب کنید.
  • android sdk install --canary system-images/android-35/google_apis/x86_6 - آخرین نسخه از تصویر سیستم اندروید ۳۵ را از کانال قناری نصب کنید.
  • android sdk install --force platforms/android-33@1 - بازگشت به نسخه ۱ پکیج Android SDK Platform 33 از کانال پایدار.

sdk list

کاربرد: android sdk list <package-pattern>

توضیحات: فهرست بسته‌های 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

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 به‌روزرسانی کنید.

skills add

مهارت‌های اندروید، دستورالعمل‌های ویژه‌ای هستند که برای کمک به عامل‌ها در درک و اجرای بهتر الگوهای خاصی که از بهترین شیوه‌ها و راهنمایی‌ها در توسعه اندروید پیروی می‌کنند، طراحی شده‌اند. برای کسب اطلاعات بیشتر، به مقدمه‌ای بر مهارت‌های اندروید مراجعه کنید.

کاربرد: android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]

توضیحات: مهارت‌های اندروید را برای همه عامل‌های شناسایی‌شده در دایرکتوری‌های مهارت‌ها نصب کنید. اگر هیچ دایرکتوری عامل موجود ندارید و عامل‌های خاصی را مشخص نکرده‌اید، مهارت‌ها برای Gemini و Antigravity در ~/.gemini/antigravity/skills نصب خواهند شد. اگر از قبل مهارت‌های اندروید را نصب کرده‌اید، skills add ، مهارت‌ها را به آخرین نسخه به‌روزرسانی می‌کند.

گزینه‌ها:

  • --all - تمام مهارت‌های اندروید را به طور همزمان نصب یا به‌روزرسانی می‌کند. اگر حذف شود (و --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

studio check

دستورات studio شما یا عامل هوش مصنوعی شما را قادر می‌سازد تا با نمونه‌های فعال اندروید استودیو تعامل داشته باشید. با اتصال به یک نمونه در حال اجرا، می‌توانید از قابلیت‌های IDE برای تجزیه و تحلیل فایل‌ها، یافتن اعلان‌ها و کاربردهای نمادها، ارائه پیش‌نمایش‌های Compose و جستجوی نسخه‌های وابستگی استفاده کنید.

کاربرد: android studio check

توضیحات: وضعیت نمونه‌های در حال اجرای اندروید استودیو را بررسی می‌کند و پروژه‌های باز را فهرست می‌کند. ابتدا این دستور را اجرا کنید تا ارتباط بین CLI و IDE تأیید شود و در صورت وجود چندین PID و پروژه، PID و پروژه‌ای که می‌خواهید به آن متصل شوید را انتخاب کنید.

مثال خروجی:

در صورت اتصال، خروجی PID نمونه‌ی در حال اجرا اندروید استودیو، نسخه و وضعیت پروژه‌های باز را فهرست می‌کند:

pid: 32942
version: Android Studio Quail
Projects:
    READY     MyApplication /Users/username/AndroidStudioProjects/MyApplication

studio analyze-file

کاربرد: android studio analyze-file [--pid=<pid>] [--project=<project>] <path>

توضیحات: با استفاده از موتور بازرسی داخلی IDE، یک فایل را در اندروید استودیو برای یافتن خطاها، هشدارها و lintها تجزیه و تحلیل می‌کند.

آرگومان‌ها (اجباری):

  • <path> - مسیر فایل کاتلین یا جاوا برای تحلیل.

گزینه‌ها:

  • --pid=<pid> - PID نمونه‌ی خاص اندروید استودیو که باید به آن متصل شوید، در صورت وجود چندین نمونه.
  • --project=<project> - نام پروژه‌ای که در اندروید استودیو برای پرس‌وجو باز است، در صورت وجود چندین پروژه. اگر دستور analyze-file را از داخل دایرکتوری یک پروژه اجرا کنید، آن پروژه به طور پیش‌فرض استفاده می‌شود.

مثال:

android studio analyze-file \
  --project=MyApplication \
  /Users/username/AndroidStudioProjects/MyApplication/app/src/main/java/com/example/myapp/MainActivity.kt

studio find-declaration

کاربرد: android studio find-declaration [--short] [--context-file=<path>] [--pid=<pid>] [--project=<project>] <symbol>

توضیحات: محل دقیق اعلان یک نماد (کلاس، متد، متغیر، فیلد، ثابت یا منبع اندروید) را در سراسر پروژه با استفاده از تفکیک معنایی پیدا می‌کند.

آرگومان‌ها (اجباری):

  • <symbol> - نام نماد کدی که قرار است اعلان آن پیدا شود.

گزینه‌ها:

  • --context-file=<path> - مسیر اختیاری به فایلی که حاوی ارجاعی به نماد است. ارائه یک فایل زمینه با ارائه importها و دامنه، به حل نمادهای مبهم یا سربارگذاری شده کمک می‌کند.
  • --short - خروجی را ساده می‌کند تا فقط مکان فایل و تطابق خط را نمایش دهد.
  • --pid=<pid> - PID نمونه‌ی خاص اندروید استودیو که باید به آن متصل شوید، در صورت وجود چندین نمونه.
  • --project=<project> - نام پروژه‌ای که در اندروید استودیو برای جستجو باز است، در صورت وجود چندین پروژه. اگر دستور find-declaration را از داخل دایرکتوری پروژه اجرا کنید، آن پروژه به طور پیش‌فرض استفاده می‌شود.

مثال:

android studio find-declaration --short HotelDetailScreen

studio find-usages

کاربرد: android studio find-usages [--short] [--pid=<pid>] [--project=<project>] <symbol>

توضیحات: با استفاده از تحلیل معنایی، تمام ارجاعات و کاربردهای یک نماد را در کل پروژه پیدا می‌کند.

آرگومان‌ها (اجباری):

  • <symbol> - نام نمادی که قرار است کاربردهای آن را پیدا کنیم.

گزینه‌ها:

  • --short - خروجی را ساده می‌کند تا فقط مکان‌های فایل منطبق را نمایش دهد.
  • --pid=<pid> - PID نمونه‌ی خاص اندروید استودیو که باید به آن متصل شوید، در صورت وجود چندین نمونه.
  • --project=<project> - نام پروژه‌ای که در اندروید استودیو برای پرس‌وجو باز است، در صورت وجود چندین پروژه. اگر این دستور را از داخل دایرکتوری یک پروژه اجرا کنید، آن پروژه به طور پیش‌فرض استفاده می‌شود.

مثال:

android studio find-usages --short HotelDetailScreen

studio open-file

کاربرد: android studio open-file [--pid=<pid>] [--project=<project>] <path>

توضیحات: یک فایل را مستقیماً در پنجره ویرایشگر فعال اندروید استودیو باز می‌کند.

آرگومان‌ها (اجباری):

  • <path> - مسیر فایلی که قرار است باز شود. می‌تواند نسبت به دایرکتوری ریشه پروژه یا به عنوان یک مسیر مطلق مشخص شود.

گزینه‌ها:

  • --pid=<pid> - PID نمونه‌ی خاص اندروید استودیو که باید به آن متصل شوید، در صورت وجود چندین نمونه.
  • --project=<project> - نام پروژه‌ای که در اندروید استودیو برای پرس‌وجو باز است، در صورت وجود چندین پروژه. اگر دستور open-file را از داخل دایرکتوری پروژه اجرا کنید، آن پروژه به طور پیش‌فرض استفاده می‌شود.

مثال:

android studio open-file app/src/main/java/com/example/myapp/ui/DetailScreen.kt

studio render-compose-preview

کاربرد: android studio render-compose-preview [--print-semantics] [--output-image-file=<filename>] [--pid=<pid>] [--project=<project>] <path> <composable>

توضیحات: پیش‌نمایش رابط کاربری Jetpack Compose را رندر می‌کند و به صورت اختیاری درخت معنایی طرح‌بندی آن را برمی‌گرداند. این برای آزمایش بصری یا برای فعال کردن عامل‌های هوش مصنوعی برای کار با طرح‌بندی رابط کاربری مفید است.

آرگومان‌ها (اجباری):

  • <path> - مسیر فایل کاتلین حاوی پیش‌نمایش Compose.
  • <composable> - نام تابع پیش‌نمایش قابل ترکیب (با @Preview مشخص شده است).

گزینه‌ها:

  • --output-image-file=<filename> - نام فایلی را که تصویر PNG رندر شده حاصل در آن نوشته می‌شود، مشخص می‌کند. در صورت حذف، یک فایل موقت ایجاد می‌شود.
  • --print-semantics - اگر درست باشد، درخت معنایی دسترسی‌پذیری پیش‌نمایش Compose رندر شده را در قالب JSON چاپ می‌کند. این به عامل‌ها امکان می‌دهد ساختار و عناصر تعاملی رابط کاربری را تجزیه کنند.
  • --pid=<pid> - PID نمونه‌ی خاص اندروید استودیو که باید به آن متصل شوید، در صورت وجود چندین نمونه.
  • --project=<project> - نام پروژه‌ای که در اندروید استودیو برای پرس‌وجو باز است، در صورت وجود چندین پروژه. اگر دستور render-compose-preview را از داخل دایرکتوری پروژه اجرا کنید، آن پروژه به طور پیش‌فرض استفاده می‌شود.

مثال:

android studio render-compose-preview \
  --output-image-file=preview_hotel.png \
  --print-semantics \
  app/src/main/java/com/example/myapp/ui/DetailScreen.kt \
  HotelDetailScreenPreview

studio version-lookup

کاربرد: android studio version-lookup [--pid=<pid>] [--project=<project>] <artifacts...>

توضیحات: آخرین نسخه‌های موجود از وابستگی‌های رایج، پلتفرم‌های اندروید و ابزارهای SDK را در مخازنی مانند Google Maven جستجو می‌کند. این یک جایگزین برنامه‌نویسی‌شده برای بررسی دستی نسخه وابستگی‌ها است.

آرگومان‌ها (اجباری):

  • <artifacts...> - فهرستی از شناسه‌ها که با فاصله از هم جدا شده‌اند. می‌توانید چندین مصنوع را در یک دستور جستجو کنید. شناسه‌های پشتیبانی‌شده عبارتند از:
    • کتابخانه‌های Maven: نمادگذاری groupId:artifactId (برای مثال، androidx.window:window ).
    • افزونه‌های Gradle: شناسه افزونه (برای مثال، com.android.application ).
    • کلمات کلیدی:
      • gradle (ابزار ساخت گرادل)
      • studio (اندروید استودیو)
      • agp (افزونه اندروید Gradle)
      • ndk (اندروید NDK)
      • sdk (کیت توسعه نرم‌افزار اندروید)
      • emulator (شبیه ساز اندروید)
      • adb (پل اشکال‌زدایی اندروید)
      • compose (Jetpack Compose BOM)
      • kotlin (کامپایلر و محیط اجرایی کاتلین)
      • android (نسخه‌های سیستم عامل اندروید)
      • platform-tools (ابزارهای پلتفرم SDK اندروید)
      • cmdline-tools (ابزارهای خط فرمان SDK اندروید)
      • build-tools (ابزارهای ساخت SDK اندروید)

گزینه‌ها:

  • --pid=<pid> - PID نمونه‌ی خاص اندروید استودیو که قرار است به آن متصل شوید، در صورت وجود چندین نمونه.
  • --project=<project> - نام پروژه‌ای که در اندروید استودیو برای جستجو باز است، در صورت وجود چندین پروژه. اگر دستور version-lookup را از داخل دایرکتوری یک پروژه اجرا کنید، آن پروژه به طور پیش‌فرض استفاده می‌شود.

مثال:

android studio version-lookup \
  androidx.compose.ui:ui \
  com.android.application \
  agp \
  kotlin

update

کاربرد: android update

توضیحات: رابط خط فرمان اندروید (CLI) را به‌روزرسانی کنید.

-V, --version

توضیحات: نسخه فعلی رابط خط فرمان اندروید (Android CLI) را نمایش می‌دهد.