نظرة عامة على واجهة سطر الأوامر في Android

‫Android CLI هي واجهة سطر أوامر تتيح لك إنشاء تطبيقات Android بشكل أكثر فعالية باستخدام أي أداة تختارها. تتضمّن هذه المنصة معايير أساسية لتطوير سير العمل الذي يعتمد على الوكلاء، وتوفّر نقطة دخول إلى الأدوات والمهارات والمعرفة الرسمية اللازمة لتطوير التطبيقات بفعالية أكبر. يمكنه أيضًا تبسيط عملية الدمج المتواصل والصيانة وأي عملية برمجة آلية أخرى مكتوبة، وذلك بسبب الطبيعة الموزّعة المتزايدة لتطوير تطبيقات Android.

على سبيل المثال، يمكن أن يستخدم وكيل أو نص برمجي واجهة سطر الأوامر لتنفيذ مهام مثل ما يلي:

  • أتمتة عملية إعداد البيئة
  • إنشاء مشاريع جديدة من النماذج
  • إدارة الأجهزة الافتراضية مباشرةً من نافذة الأوامر
  • اختبار تطبيقك باستخدام ميزة رحلات البحث

تتيح أداة Android CLI أيضًا لوكلائك الوصول إلى مهارات Android وقاعدة معارف Android المتخصصة للمساعدة في ضمان تطبيق مشاريعك للأنماط وأفضل الممارسات التي توصي بها Android.

تثبيت Android CLI

لتثبيت Android CLI، اتّبِع الخطوات التالية:

  1. نزِّل Android CLI.

  2. للتأكّد من استخدام أحدث إصدار، عليك تعديل Android CLI باتّباع الخطوات التالية:

    android update
    

للتحقّق مما إذا كان Android CLI مثبّتًا على جهازك، شغِّل الأمر which android أو command -v android. إذا عرض مسارًا، يعني ذلك أنّه مثبّت.

إعداد الوكلاء

لمساعدة الوكلاء في فهم Android CLI واستخدامه، شغِّل init لتثبيت مهارة android-cli.

البيانات المجمَّعة

تجمع "واجهة سطر الأوامر" لنظام التشغيل Android بيانات حول الاستخدام الأساسي للأداة. في ما يلي البيانات التي نجمعها:

  • عمليات استدعاء الأمر android والأوامر الفرعية، مثل android run وandroid create
  • أسماء الوسيطات أو الخيارات غير الموضعية المستخدَمة، مثل --sdk أو --version
  • الوسيطات الموضعية وقيم العلامات التي يتم ربطها بمجموعة ثابتة ومحدَّدة مسبقًا من خيارات النظام التي تديرها Android CLI على سبيل المثال، نجمع أسماء نماذج المحاكي، مثل medium_phone وlarge_desktop، وأسماء الوكلاء، مثل GEMINI أو CLAUDE أو CODEX.
  • تتبُّع تسلسل استدعاء الدوال البرمجية ورسائل الأخطاء، حيث يتم إخفاء هوية المعلومات التعريفية قبل جمعها للمساعدة في ضمان الخصوصية

في ما يلي بعض الأمثلة على البيانات التي لا نجمعها:

  • لا نجمع ردود واجهة سطر الأوامر عند تنفيذ أمر ما.
  • لا نجمع المدخلات التي ينشئها المستخدمون أو المعرّفات الخارجية التي يتم تمريرها إلى واجهة سطر الأوامر، مثل إحداثيات Maven المحدّدة أو مسارات الملفات المحلية أو أسماء المشاريع المخصّصة. على سبيل المثال، إذا تم تنفيذ الأمر android create --name=com.company.internal.app، نسجّل أنّ android create تم تنفيذه باستخدام الوسيطة --name، ولكننا لا نخزّن القيمة com.company.internal.app.

الملاحظات والمشاكل

إذا واجهت أي مشاكل أو أردت تقديم ملاحظات، يمكنك الإبلاغ عن خطأ.

