بدء المحاكي من سطر الأوامر

تتضمن حزمة تطوير البرامج (SDK) لنظام التشغيل Android محاكيًا لجهاز Android، وهو جهاز افتراضي يعمل على جهاز الكمبيوتر. يتيح لك محاكي Android تطوير تطبيقات Android واختبارها بدون استخدام جهاز فعلي.

تصف هذه الصفحة ميزات سطر الأوامر التي يمكنك استخدامها مع Android Emulator. للحصول على معلومات عن استخدام واجهة مستخدم محاكي Android، يمكنك الاطّلاع على تشغيل التطبيقات على محاكي Android.

بدء المحاكي

استخدِم الأمر emulator لتشغيل المحاكي بدلاً من تشغيل مشروعك أو تشغيله من خلال "مدير AVD".

إليك بناء الجملة الأساسي لسطر الأوامر لبدء جهاز افتراضي من موجه طرفي:

emulator -avd avd_name [ {-option [value]} … ]

أو

emulator @avd_name [ {-option [value]} … ]

على سبيل المثال، إذا أطلقت المحاكي من داخل "استوديو Android" على جهاز Mac، سيكون سطر الأوامر الافتراضي مشابهًا لما يلي:

/Users/janedoe/Library/Android/sdk/emulator/emulator -avd Pixel8_API_34 -netdelay none -netspeed full -qt-hide-window -grpc-use-token -idle-grpc-timeout

يُرجى ملاحظة أنّ الوسائط -qt-hide-window -grpc-use-token -idle-grpc-timeout تُستخدم فقط لتشغيل نافذة المحاكي في "استوديو Android". إذا أردت تشغيل المحاكي في نافذته الخاصة، يجب عدم استخدام هذه المعلمات الإضافية.

يمكنك تحديد خيارات بدء التشغيل عند بدء تشغيل المحاكي، ولكن ليس بعد بدئه.

للحصول على قائمة بأسماء AVD، أدخِل الأمر التالي:

emulator -list-avds

استخدِم هذا الخيار لعرض قائمة بأسماء AVD من الدليل الرئيسي على Android. يمكنك إلغاء الدليل الرئيسي التلقائي من خلال ضبط متغيّر البيئة ANDROID_SDK_HOME الذي يحدّد جذر الدليل الخاص بالمستخدم الذي يتم فيه تخزين كل محتوى الإعدادات ومتوسّط مدة المشاهدة.

يمكنك ضبط متغيّر البيئة في النافذة الطرفية قبل تشغيل جهاز افتراضي أو من خلال إعدادات المستخدم في نظام التشغيل. على سبيل المثال، في ملف .bashrc على نظام التشغيل Linux.

لإيقاف محاكي Android، أغلِق نافذة المحاكي.

تثبيت تطبيق

بالإضافة إلى تثبيت تطبيق من خلال "استوديو Android" أو واجهة مستخدم المحاكي، يمكنك تثبيت تطبيقك على جهاز افتراضي باستخدام أداة adb المساعدة.

لاستخدام adb لتثبيت تطبيقك وتشغيله واختباره، اتّبِع الخطوات العامة التالية:

  1. أنشِئ تطبيقك واجمعه في حزمة APK، كما هو موضّح في إنشاء تطبيقك وتشغيله.
  2. ابدأ تشغيل المحاكي من سطر الأوامر، كما هو موضح في القسم السابق، باستخدام أي خيارات بدء تشغيل ضرورية.
  3. ثبِّت تطبيقك باستخدام adb.
  4. شغِّل تطبيقك واختبِره على المحاكي.
    أثناء تشغيل المحاكي، يمكنك استخدام وحدة تحكم المحاكي لإصدار الأوامر حسب الحاجة.

لإلغاء تثبيت تطبيق، افعل ذلك كما تفعل على جهاز Android.

يحتفظ الجهاز الافتراضي بالتطبيق وبيانات حالته على مستوى جميع عمليات إعادة التشغيل في قسم قرص بيانات المستخدم (userdata-qemu.img). لمحو هذه البيانات، يمكنك تشغيل المحاكي باستخدام الخيار -wipe-data أو حجب البيانات في "مدير AVD". لمزيد من المعلومات حول قسم بيانات المستخدم وسعة التخزين الأخرى، راجع القسم التالي.

ملاحظة: تنظر الأداة المساعدة adb إلى الجهاز الافتراضي كجهاز مادي فعلي. لهذا السبب، قد تضطر إلى استخدام العلامة -d مع بعض أوامر adb الشائعة، مثل install. تتيح لك العلامة -d تحديد أي من الأجهزة المتصلة المتعددة التي تريد استخدامها كهدف للأمر. إذا لم تحدّد العلامة -d، يستهدف المحاكي الجهاز الأول في قائمته.

التعرّف على الأدلة والملفات التلقائية

يستخدم المحاكي ملفات مرتبطة يكون نظام AVD وأدلة البيانات الأهم منها. من المفيد فهم بنية دليل المحاكي وملفاته عند تحديد خيارات سطر الأوامر، على الرغم من أنك لا تحتاج عادةً إلى تعديل الأدلة أو الملفات الافتراضية.

يستخدم محاكي Android برنامج Windows Hypervisor Platform (QEMU).

دليل نظام AVD

يحتوي دليل النظام على صور نظام Android التي يستخدمها المحاكي لمحاكاة نظام التشغيل. يحتوي هذا الدليل على ملفات للقراءة فقط خاصة بالنظام الأساسي ومشتركة بين جميع AVD من النوع نفسه، بما في ذلك مستوى واجهة برمجة التطبيقات وبنية وحدة المعالجة المركزية (CPU) ونسخة Android. وفي ما يلي المواقع الجغرافية التلقائية:

  • نظاما التشغيل macOS وLinux - ~/Library/Android/sdk/system-images/android-apiLevel/variant/arch/
  • Windows - C:\Users\user\Library\Android\sdk\system-images\android-apiLevel\variant\arch\

المكان:

  • apiLevel هو مستوى رقمي لواجهة برمجة التطبيقات أو خطاب لإصدارات المعاينة. على سبيل المثال، يشير android-V إلى معاينة Android VanillaIceCream. وعند طرحه، أصبح المستوى 35 من واجهة برمجة التطبيقات، وهو ما تم تحديده من قِبل "android-35".
  • variant هو اسم يقابل ميزات محددة تنفّذها صورة النظام. على سبيل المثال، google_apis أو android-wear.
  • arch هي البنية المستهدَفة لوحدة المعالجة المركزية (CPU). مثلاً: x86

استخدِم الخيار -sysdir لتحديد دليل نظام مختلف لـ AVD.

يقرأ المحاكي الملفات التالية من دليل النظام:

الجدول 1. ملفات دليل النظام التي يقرأها محاكي Android

