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

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

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

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

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

تثبيت واجهة سطر الأوامر لنظام التشغيل Android

لتثبيت "واجهة سطر الأوامر لنظام التشغيل Android"، اتّبِع الخطوات التالية:

  1. نزِّل واجهة سطر الأوامر لنظام التشغيل Android.

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

    android update
    

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

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

لمساعدة الموظفين في فهم واجهة سطر الأوامر لنظام التشغيل Android واستخدامها، شغِّل init لتثبيت مهارة android-cli:

android init

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

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

  • استدعاءات الأمر android والأوامر الفرعية، مثل android run وandroid create
  • أسماء الوسيطات أو الخيارات غير الموضعية المستخدَمة، مثل --sdk أو --version
  • وسيطات موضعية وقيم علامات يتم ربطها بمجموعة ثابتة ومحدَّدة مسبقًا من خيارات النظام التي تديرها واجهة سطر الأوامر في Android على سبيل المثال، نجمع أسماء نماذج المحاكي، مثل 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

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

  • نظاما التشغيل macOS وLinux: ~/.androidrc
  • Windows: %USERPROFILE%\.androidrc

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

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

--sdk=<path-to-sdk>

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

هذه علامات اختيارية يمكنك استخدامها مع أوامر أخرى في واجهة سطر الأوامر لنظام التشغيل Android.

-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=<skill-name>]

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

الخيارات:

  • --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

studio check

تتيح لك أو لوكيل الذكاء الاصطناعي studio الأوامر التفاعل مع النسخ النشطة من استوديو Android. من خلال الاتصال بمثيل قيد التشغيل، يمكنك الاستفادة من إمكانات بيئة التطوير المتكاملة لتحليل الملفات والعثور على تعريفات الرموز واستخداماتها وعرض معاينات 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