المشاكل المعروفة

  • الأمر android emulator لنظام التشغيل Windows غير مفعَّل حاليًا.
  • لا يمكن حاليًا تنزيل واجهة سطر الأوامر لنظام التشغيل Android من Windows PowerShell.

ضبط Android CLI

أنشئ ملف .androidrc لتطبيق العلامات والخيارات تلقائيًا في كل مرة تستدعي فيها Android CLI. احفظ الملف في الموقع التالي، حسب نظام التشغيل:

  • ‫macOS وLinux: ~/.androidrc
  • Windows: %USERPROFILE%\.androidrc

أضِف العلامات التي تريد تطبيقها تلقائيًا على الملف، بمعدّل علامة واحدة لكل سطر.

على سبيل المثال، لجعل Android CLI تستخدم حزمة تطوير البرامج (SDK) لنظام التشغيل Android معيّنة تلقائيًا في كل مرة، أضِف العلامة --sdk إلى ملفك:

--sdk=<path-to-sdk>

الخيارات العامّة

هذه علامات اختيارية يمكنك استخدامها مع أوامر أخرى في Android CLI.

-h, --help

الاستخدام: android <command> -h

الوصف: لعرض دليل المساعدة الخاص بالأداة أو الأمر المحدّد المعنيّ.

أمثلة:

  • android -h
  • android create -h

--sdk

الاستخدام: android --sdk=<path-to-sdk> <command>

الوصف: مسار حزمة تطوير البرامج (SDK) لنظام التشغيل Android التي تريد استخدامها للأمر التالي. يمكنك استخدام الإعداد --sdk لتجاوز حزمة تطوير البرامج (SDK) التلقائية لنظام التشغيل Android مؤقتًا بدلاً من تغيير متغيّرات البيئة العامة في كل مرة تريد التبديل فيها. لمعرفة حزمة تطوير البرامج (SDK) لنظام التشغيل Android التي تستخدمها تلقائيًا، شغِّل 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 التي توفّر تفاصيل حول بنية المشروع، بما في ذلك أهداف الإنشاء ومواقع عناصر الإخراج المقابلة (مثل ملفات APK)، ويعرضها. تتيح هذه المعلومات لأدوات وأوامر أخرى تحديد موقع عناصر البناء بكفاءة.

الخيارات:

  • --project_dir: دليل المشروع الذي تريد وصفه. في حال عدم إدخال قيمة، يتم استخدام الدليل الحالي.

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

docs

الاستخدام:

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

الوصف: الأمر android docs هو عملية تتألف من خطوتَين للوصول إلى قاعدة معارف Android مباشرةً من واجهة سطر الأوامر. أولاً، ابحث عن مستندات ذات صلة بطلب البحث باستخدام الأمر 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) التلقائية لنظام التشغيل Android المُستخدَمة لتغيير حزمة تطوير البرامج (SDK) لنظام التشغيل Android المستخدَمة، استخدِم --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

run

الاستخدام: android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>

الوصف: يمكنك نشر تطبيق Android على جهاز متصل أو محاكي. ولا تنفّذ أي خطوات إنشاء، بل يجب توفير مسارات ملفات APK التي تريد تثبيتها.

الوسيطات (إلزامية):

  • --apks: قائمة قيم مفصولة بفاصلة تتضمّن مسارات ملفات APK التي تريد تثبيتها. المسار نسبي إلى المكان الذي تتواجد فيه حاليًا في نظام الملفات.

الخيارات:

  • استبدِل --activity باسم النشاط الذي سيتم تشغيله بعد تثبيت حزمة APK. إذا كانت هناك أنشطة متعدّدة، يجب تحديد أحد الأنشطة لتشغيله في البداية.
  • --debug: ينشر التطبيق في وضع تصحيح الأخطاء. بعد تشغيل التطبيق في وضع تصحيح الأخطاء، عليك ربط أداة تصحيح الأخطاء من بيئة تطوير متكاملة (IDE)، مثل استوديو Android، أو أداة سطر أوامر لبدء تصحيح الأخطاء.
  • --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، إلى إحداثيات شاشة فعلية (س، ص). وهي مفيدة لكتابة نصوص برمجية للنقرات على العناصر بدون الحاجة إلى احتساب مواضعها يدويًا.