الملف الوصف خيار تحديد ملف مختلف
‫‎kernel-qemu أو ‎kernel-ranchu تشير هذه السمة إلى صورة النواة الثنائية لـ AVD. يستند kernel-ranchu إلى محاكي QEMU. -kernel
ramdisk.img صورة قسم التشغيل هذه مجموعة فرعية من system.img يتم تحميلها بواسطة النواة مبدئيًا قبل تثبيت صورة النظام. وعادة ما يحتوي على عدد قليل من البرامج الثنائية والنصوص البرمجية للتهيئة. -ramdisk
system.img تمثّل هذه السمة النسخة الأولية للقراءة فقط من صورة النظام. وعلى وجه التحديد، القسم الذي يحتوي على مكتبات النظام وبياناته المقابلة لمستوى واجهة برمجة التطبيقات والسعر المتغير. -system
userdata.img تعرض هذه السمة الإصدار الأولي من قسم البيانات الذي يظهر على شكل data/ في النظام الذي تمت محاكاته ويحتوي على جميع البيانات القابلة للكتابة لمتوسّط مدة المشاهدة. ويستخدم المحاكي هذا الملف عند إنشاء متوسّط مدة مشاهدة (AVD) جديد أو استخدام الخيار ‑wipe-data. لمزيد من المعلومات، اطّلِع على وصف ملف userdata-qemu.img في القسم التالي. -initdata
-init-data

دليل بيانات AVD

إنّ دليل بيانات متوسّط مدة المشاهدة، والذي يُعرف أيضًا باسم دليل المحتوى، مخصَّص لمثيل واحد من متوسّط مدة المشاهدة والذي يتضمّن جميع البيانات القابلة للتعديل.

والموقع التلقائي هو ما يلي، حيث يكون name هو اسم متوسّط مدة المشاهدة:

  • نظاما التشغيل macOS وLinux - ~/.android/avd/name.avd/
  • Windows 10 والإصدارات الأحدث - C:\Users\user\.android\name.avd\

استخدِم الخيار -datadir لتحديد دليل بيانات AVD مختلف.

يسرد الجدول التالي أهم الملفات المضمَّنة في هذا الدليل:

الجدول 2. الملفات المهمة في دليل بيانات AVD

الملف الوصف خيار تحديد ملف مختلف
userdata-qemu.img

محتوى قسم البيانات، الذي يظهر كـ data/ في نظام المحاكاة. عند إنشاء متوسّط مدة مشاهدة جديدة أو عند استخدام خيار -wipe-data لإعادة ضبط هذه المدة على الإعدادات التلقائية، ينسخ المحاكي ملف userdata.img في دليل النظام لإنشاء هذا الملف.

يستخدم كل مثيل جهاز افتراضي صورة بيانات مستخدم قابلة للكتابة لتخزين البيانات الخاصة بالمستخدم والجلسة. على سبيل المثال، يستخدم الصورة لتخزين بيانات التطبيق والإعدادات وقواعد البيانات والملفات المثبتة لدى مستخدم فريد. يمتلك كل مستخدم دليل ANDROID_SDK_HOME مختلفًا يخزِّن أدلة البيانات لملفات AVD التي أنشأها هذا المستخدم. يتضمّن كل متوسّط مدة مشاهدة ملف userdata-qemu.img واحدًا.

-data
cache.img تمثّل هذه السمة صورة قسم ذاكرة التخزين المؤقت التي تظهر على شكل cache/ في نظام المحاكاة. يكون هذا العمود فارغًا عند إنشاء "متوسّط مدة المشاهدة" لأول مرة أو استخدام الخيار "-wipe-data". وهو يخزن ملفات التنزيل المؤقتة وتتم تعبئته بواسطة مدير التنزيل وأحيانًا النظام. على سبيل المثال، يستخدمه المتصفح لتخزين صفحات الويب والصور التي تم تنزيلها في ذاكرة التخزين المؤقت أثناء تشغيل المحاكي. عند إيقاف تشغيل الجهاز الافتراضي، يتم حذف الملف. ويمكنك مواصلة تشغيل الملف باستخدام الخيار -cache. -cache
sdcard.img

(اختياري) صورة قسم لبطاقة SD تتيح لك محاكاة بطاقة SD على جهاز افتراضي. يمكنك إنشاء ملف صورة لبطاقة SD في مدير AVD أو باستخدام الأداة mksdcard. يتم تخزين الملف على جهاز كمبيوتر التطوير ويجب تحميله عند بدء التشغيل.

عند تحديد AVD في "مدير AVD"، يمكنك اختيار استخدام ملف بطاقة SD مُدار تلقائيًا أو ملف أنشأته باستخدام أداة mksdcard. يمكنك الاطّلاع على ملف sdcard.img المرتبط بـ AVD في "مدير AVD". يلغي الخيار -sdcard ملف بطاقة SD المحدَّد في AVD. تجدر الإشارة إلى أنّ خيار بطاقة SD هذا لن يعمل على أجهزة Mac المزوّدة بخدمة Apple Silicon.

يمكنك تصفُّح الملفات وإرسالها إليها ونسخها وإزالتها من بطاقة SD التي تمت محاكاتها، وذلك باستخدام واجهة مستخدِم المحاكي أو الأداة adb أثناء تشغيل الجهاز الافتراضي. لا يمكنك إزالة بطاقة SD تمت محاكاتها من جهاز افتراضي قيد التشغيل.

لنسخ الملفات إلى ملف بطاقة SD قبل تحميله، حمِّل ملف الصورة كجهاز تكراري ثم انسخ الملفات. أو استخدِم أداة مساعدة، مثل الحزمة mtools، لنسخ الملفات إلى الصورة مباشرةً.

ويتعامل المحاكي مع الملف كمجموعة من وحدات البايت، لذا فإن تنسيق بطاقة SD ليس مهمًا.

لا يؤثر الخيار -wipe-data في هذا الملف. إذا أردت محو الملف، احذفه ثم أعِد إنشائه باستخدام "مدير AVD" أو أداة mksdcard. يؤدي تغيير حجم الملف أيضًا إلى حذف الملف وإنشاء ملف جديد.

-sdcard

إدراج الأدلّة والملفات التي يستخدمها المحاكي

يمكنك اكتشاف مكان الملفات بطريقتين:

  • ويمكنك استخدام الخيار -verbose أو -debug init عند بدء المحاكي من سطر الأوامر. انظر إلى الناتج.
  • استخدِم الأمر -help-option emulator لإدراج دليل تلقائي. مثلاً:
    emulator -help-datadir
    Use '-datadir <dir>' to specify a directory where writable image files will be searched. On this system, the default directory is: /Users/me/.android See '-help-disk-images' for more information about disk image files.

خيارات بدء تشغيل سطر الأوامر

يسرد هذا القسم الخيارات التي يمكنك توفيرها في سطر الأوامر عند تشغيل المحاكي.

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

الخيارات شائعة الاستخدام

يسرد الجدول التالي خيارات بدء تشغيل سطر الأوامر التي قد تستخدمها كثيرًا:

الجدول 3. خيارات سطر الأوامر شائعة الاستخدام

خيار سطر الأوامر الوصف
التشغيل السريع
-no-snapshot-load يجري تشغيلاً على البارد ويحفظ حالة المحاكي عند الخروج.
-no-snapshot-save يجري تشغيل سريع إن أمكن، ولكن لا يحفظ حالة المحاكي عند الخروج.
-no-snapshot يؤدي هذا الإجراء إلى إيقاف ميزة "التشغيل السريع" تمامًا وعدم تحميل حالة المحاكي أو حفظها.
معدّات الجهاز
-camera-back mode
-camera-front mode
لضبط وضع المحاكاة لكاميرا مواجهة للخلف أو الأمامية. يؤدي ذلك إلى إلغاء أي إعداد للكاميرا في AVD.

يمكن أن تكون mode أيًّا من القيم التالية:

  • emulated - يحاكي المحاكي كاميرا في البرنامج.
  • webcamn - يستخدم المحاكي كاميرا ويب متصلة بكمبيوتر التطوير المحدّد حسب الرقم. للاطّلاع على قائمة بكاميرات الويب، استخدِم الخيار -webcam-list. مثلاً: webcam0
  • none: لإيقاف الكاميرا في الجهاز الافتراضي

مثلاً:

emulator @Pixel8_API_34 -camera-back webcam0

-webcam-list يسرد كاميرات الويب المتوفرة للمحاكاة على كمبيوتر التطوير. على سبيل المثال:
emulator @Pixel8_API_34 -webcam-list
        List of web cameras connected to the computer:
        Camera 'webcam0' is connected to device 'webcam0'
        on channel 0 using pixel format 'UYVY'

في المثال، حرف webcam0 الأول هو الاسم الذي تستخدمه في سطر الأوامر. webcam0 الثاني هو الاسم الذي يستخدمه نظام التشغيل على حاسب التطوير. ويختلف الاسم الثاني حسب نظام التشغيل.

بدءًا من الإصدار 25.2.4 من أدوات حزمة تطوير البرامج (SDK)، يجب إدخال اسم "متوسّط مدة المشاهدة".

صور القرص والذاكرة
-memory size

تحدّد حجم ذاكرة الوصول العشوائي الفعلية، من 1536 إلى 8192 ميغابايت. على سبيل المثال:

emulator @Pixel8_API_34 -memory 2048

تلغي هذه القيمة إعدادات "متوسّط مدة المشاهدة".

-sdcard filepath تحدِّد هذه السياسة اسم الملف ومساره إلى ملف صورة التقسيم على بطاقة SD. على سبيل المثال:

emulator @Pixel8_API_34 -sdcard C:/sd/sdcard.img

إذا لم يتم العثور على الملف، فلا يزال المحاكي يعمل، ولكن بدون بطاقة SD. يعرض الأمر التحذير عدم وجود صورة في بطاقة SD.

في حال عدم تحديد هذا الخيار، يكون الإعداد التلقائي هو sdcard.img في دليل البيانات ما لم يحدّد AVD عنصرًا مختلفًا. للحصول على تفاصيل حول بطاقات SD التي تمت محاكاتها، راجِع دليل بيانات AVD.

-wipe-data يحذف بيانات المستخدمين وينسخ البيانات من ملف البيانات الأولي. يمحو هذا الخيار بيانات الجهاز الافتراضي ويعيدها إلى الحالة نفسها التي كانت عليها عند تحديدها لأول مرة. تتم إزالة جميع التطبيقات والإعدادات المثبَّتة. على سبيل المثال:

emulator @Pixel8_API_34 -wipe-data

يكون ملف بيانات المستخدمين تلقائيًا userdata-qemu.img وملف البيانات الأولي هو userdata.img. يوجد كلا الملفين في دليل البيانات. ولن يؤثر الخيار -wipe-data في ملف sdcard.img. للحصول على مزيد من المعلومات حول بيانات المستخدمين، يمكنك مراجعة القسم بعنوان التعرّف على الأدلة والملفات التلقائية.

تصحيح الأخطاء
-debug tags تتيح هذه السياسة تفعيل عرض رسائل تصحيح الأخطاء لعلامة واحدة أو أكثر أو إيقافها. افصل بين العلامات المتعددة بمسافة أو فاصلة أو عمود. على سبيل المثال:

$ emulator @Pixel8_API_34 -debug init,metrics

لإيقاف علامة، ضَع شَرطة (-) أمامها. على سبيل المثال، يعرض الخيار التالي جميع رسائل تصحيح الأخطاء، باستثناء الرسائل ذات الصلة بمقابس الشبكة والمقاييس:

-debug all,-socket,-metrics

للحصول على قائمة بالعلامات والأوصاف، استخدِم الخيار -help-debug-tags. على سبيل المثال:

emulator -help-debug-tags

يمكنك تحديد علامات تصحيح الأخطاء التلقائية في متغيّر بيئة ANDROID_VERBOSE. حدِّد العلامات التي تريد استخدامها ضمن قائمة مفصولة بفواصل. في ما يلي مثال يوضّح كيفية تحديد العلامتَين socket وgles:

ANDROID_VERBOSE=socket,gles

ويعادل استخدام:

-debug-socket -debug-gles

أو

-debug socket,gles

-debug-tag
-debug-no-tag
تُفعِّل نوع معيَّن من رسائل تصحيح الأخطاء. استخدِم النموذج no لإيقاف نوع رسالة تصحيح الأخطاء. على سبيل المثال:

emulator @Pixel8_API_34 -debug-all -debug-no-metrics

للحصول على قائمة بالعلامات، استخدِم الأمر emulator -help-debug-tags.

-logcat logtags تفعِّل هذه السياسة عرض رسائل Logcat لعلامة واحدة أو أكثر وتكتبها في النافذة الطرفية. على سبيل المثال، يؤدي الأمر التالي إلى تفعيل رسائل الخطأ من جميع المكوّنات:

emulator @Pixel8_API_34 -logcat *:e

يستخدم logtags الصيغة نفسها التي يستخدمها الأمر adb logcat logtags. أدخِل adb logcat -help للحصول على مزيد من المعلومات. وهي قائمة بفلاتر السجلّ المفصولة بمسافة أو فاصلة بالتنسيق componentName:logLevel. السمة componentName هي علامة نجمية حرف بدل (*) أو اسم مكوِّن، مثل ActivityManager أو SystemServer أو InputManager أو WindowManager.

logLevel هي إحدى القيم التالية:

  • v - مطوَّل
  • d - تصحيح الأخطاء
  • i - غنية بالمعلومات
  • w - مستوى سجل التحذير
  • e - خطأ
  • s - صامت

يعرض المثال التالي رسائل مكوّن GSM على مستوى السجلّ المعلوماتي:

emulator @Pixel8_API_34 -logcat '*:s GSM:i'

إذا لم توفّر الخيار -logcat في سطر الأوامر، سيبحث المحاكي عن متغيّر بيئة ANDROID_LOG_TAGS. إذا تم تحديد ANDROID_LOG_TAGS بقيمة logtags صالحة ولم يكن فارغًا، يستخدم المحاكي قيمته لإتاحة إخراج Logcat إلى الوحدة الطرفية تلقائيًا. يمكنك أيضًا إعادة توجيه رسائل السجلّ نفسها أو رسائل أخرى إلى الوحدة الطرفية من خلال adb.

لمزيد من المعلومات حول Logcat وadb، يُرجى الاطّلاع على أداة سطر الأوامر Logcat وعرض السجلّات وكتابتها باستخدام Logcat وفئة Log وـ ISSUE adb.