العلامات:

  • --screenshot: مسار لقطة الشاشة التي تمت إضافة تعليقات توضيحية إليها
  • --string - سلسلة تتضمّن عنصر نائب واحدًا على الأقل يتوافق مع تصنيف عنصر في واجهة المستخدم بالتنسيق #<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: لتضمين حِزم 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 المثبَّتة والمتاحة.

الوسيطات (إلزامية):

  • <package-pattern>: لفلترة الحِزم حسب النمط يتوافق مع التعبيرات العادية.

الخيارات:

  • --all: لعرض جميع الحِزم المثبَّتة والمتاحة
  • --all-versions: لعرض جميع الإصدارات لكل حزمة
  • --beta - تضمين حِزم الإصدار التجريبي
  • --canary: لتضمين حِزم 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: لتضمين حِزم Canary
  • --force: لفرض الرجوع إلى إصدار أقدم

أمثلة:

  • android sdk update: للتحقّق من توفّر تحديثات لجميع العناصر في حزمة SDK وتثبيتها
  • android sdk update build-tools/34.0.0 - يجب تحديث حزمة "أدوات إنشاء حزمة تطوير البرامج (SDK) لنظام التشغيل Android" إلى الإصدار 34.0.0 أو إصدار أحدث في القناة الثابتة.
  • android sdk update --canary platforms/android-35 - تحديث حزمة "منصات Android SDK‏ 35" إلى أحدث إصدار في قناة Canary

skills add

"مهارات Android" هي تعليمات خاصة مصمَّمة لمساعدة الوكلاء على فهم وتنفيذ أنماط معيّنة تتّبع أفضل الممارسات والإرشادات المتعلّقة بتطوير تطبيقات Android. لمزيد من المعلومات، يمكنك الاطّلاع على مقدمة عن مهارات Android.

الاستخدام: android skills add [--all] [--agent=<agent-name>] <skill-name>

الوصف: تثبيت مهارات Android في أدلة المهارات لجميع الوكلاء الذين تم رصدهم. إذا لم تكن لديك أي أدلة وكلاء حالية ولم تحدّد وكلاء معيّنين، سيتم تثبيت المهارات في Gemini وAntigravity في ~/.gemini/antigravity/skills. إذا كانت مهارات Android مثبَّتة لديك، سيقوم skills add بتحديثها إلى أحدث إصدار.