-show-kernel يعرض رسائل تصحيح أخطاء النواة في النافذة الطرفية. على سبيل المثال:

emulator @Pixel8_API_34 -show-kernel

ومن بين استخدامات هذا الخيار التحقق من أن عملية التمهيد تعمل بشكل صحيح.

-verbose يطبع رسائل إعداد المحاكي في النافذة الطرفية. على سبيل المثال:

emulator @Pixel8_API_34 -verbose

وتعرِض الملفات والإعدادات التي يتم اختيارها فعليًا عند بدء جهاز افتراضي محدّد في متوسّط مدة المشاهدة. يشبه هذا الخيار تحديد -debug-init.

الشبكة
-dns-server servers تستخدم خوادم نظام أسماء النطاقات المحدّدة. servers هي قائمة مفصولة بفواصل تضمّ ما يصل إلى أربعة أسماء لخوادم نظام أسماء النطاقات أو عناوين IP. مثلاً:
emulator @Pixel8_API_34 -dns-server 192.0.2.0,
192.0.2.255

يحاول المحاكي تلقائيًا اكتشاف خوادم نظام أسماء النطاقات التي تستخدمها وينشئ أسماء مستعارة خاصة في شبكة جدار الحماية التي تمت محاكاتها للسماح لنظام Android بالاتصال مباشرةً بالخوادم. استخدِم الخيار -dns-server لتحديد قائمة مختلفة من خوادم نظام أسماء النطاقات.

-http-proxy proxy يجعل جميع اتصالات TCP من خلال خادم وكيل HTTP/HTTPS محددًا. إذا كان المحاكي بحاجة إلى الإنترنت من خلال خادم وكيل، يمكنك استخدام هذا الخيار أو متغيّر البيئة http_proxy لإعداد عملية إعادة التوجيه المناسبة. على سبيل المثال:

emulator @Pixel8_API_34 -http-proxy myserver:1981

يمكن أن تكون السمة proxy واحدًا مما يلي:

http://server:port
http://username:password@server:port

ويمكن حذف البادئة http://.

وفي حال عدم توفير هذا الخيار، يبحث المحاكي عن متغيّر البيئة http_proxy ويستخدم تلقائيًا أي قيمة تتطابق مع التنسيق proxy. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة استخدام المحاكي مع خادم وكيل.

-netdelay delay

تضبط هذه السياسة محاكاة وقت استجابة الشبكة على إحدى قيم delay التالية بالملي ثانية:

  • gsm - بروتوكول GSM/CSD (الحد الأدنى 150 وحد أقصى 550)
  • hscsd - HSCSD (80 كحد أدنى، 400 كحد أقصى).
  • gprs - شبكة GPRS (35 كحد أدنى، 200 كحد أقصى).
  • edge - EDGE/EGPRS (80 كحد أدنى، 400 كحد أقصى).
  • umts: النظام العالمي لاتصالات الجوال عن بعد (UMTS)/شبكة الجيل الثالث (35) (35 كحد أدنى، 200 كحد أقصى).
  • hsdpa - HSDPA (الحد الأدنى 0، الحد الأقصى 0).
  • lte - LTE (الحد الأدنى 0، الحد الأقصى 0)
  • evdo - EVDO (الحد الأدنى 0، الحد الأقصى 0)
  • none - ليس هناك وقت استجابة، وهو الخيار التلقائي (الحد الأدنى 0، الحد الأقصى 0).
  • num - يحدد وقت الاستجابة بدقة.
  • min:max - تحدّد هذه السمة الحد الأدنى والأقصى لأوقات الاستجابة.

مثلاً:

emulator @Pixel8_API_34 -netdelay gsm

ويتيح المحاكي التحكم في الشبكة بالإضافة إلى توفير وقت استجابة أعلى للاتصال. ويمكنك تحديده إما من خلال إعدادات المظهر أو باستخدام الخيارَين ‑netspeed و-netdelay.

-netfast لإيقاف تقييد الشبكة. على سبيل المثال:

emulator @Pixel8_API_34 -netfast

يشبه هذا الخيار تحديد -netspeed full -netdelay none. وهذه هي القيم التلقائية لهذه الخيارات.

-netspeed speed

تضبط هذه السياسة محاكاة سرعة الشبكة. يحدِّد هذا الإعداد الحد الأقصى لسرعات التحميل والتنزيل على الشبكة باستخدام إحدى قيم speed التالية بالكيلوبت في الثانية:

  • gsm - بروتوكول GSM/CSD (أعلى: 14.4، أقل: 14.4)
  • hscsd - HSCSD (أعلى: 14.4، أدنى: 57.6).
  • gprs - شبكة GPRS (أعلى: 28.8، أدنى: 57.6).
  • edge - EDGE/EGPRS (أعلى: 473.6، أسفل: 473.6)
  • umts - النظام العالمي لاتصالات الجوّال عن بُعد (UMTS) /3G (أعلى: 384.0، أسفل: 384.0)
  • hsdpa - HSDPA (أعلى: 5760.0، أدنى: 13,980.0).
  • lte - LTE (أعلى: 58,000، انخفاض: 173,000)
  • evdo - EVDO (ارتفاع: 75,000، انخفاض: 280,000)
  • full - بدون حد أقصى، الإعداد التلقائي (أعلى: 0.0، أدنى: 0.0).
  • num: تحدّد هذه السمة سرعة التحميل والتنزيل.
  • up:down - لتحديد السرعات الفردية للأعلى وللأسفل

مثلاً:

emulator @Pixel8_API_34 -netspeed edge

ويتيح المحاكي التحكم في الشبكة بالإضافة إلى توفير وقت استجابة أعلى للاتصال. ويمكنك تحديده إما من خلال إعدادات المظهر أو باستخدام الخيارَين ‑netspeed و-netdelay.

-port port تحدِّد هذه السياسة رقم منفذ TCP المُستخدَم لوحدة التحكّم وadb. على سبيل المثال:

emulator @Pixel8_API_34 -port 5556

القيمة التلقائية هي 5554 لأول مثيل جهاز افتراضي يتم تشغيله على جهازك. يشغل الجهاز الافتراضي عادةً منفذَين متجاورَين: منفذ وحدة تحكّم ومنفذ adb. إنّ وحدة التحكّم في أول جهاز افتراضي يتم تشغيله على جهاز معيّن تستخدم المنفذَين 5554 وadb الخاصَين بوحدة التحكّم 5555. تستخدم المثيلات اللاحقة أرقام المنافذ التي تزيد بمقدار اثنين. على سبيل المثال، 5556/5557 و5558/5559 وما إلى ذلك. يتراوح النطاق بين 5554 و5682، ما يسمح بـ 64 جهازًا افتراضيًا متزامنًا.

غالبًا ما تكون عمليات تخصيص المنافذ مماثلة لتحديد -ports port,{port + 1}. يجب أن يكون {port + 1} مجانيًا ومحفوظًا في adb. إذا كان أي من منافذ وحدة التحكّم أو adb قيد الاستخدام، لن يبدأ المحاكي.

يوضّح الخيار ‑port المنافذ والرقم التسلسلي الذي يستخدمه الجهاز الافتراضي ويحذّر في حال حدوث أي مشاكل في القيم التي قدّمتها. في واجهة مستخدم المحاكي، يمكنك الاطّلاع على رقم منفذ وحدة التحكّم في عنوان النافذة وعرض رقم المنفذ adb من خلال اختيار مساعدة > لمحة.

تجدر الإشارة إلى أنّه إذا كانت القيمة port غير متساوية وكانت في النطاق بين 5554 و5584، سيبدأ الجهاز الافتراضي ولكن لن يكون مرئيًا عند استخدام الأمر adb devices، إذا كانت قيمة adb server تبدأ بعد المحاكي. لهذا السبب، ننصح باستخدام رقم منفذ زوجي في وحدة التحكّم.

-ports
console-port,adb-port
تحدِّد هذه السياسة منافذ TCP المستخدَمة في وحدة التحكّم وadb. على سبيل المثال:

emulator @Pixel8_API_34 -ports 5556,5559

يتراوح نطاق المنافذ الصالحة من 5554 إلى 5682، ما يسمح بـ 64 جهازًا افتراضيًا متزامنًا. يُبلِغ الخيار -ports عن المنافذ والرقم التسلسلي الذي يستخدمه المحاكي ويحذّر في حال حدوث أي مشاكل في القيم التي قدّمتها.

وننصح باستخدام الخيار -port بدلاً من ذلك، حيثما أمكن. يتوفر الخيار -ports لإعدادات الشبكة التي تتطلب إعدادات خاصة.

لمزيد من المعلومات حول ضبط منافذ adb ووحدة التحكّم، يُرجى الاطّلاع على الخيار -port.

-tcpdump filepath يلتقط حزم الشبكة ويخزّنها في ملف. على سبيل المثال:

emulator @Pixel8_API_34 -tcpdump /path/dumpfile.cap

استخدِم هذا الخيار لبدء التقاط جميع حِزم الشبكة المُرسَلة من خلال شبكة LAN الافتراضية على شبكة الإيثرنت الخاصة بالمحاكي. بعد ذلك، يمكنك استخدام أداة مثل Wireshark لتحليل عدد الزيارات.

يُرجى العلم أنّ هذا الخيار يلتقط جميع حزم الإيثرنت ولا يقتصر على اتصالات بروتوكول التحكم بالنقل.

النظام
-accel mode تضبط هذه السياسة تسريع الأجهزة الافتراضية الخاصة بالمحاكي. على سبيل المثال:

emulator @Pixel8_API_34 -accel auto

تعمل ميزة المحاكاة المسرّعة مع صور النظام بتنسيقات x86 وx86_64 فقط. وفي نظام التشغيل Linux، يعتمد ذلك على KVM. أمّا على نظامَي التشغيل Windows وMac، فتستند إلى وحدة المعالجة المركزية (CPU) من Intel وبرامج تشغيل Intel HAXM. ويتم تجاهل هذا الخيار إذا كنت لا تحاكي جهازًا يعمل بمعيارَي x86 أو x86_64.

القيم الصالحة لـ mode هي:

  • auto - يحدّد تلقائيًا ما إذا كان التسريع متوافقًا أم لا ويستخدمه عندما يكون ذلك ممكنًا (تلقائيًا).
  • off: لإيقاف التسريع بالكامل، والذي يكون مفيدًا في المقام الأول لتصحيح الأخطاء
  • on: لفرض التسريع. وإذا لم تكن KVM أو HAXM مثبّتة أو قابلة للاستخدام، لن يبدأ المحاكي وسيطبع رسالة خطأ.

ولمزيد من المعلومات، يمكنك الاطّلاع على إعداد تسريع الأجهزة لمحاكي Android.

-accel-check يتحقّق مما إذا كان قد تم تثبيت برنامج Hypervisor (مراقب الأجهزة الظاهرية) المطلوب لتسريع الأجهزة الافتراضية (HAXM أو KVM). على سبيل المثال:

emulator -accel-check

لمزيد من المعلومات، يُرجى الاطِّلاع على التحقُّق من تثبيت برنامج Hypervisor (مراقب الأجهزة الظاهرية).

-engine engine

تحدِّد هذه السياسة محرّك المحاكي:

  • auto: يختار أحد المحرّكات تلقائيًا (الإعداد التلقائي).
  • classic - لاستخدام محرك QEMU 1 القديم (متوقف).
  • qemu2: يستخدم محرّك QEMU 2 الأحدث.

على سبيل المثال:

emulator @Pixel8_API_34 -engine auto

يجب أن تختار ميزة الرصد التلقائي القيمة التي تقدّم أفضل أداء عند محاكاة متوسّط مدة مشاهدة معيّنة. استخدِم الخيار -engine لأغراض تصحيح الأخطاء والمقارنة فقط.

-gpu mode يختار وضع محاكاة وحدة معالجة الرسومات. على سبيل المثال:

emulator @Pixel8_API_34 -gpu swiftshader_indirect

لمزيد من المعلومات، يُرجى الاطّلاع على ضبط تسريع الرسومات.

-no-accel يؤدي هذا الخيار إلى إيقاف تسريع الجهاز الافتراضي (VM) للمحاكي عند استخدام صورة نظام x86 أو x86_64. وهي مفيدة لتصحيح الأخطاء فقط وتماثل استخدامها لتحديد -accel off. على سبيل المثال:

emulator @Pixel8_API_34 -no-accel

ولمزيد من المعلومات، يمكنك الاطّلاع على إعداد تسريع الأجهزة لمحاكي Android.

-nojni
-no-jni
لإيقاف عمليات فحص واجهة Java الأصلية (JNI) الموسّعة في وقت تشغيل Android Dalvik أو ART. على سبيل المثال:

emulator @Pixel8_API_34 -nojni

عند بدء تشغيل جهاز افتراضي، يتم تلقائيًا تفعيل عمليات التحقّق الممتدة من JNI. لمزيد من المعلومات، يمكنك الاطّلاع على نصائح مبادرة أخبار Google (JNI).

-selinux {disabled|permissive} تضبط وحدة الأمان في نظام التشغيل Linux (SELinux) المحسَّن للأمان على الوضع disabled أو permissive على نظام التشغيل Linux. على سبيل المثال:

me-linux$ emulator @Pixel8_API_34 -selinux permissive

تكون SELinux في وضع enforcing تلقائيًا، ما يعني أنّه يتم فرض سياسة الأمان. يحمّل وضع permissive سياسة SELinux ولكن لا يفرضها. يسجِّل هذا الخيار انتهاكات السياسة فقط. يوقِف الوضع disabled دعم النواة لنظام التشغيل SELinux.

-timezone timezone

تضبط هذه السياسة المنطقة الزمنية للجهاز الافتراضي على timezone بدلاً من المنطقة الزمنية للمضيف. على سبيل المثال:

emulator @Pixel8_API_34 -timezone Europe/Paris