الخيارات:

  • --all: لتثبيت جميع مهارات Android أو تحديثها في آنٍ واحد في حال عدم توفّرها (وعدم تحديد --skill)، سيتم تثبيت مهارة android-cli فقط.
  • --agent: قائمة قيم مفصولة بفاصلة تتضمّن الوكلاء الذين سيتم تثبيت المهارة أو تحديثها لهم. في حال عدم توفُّرها، سيتم تثبيت المهارة لجميع الوكلاء الذين تم رصدهم.
    • [<skill-name>]: اسم المهارة التي تريد تثبيتها أو تحديثها. في حال عدم توفّرها (وعدم تحديد --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-name>

الوصف: لإزالة مهارة إذا لم تحدّد وكلاء معيّنين، ستتم إزالة المهارة من جميع الوكلاء. الوسيطات (إلزامية):

  • استبدِل <skill-name> باسم المهارة التي تريد إزالتها.

الخيارات:

  • --agent: قائمة قيم مفصولة بفاصلة تتضمّن العملاء المطلوب إزالة المهارة منهم. في حال عدم تحديدها، ستتم إزالة المهارة من جميع الوكلاء.

مثال: android skills remove --agent='gemini' --skill=edge-to-edge

studio check

تتيح لك أو لوكيل الذكاء الاصطناعي studio الأوامر التفاعل مع النسخ النشطة من استوديو Android. من خلال الاتصال بآلة افتراضية قيد التشغيل، يمكنك استخدام إمكانات IDE لتحليل الملفات والعثور على تعريفات الرموز واستخداماتها وعرض معاينات Compose والبحث عن إصدارات الاعتماديات.

الاستخدام: android studio check

الوصف: يتحقّق من حالة مثيلات &quot;استوديو Android&quot; قيد التشغيل ويدرج المشاريع المفتوحة. نفِّذ هذا الأمر أولاً للتحقّق من الربط بين واجهة سطر الأوامر وبيئة التطوير المتكاملة، ولاختيار رقم تعريف العملية والمشروع اللذين تريد الربط بهما، إذا كان هناك عدة مشاريع.

مثال على الناتج:

في حال الاتصال، تعرض النتائج معرّف العملية (PID) لمثيل &quot;استوديو Android&quot; قيد التشغيل والإصدار وحالة المشاريع المفتوحة:

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>

الوصف: يحلّل هذا الخيار ملفًا في &quot;استوديو Android&quot; بحثًا عن الأخطاء والتحذيرات وعمليات التدقيق باستخدام محرك الفحص المضمّن في بيئة التطوير المتكاملة.

الوسيطات (إلزامية):

  • <path> - مسار ملف Kotlin أو Java المطلوب تحليله

الخيارات:

  • --pid=<pid>: معرّف العملية (PID) لمثيل &quot;استوديو Android&quot; المحدّد الذي تريد الاتصال به، إذا كان هناك عدة مثيلات
  • --project=<project>: اسم المشروع المفتوح في &quot;استوديو Android&quot; الذي سيتم البحث فيه، إذا كان هناك مشاريع متعددة إذا نفّذت الأمر 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>

الوصف: تعثر هذه الميزة على الموقع الدقيق لتعريف رمز (فئة أو طريقة أو متغير أو حقل أو ثابت أو مورد Android) في المشروع باستخدام تحليل دلالي.

الوسيطات (إلزامية):

  • <symbol>: اسم رمز التعليمات البرمجية الذي تريد العثور على تعريف له.

الخيارات:

  • --context-file=<path> - مسار اختياري لملف يحتوي على مرجع إلى الرمز. يساعد توفير ملف سياق في حل الرموز الغامضة أو المحمّلة بشكل زائد من خلال توفير عمليات الاستيراد والنطاق.
  • --short: يبسّط الإخراج لعرض موقع الملف والسطر المطابق فقط.
  • --pid=<pid>: معرّف العملية (PID) لمثيل &quot;استوديو Android&quot; المحدّد الذي تريد الاتصال به، إذا كان هناك عدة مثيلات
  • --project=<project>: اسم المشروع المفتوح في &quot;استوديو Android&quot; الذي سيتم البحث فيه، إذا كان هناك مشاريع متعددة إذا نفّذت الأمر 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) لمثيل &quot;استوديو Android&quot; المحدّد الذي تريد الاتصال به، إذا كان هناك عدة مثيلات
  • --project=<project>: اسم المشروع المفتوح في &quot;استوديو Android&quot; الذي سيتم البحث فيه، إذا كان هناك مشاريع متعددة إذا نفّذت هذا الأمر من داخل دليل مشروع، سيتم استخدام هذا المشروع تلقائيًا.

مثال:

android studio find-usages --short HotelDetailScreen

studio open-file

الاستخدام: android studio open-file [--pid=<pid>] [--project=<project>] <path>

الوصف: يفتح هذا الخيار ملفًا مباشرةً في نافذة المحرِّر النشطة في Android Studio.

الوسيطات (إلزامية):

  • <path>: مسار الملف المطلوب فتحه يمكن تحديدها نسبةً إلى دليل جذر المشروع أو كمسار مطلق.