ويستخدم المحاكي تلقائيًا المنطقة الزمنية لجهاز كمبيوتر التطوير. ويمكنك استخدام هذا الخيار لتحديد منطقة زمنية مختلفة أو إذا كان الاكتشاف التلقائي لا يعمل بشكل صحيح. يجب أن تكون القيمة timezone بتنسيق zoneinfo، وهو area/location أو area/subarea/location. على سبيل المثال:

  • America/Los_Angeles
  • Europe/Paris
  • America/Argentina/Buenos_Aires

يجب أن تكون المنطقة الزمنية المحدّدة في قاعدة بيانات Zoneinfo.

-version يعرض رقم إصدار المحاكي. على سبيل المثال:

emulator @Pixel8_API_34 -version

أو

emulator -version

واجهة المستخدم
-no-boot-anim لإيقاف الرسوم المتحركة لبدء التشغيل أثناء بدء تشغيل المحاكي للتشغيل بشكل أسرع. على سبيل المثال:

emulator @Pixel8_API_34 -no-boot-anim

في أجهزة الكمبيوتر الأبطأ، يمكن أن يؤدي هذا الخيار إلى تسريع تسلسل التمهيد بشكل كبير.

-screen mode تضبط هذه السياسة وضع المحاكاة للشاشة التي تعمل باللمس. على سبيل المثال:

emulator @Pixel8_API_34 -screen no-touch

يمكن أن تكون mode أيًّا من القيم التالية:

  • touch: يحاكي شاشة تعمل باللمس (الإعداد التلقائي).
  • multi-touch: لمحاكاة شاشة تعمل باللمس المتعدّد.
  • no-touch - يؤدي هذا الخيار إلى إيقاف محاكاة شاشة اللمس وشاشة اللمس المتعدد.

الخيارات المتقدّمة

تتوفر خيارات بدء تشغيل سطر الأوامر في الجدول التالي ولكنها لا يشيع استخدامها من قِبل مطوّر التطبيق العادي.

في الأوصاف، يكون دليل العمل هو الدليل الحالي في الوحدة الطرفية التي تُدخِل فيها الأوامر. للحصول على معلومات حول دليل نظام AVD ودليل البيانات والملفات المخزنة فيها، يمكنك مراجعة قسم الأدلة والملفات الافتراضية.

يتناسب بعض هذه الخيارات مع مطوّري التطبيقات الخارجيين، ويستخدم بعضها بشكل أساسي مطوّري برامج النظام الأساسي. مطورو التطبيقات ينشئون تطبيقات Android ويشغِّلونها على AVD محددة. يعمل مطوّرو الأنظمة الأساسية على نظام Android ويشغّلونه داخل المحاكي بدون متوسّط مدة المشاهدة التي تم إنشاؤه مسبقًا.

الجدول 4. الخيارات المتقدمة لسطر الأوامر

الخيار المتقدم وصف قصير
-bootchart timeout

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

على سبيل المثال:

emulator @Pixel8_API_34 -bootchart 120
-cache filepath

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

على سبيل المثال:

emulator @Pixel8_API_34 -cache
   ~/.android/avd/Pixel8_API_34.avd/cache_persistent.img

إذا لم تستخدم هذا الخيار، سيكون الملف التلقائي هو ملف مؤقت باسم cache.img. للحصول على مزيد من المعلومات، يُرجى الاطّلاع على دليل بيانات AVD.

-cache-size size

لضبط حجم قسم ذاكرة التخزين المؤقت بالميغابايت.

على سبيل المثال:

emulator @Pixel8_API_34 -cache-size 1000

وإذا لم تحدّد هذا الخيار، ستكون القيمة التلقائية 66 ميغابايت. في العادة، لا يحتاج معظم مطوّري التطبيقات إلى هذا الخيار، إلا إذا كانوا بحاجة إلى تنزيل ملفات كبيرة جدًا يزيد حجمها عن ذاكرة التخزين المؤقت التلقائية. لمزيد من المعلومات حول ملف ذاكرة التخزين المؤقت، راجِع دليل بيانات AVD.

-data filepath

تضبط هذه السياسة ملف الصورة في قسم بيانات المستخدمين. توفّر اسم ملف ومسارًا مطلقًا أو مسارًا متعلقًا بدليل العمل لإعداد ملف بيانات مستخدِم دائم. إذا لم يكن الملف متوفّرًا، ينشئ المحاكي صورة من ملف userdata.img التلقائي ويخزّنه في اسم الملف الذي حدّدته ويحتفظ ببيانات المستخدم فيه عند إيقاف التشغيل.

على سبيل المثال:

emulator @Pixel8_API_34 -data
   ~/.android/avd/Pixel8_API_34.avd/userdata-test.img

إذا لم تستخدم هذا الخيار، سيكون الملف التلقائي هو ملف باسم "userdata-qemu.img". لمزيد من المعلومات حول ملف بيانات المستخدمين، راجِع دليل بيانات AVD.

-datadir dir

تحدّد هذه السمة دليل بيانات باستخدام مسار مطلق. لمزيد من المعلومات، راجِع دليل بيانات AVD.

على سبيل المثال:

emulator @Pixel8_API_34 -datadir
   ~/.android/avd/Pixel8_API_34.avd/mytest
-force-32bit

يستخدم المحاكي إصدار 32 بت على أنظمة أساسية 64 بت. من حين لآخر، يكون هذا الخيار مفيدًا للاختبار أو تصحيح الأخطاء. على سبيل المثال، كانت هناك مشكلة تتمثل في عدم تشغيل المحاكي أحيانًا على نظام التشغيل Windows 64 بت، بينما كان يتم تشغيل 32 بت. كان هذا الخيار مفيدًا لإجراء مقارنات لتصحيح المشكلة. فيما يلي مثال:

emulator @Pixel8_API_34 -force-32bit
-help-disk-images

الحصول على مساعدة بشأن صور القرص. يوفّر هذا الخيار معلومات ذات صلة بمطوّري التطبيقات والنظام الأساسي. على سبيل المثال:

emulator -help-disk-images
-help-char-devices

يمكن الحصول على مساعدة بشأن مواصفات الأحرف device. تتطلب بعض خيارات المحاكي استخدام معلمة device. على سبيل المثال:

emulator -help-char-devices
-help-sdk-images

يحصل على مساعدة حول صور الأقراص ذات الصلة بمطوّري التطبيقات. يحصل هذا الخيار على معلومات حول مكان ملفات الصور لـ AVD تم إنشاؤه باستخدام أدوات حزمة تطوير البرامج (SDK). على سبيل المثال:

emulator -help-sdk-images
-help-build-images

يحصل على مساعدة حول صور الأقراص ذات الصلة بمطوري النظام الأساسي. على سبيل المثال:

emulator -help-build-images
-initdata filepath
-init-data filepath

تحدِّد هذه السياسة الإصدار الأولي من قسم البيانات. بعد حجب بيانات المستخدمين، ينسخ المحاكي محتوى الملف المحدّد إلى بيانات المستخدمين (ملف userdata-qemu.img تلقائيًا) بدلاً من استخدام ملف userdata.img التلقائي كإصدار أولي. تحدّد هذه السمة اسم الملف ومسارًا مطلقًا أو مسارًا مرتبطًا بدليل العمل.

على سبيل المثال:

emulator @Pixel8_API_34 -initdata
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/userdata-test.img