الخيارات:

  • --pid=<pid>: معرّف العملية (PID) لمثيل &quot;استوديو Android&quot; المحدّد الذي تريد الاتصال به، إذا كان هناك عدة مثيلات
  • --project=<project>: اسم المشروع المفتوح في &quot;استوديو Android&quot; الذي سيتم البحث فيه، إذا كان هناك مشاريع متعددة إذا نفّذت الأمر 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>: مسار ملف Kotlin الذي يحتوي على معاينة Compose.
  • <composable>: اسم دالة المعاينة للعنصر القابل للإنشاء (المميّزة بالرمز @Preview)

الخيارات:

  • --output-image-file=<filename>: تحدّد اسم الملف الذي سيتم حفظ صورة PNG الناتجة فيه. في حال عدم إدخال قيمة، يتم إنشاء ملف مؤقت.
  • --print-semantics: إذا كانت القيمة صحيحة، سيتم عرض شجرة الدلالات الخاصة بإمكانية الوصول إلى معاينة Compose المعروضة بتنسيق JSON. يتيح ذلك للوكلاء تحليل بنية واجهة المستخدم وعناصرها التفاعلية.
  • --pid=<pid>: تمثّل هذه السمة معرّف العملية (PID) لمثيل &quot;استوديو Android&quot; المحدّد الذي تريد الاتصال به، وذلك في حال توفّر عدة مثيلات.
  • --project=<project>: اسم المشروع المفتوح في &quot;استوديو Android&quot; الذي سيتم البحث فيه، إذا كان هناك مشاريع متعددة إذا نفّذت الأمر 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...>

الوصف: تبحث هذه السمة عن أحدث الإصدارات المتاحة من التبعيات الشائعة ومنصات Android وأدوات حزمة تطوير البرامج (SDK) في المستودعات، مثل Google Maven. ويوفّر ذلك بديلاً آليًا لعمليات التحقّق اليدوية من إصدارات التبعيات.

الوسيطات (إلزامية):

  • <artifacts...>: قائمة بالمعرّفات مفصولة بمسافات يمكنك طلب البحث عن عدة عناصر في أمر واحد. تشمل المعرّفات المتوافقة ما يلي:
    • مكتبات Maven: الرمز groupId:artifactId (على سبيل المثال، androidx.window:window).
    • المكوّنات الإضافية لنظام Gradle: رقم تعريف المكوّن الإضافي (على سبيل المثال، com.android.application).
    • الكلمات الرئيسية:
      • gradle (أداة الإنشاء Gradle)
      • studio (استوديو Android)
      • agp (المكوّن الإضافي لنظام Gradle المتوافق مع Android)
      • ndk (Android NDK)
      • sdk (حزمة تطوير البرامج لنظام التشغيل Android)
      • emulator (محاكي Android)
      • adb (Android Debug Bridge)
      • compose (قائمة المواد في Jetpack Compose)
      • kotlin (وقت تشغيل Kotlin والمترجم)
      • android (إصدارات نظام التشغيل Android)
      • platform-tools (Android SDK Platform-Tools)
      • cmdline-tools (أدوات سطر الأوامر في حزمة تطوير البرامج (SDK) لنظام التشغيل Android)
      • build-tools (أدوات تصميم حزمة تطوير البرامج (SDK) لنظام التشغيل Android)

الخيارات:

  • --pid=<pid>: معرّف العملية (PID) لمثيل &quot;استوديو Android&quot; المحدّد الذي تريد الاتصال به، إذا كان هناك عدة مثيلات
  • --project=<project>: اسم المشروع المفتوح في &quot;استوديو Android&quot; الذي سيتم البحث فيه، إذا كان هناك مشاريع متعددة إذا نفّذت الأمر version-lookup من داخل دليل مشروع، سيتم استخدام هذا المشروع تلقائيًا.

مثال:

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

update

الاستخدام: android update

الوصف: تحديث واجهة سطر الأوامر في Android

-V, --version

الوصف: لعرض الإصدار الحالي من Android CLI.