في حال عدم تحديد مسار، سيتم وضع الملف في دليل النظام. لمزيد من المعلومات، يمكنك الاطّلاع على دليل نظام AVD.

-kernel filepath

يستخدم نواة محددة تمت محاكاتها. وفي حال عدم تحديد مسار، سيظهر المحاكي في دليل النظام.

استخدِم الخيار ‑show‑kernel لعرض رسائل تصحيح أخطاء النواة.

على سبيل المثال:

emulator @Pixel8_API_34 -kernel
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/kernel-test.img -show-kernel

إذا لم تحدّد هذا الخيار، ستكون القيمة التلقائية kernel-ranchu. لمزيد من المعلومات، يمكنك الاطّلاع على دليل نظام AVD.

-noaudio
-no-audio

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

على سبيل المثال:

emulator @Pixel8_API_34 -noaudio
-nocache
-no-cache

ويتم تشغيل المحاكي بدون قسم لذاكرة التخزين المؤقت. إذا لم تستخدم هذا الخيار، سيكون الملف التلقائي هو ملف مؤقت باسم cache.img. هذا الخيار متاح لمطوّري الأنظمة الأساسية فقط. لمزيد من المعلومات، راجِع دليل بيانات AVD.

على سبيل المثال:

emulator @Pixel8_API_34 -nocache
-no-snapshot

لمنع كل من التحميل التلقائي وعمليات الحفظ، ما يتسبب في تنفيذ المحاكي تسلسل تشغيل كامل وفقدان حالته عند إغلاقه. يلغي ذلك الخيار -snapshot.

على سبيل المثال:

emulator @Pixel8_API_34 -no-snapshot
-no-snapshot-load

تمنع هذه السياسة المحاكي من تحميل حالة AVD من مساحة تخزين اللقطات. يؤدي هذا الإجراء إلى إتمام تشغيل كامل.

على سبيل المثال:

emulator @Pixel8_API_34 -no-snapshot-load
-no-snapshot-save

تمنع هذه السياسة المحاكي من حفظ حالة متوسّط مدة المشاهدة في مساحة تخزين اللقطات عند الخروج، ما يعني أنّه سيتم فقدان جميع التغييرات.

على سبيل المثال:

emulator @Pixel8_API_34 -no-snapshot-save
-no-snapshot-update-time

لا تحاول تصحيح وقت ساعة "متوسّط مدة المشاهدة" فورًا عند استعادة اللقطة. يمكن أن يكون هذا الخيار مفيدًا أثناء الاختبار لأنه يتجنب قفزة زمنية مفاجئة. سيستمر إرسال التعديلات المتعلقة بالوقت إلى متوسّط مدة المشاهدة كل 15 ثانية تقريبًا.

على سبيل المثال:

emulator @Pixel8_API_34 -no-snapshot-update-time
-no-snapstorage

لبدء المحاكي بدون تحميل ملف لتخزين لقطات حالة أو تحميلها، ما يؤدي إلى فرض التشغيل الكامل وإيقاف وظيفة لقطة الحالة. ويؤدي هذا الخيار إلى إلغاء الخيارَين -snapstorage و-snapshot.

على سبيل المثال:

emulator @Pixel8_API_34 -no-snapstorage
-no-window

لإيقاف عرض النافذة الرسومية على المحاكي. يكون هذا الخيار مفيدًا عند تشغيل المحاكي على خوادم لا تحتوي على شاشة عرض. ويمكنك الوصول إلى المحاكي من خلال "adb" أو وحدة التحكّم. على سبيل المثال:

emulator @Pixel8_API_34 -no-window
-partition-size size

تحدِّد هذه السياسة حجم قسم بيانات النظام بالميغابايت. على سبيل المثال:

emulator @Pixel8_API_34 -partition-size 1024
-prop name=value

تضبط هذه السياسة خاصية نظام Android في المحاكي عند بدء تشغيله. يجب أن يكون name اسم خاصية مصنَّفًا على أنّه qemu_prop من 32 حرفًا كحدّ أقصى، بدون أي مسافات، ويجب أن يكون value سلسلة من 92 حرفًا كحدّ أقصى. على سبيل المثال، راجِع ملف property_contexts. يمكنك تحديد عدة خيارات ‑prop في سطر أوامر واحد. يمكن أن يكون هذا الخيار مفيدًا لتصحيح الأخطاء. على سبيل المثال:

emulator @Pixel8_API_34 -prop qemu.name=value -prop qemu.abc=xyz
-qemu args تمرير الوسيطات إلى برنامج محاكي QEMU عند استخدام هذا الخيار، تأكَّد من أنّه الخيار الأخير الذي تم تحديده، لأنّ جميع الخيارات بعده يتم تفسيرها على أنّها خيارات خاصة بـ QEMU. هذا الخيار متقدّم تمامًا ويجب استخدامه فقط من قِبل المطوّرين الذين لديهم دراية كبيرة بتطبيق QEMU ومحاكاة Android.
-qemu -h

عرض مساعدة "-qemu" على سبيل المثال:

emulator -qemu -h
-ramdisk filepath

تُستخدَم لتحديد صورة تشغيل RAMdisk. تحدّد هذه السمة اسم الملف ومسارًا مطلقًا أو مسارًا متعلقًا بدليل العمل.

على سبيل المثال:

emulator @Pixel8_API_34 -ramdisk
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/ramdisk-test.img

إذا لم تستخدم هذا الخيار، سيكون الملف التلقائي هو ramdisk.img في دليل النظام. لمزيد من المعلومات، يمكنك الاطّلاع على دليل نظام AVD.

-report-console socket

تقوم بالإبلاغ عن منفذ وحدة التحكم إلى جهة خارجية بعيدة قبل بدء المحاكاة. يمكن أن يكون مفيدًا لنص اختبار تلقائي. على socket استخدام أحد التنسيقات التالية:

  • tcp:port[,server][,max=seconds][,ipv6]
  • unix:port[,server][,max=seconds][,ipv6]

لمزيد من المعلومات، استخدِم الخيار -help-report-console كما هو موضّح في القسم حول المساعدة بشأن خيارات محدَّدة.

-shell

تنشئ وحدة تحكم هيكل جذر في الوحدة الطرفية الحالية. يختلف هذا الخيار عن الأمر adb shell في النواحي التالية:

  • فهي تنشئ واجهة جذر تتيح لك تعديل أجزاء عديدة من النظام.
  • وتعمل حتى إذا كانت "adb daemon" في نظام المحاكاة معطَّلة.
  • اضغط على Control+C (أو Command-C على نظام التشغيل macOS) لإيقاف المحاكي بدلاً من المحاكي.

على سبيل المثال:

emulator @Pixel8_API_34 -shell
-snapshot name

تحدِّد هذه السياسة اسم اللقطة ضمن ملف تخزين اللقطات لعمليات البدء والحفظ تلقائيًا.

وبدلاً من تنفيذ تسلسل تشغيل كامل، يمكن للمحاكي استئناف التنفيذ من لقطة حالة سابقة، ويكون ذلك عادةً أسرع بكثير. عند توفير هذا الخيار، يحمّل المحاكي لقطة لهذا الاسم من صورة اللقطة ويحفظها مرة أخرى بالاسم نفسه عند الخروج.

في حال عدم استخدام هذا الخيار، سيكون الإعداد التلقائي هو تسلسل تمهيد كامل. في حال عدم توفّر اللقطة المحدّدة، يُنفِّذ المحاكي تسلسل تشغيل كامل بدلاً من ذلك وينفّذ عملية حفظ.

يمكنك الاطّلاع على الخيار -snapstorage للحصول على معلومات حول تحديد ملف تخزين اللقطات والملف التلقائي.

emulator @Pixel8_API_34 -snapshot snapshot2

تذكَّر أنّه أثناء تحميل لقطة، يتم استبدال جميع محتوى النظام وبيانات المستخدم وصور بطاقة SD بالمحتوى الذي تحتفظ به عند إنشاء اللقطة. سيتم فقدان أي تغييرات أجريتها منذ ذلك الحين ما لم تحفظ هذه المعلومات في نبذة مختلفة.

ويمكنك أيضًا إنشاء نبذة من وحدة التحكّم في المحاكي باستخدام الأمر avd snapshot save name. لمزيد من المعلومات، يُرجى الاطّلاع على إرسال أوامر وحدة تحكُّم المحاكي.

-snapshot-list

تعرِض قائمة باللقطات المتاحة. يطبع هذا الأمر جدول لقطات تم تخزينها في ملف تخزين اللقطات الذي تم بدء المحاكي به، ثم يخرج. إذا حدّدت -snapstorage file أيضًا، سيطبع هذا الأمر جدولاً باللقطات المحفوظة في ملف.

على سبيل المثال:

emulator @Pixel8_API_34 -snapshot-list -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

يمكنك استخدام قيم عمودَي ID وTAG في الإخراج كوسيطات للخيار -snapshot.

-snapstorage filepath

تُحدِّد ملف مستودع يحتوي على جميع لقطات الحالة. يتم في هذا الملف حفظ جميع اللقطات التي تم إجراؤها أثناء التنفيذ. ويمكن استعادة اللقطات في هذا الملف فقط أثناء تشغيل المحاكي.

على سبيل المثال:

emulator @Pixel8_API_34 -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

إذا لم تحدّد هذا الخيار، سيكون الإعداد التلقائي هو snapshots.img في دليل البيانات. في حال عدم توفّر الملف المحدَّد، سيبدأ المحاكي، ولكن بدون توفير إمكانية حفظ لقطات الحالة أو تحميلها.

-sysdir dir

تحدِّد هذه السياسة دليل نظام باستخدام مسار مطلق. لمزيد من المعلومات، يمكنك الاطّلاع على دليل نظام AVD. على سبيل المثال:

emulator @Pixel8_API_34 -sysdir
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/test
-system filepath

تحدِّد هذه السياسة ملف نظام مبدئيًا. توفّر اسم الملف ومسارًا مطلقًا أو مسارًا مرتبطًا بدليل العمل.

على سبيل المثال:

emulator @Pixel8_API_34 -system
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/system-test.img

إذا لم تستخدم هذا الخيار، سيكون الملف التلقائي هو system.img في دليل النظام. لمزيد من المعلومات، يمكنك الاطّلاع على دليل نظام AVD.

-use-system-libs

على نظام التشغيل Linux، يتم استخدام نظام libstdc++ بدلاً من الإصدار المضمّن مع نظام المحاكي. لا تستخدم هذا الخيار إلا في حال لم يعمل المحاكي بشكل طبيعي، مع العلم أنّه لا يعمل دائمًا. ويمكنك بدلاً من ذلك ضبط متغيّر بيئة ANDROID_EMULATOR_USE_SYSTEM_LIBS على 1.

على سبيل المثال:

me-linux$ emulator @Pixel8_API_34 -use-system-libs
-writable-system

استخدِم هذا الخيار للحصول على صورة نظام قابلة للكتابة أثناء جلسة المحاكاة. لإجراء ذلك:

  1. ويمكنك تشغيل جهاز افتراضي باستخدام الخيار "-writable-system".
  2. أدخِل الأمر adb remount من الوحدة الطرفية للأوامر لتطلب من المحاكي إعادة تحميل system/ كمقروءة أو كتابة. ويتم تثبيته تلقائيًا للقراءة فقط.

ويؤدي استخدام هذه العلامة إلى إنشاء نسخة مؤقتة من صورة النظام التي يمكن أن يصل حجمها إلى عدة مئات ميغابايت، ولكن ستتم إتلافها عند الخروج من المحاكي.

الخيارات التي تم إيقافها نهائيًا

تم إيقاف خيارات سطر الأوامر التالية:

  • -audio-in
  • -audio-out
  • -charmap
  • -code-profile
  • -cpu-delay
  • -dpi-device
  • -dynamic_skin
  • -enable-kvm
  • -gps
  • -image
  • -keyset
  • -help-keys
  • -help-keyset-file
  • -nand-limits
  • -noskin
  • -no-skin
  • -onion
  • -onion-alpha
  • -onion-rotation
  • -radio
  • -ranchu
  • -raw-keys
  • -scale
  • -shared-net-id
  • -shell-serial
  • -skin
  • -skindir
  • -trace
  • -useaudio

الحصول على مساعدة بشأن خيارات سطر الأوامر

يصف هذا القسم كيفية الحصول على مساعدة حول خيارات سطر الأوامر. ويوفر المزيد من المعلومات المتعمقة حول خيارات سطر أوامر المحاكي الشائعة الاستخدام التي تتوفر عند بدء تشغيل المحاكي.

عرض جميع خيارات المحاكي

لطباعة قائمة بجميع خيارات المحاكي، بما في ذلك وصف موجز، أدخل الأمر التالي:

emulator -help

الحصول على مساعدة تفصيلية بشأن خيار محدَّد

لطباعة المساعدة لخيار بدء تشغيل معين، أدخل الأمر التالي:

emulator -help-option

على سبيل المثال:

emulator -help-netspeed

وهذه المساعدة أكثر تفصيلاً من الوصف المقدَّم في الخيار -help.

الحصول على مساعدة تفصيلية بشأن جميع الخيارات

للحصول على مساعدة مفصلة حول جميع خيارات المحاكي، أدخل الأمر التالي:

emulator -help-all

سرد متغيّرات بيئة المحاكي

للحصول على قائمة بمتغيرات بيئة المحاكي، أدخِل الأمر التالي:

emulator -help-environment

يمكنك ضبط متغيّرات البيئة في النافذة الطرفية قبل تشغيل جهاز افتراضي، أو يمكنك ضبطها من خلال إعدادات المستخدم في نظام التشغيل. على سبيل المثال، يمكنك ضبطه في ملف .bashrc على نظام التشغيل Linux.

سرد علامات تصحيح الأخطاء

لطباعة قائمة بالعلامات لخيارات -debug، أدخِل الأمر التالي:

emulator -help-debug-tags

تتيح لك خيارات -debug تفعيل رسائل تصحيح الأخطاء أو إيقافها من مكوّنات محدّدة في المحاكي، على النحو الذي تحدّده العلامات.