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

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

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

بدء تشغيل المحاكي

استخدِم الأمر emulator لبدء المحاكي كبديل عن تشغيل مشروعك أو بدء تشغيله من خلال أداة إدارة أجهزة Android الافتراضية.

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

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 300

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

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

للحصول على قائمة بأسماء الأجهزة الافتراضية على Android، أدخِل الأمر التالي:

emulator -list-avds

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

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

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

تثبيت تطبيق

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

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

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

لإزالة تثبيت تطبيق، اتّبِع الخطوات نفسها التي تتّبعها على جهاز Android.

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

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

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

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

يستخدم "محاكي Android" برنامج الإشراف (QEMU).

دليل نظام AVD

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

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

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

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

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

دليل بيانات AVD

دليل بيانات AVD، المعروف أيضًا باسم دليل المحتوى، خاص بمثيل واحد من AVD ويحتوي على جميع البيانات القابلة للتعديل في AVD.

الموقع التلقائي هو ما يلي، حيث يمثّل name اسم الجهاز الافتراضي:

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

استخدِم الخيار -datadir لتحديد دليل بيانات مختلف لجهاز Android الافتراضي.

يسرد الجدول التالي أهم الملفات التي يحتوي عليها هذا الدليل:

الجدول 2. الملفات المهمة في دليل بيانات محاكي Android الافتراضي (AVD)

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

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

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

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

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

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

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

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

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

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

-sdcard

عرض قائمة بالأدلة والملفات التي يستخدمها المحاكي

يمكنك معرفة مكان تخزين الملفات بطريقتَين:

  • استخدِم الخيار -verbose أو -debug init عند بدء المحاكي من سطر الأوامر. اطّلِع على الناتج.
  • استخدِم الأمر emulator -help-option لعرض قائمة بدليل تلقائي. على سبيل المثال:
    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 Emulator باستمرار بهدف تحسين موثوقيته. للاطّلاع على حالة المشاكل التي تم الإبلاغ عنها بشأن خيارات سطر الأوامر المختلفة والإبلاغ عن الأخطاء، يُرجى الانتقال إلى أداة تتبُّع المشاكل في Android.

الخيارات الأكثر استخدامًا

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

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

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

تضبط هذه السمة وضع المحاكاة لكاميرا متجهة إلى الخلف أو الأمام. ويؤدي ذلك إلى إلغاء أي إعدادات للكاميرا في "جهاز Android الافتراضي".

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

  • ‫emulated: يحاكي المحاكي كاميرا في البرنامج.
  • environment - يستخدم المحاكي مشهدًا افتراضيًا محدّدًا في ملف إعدادات البيئة لجهاز Android الافتراضي.
  • استبدِل webcamn برقم كاميرا الويب المتصلة بجهاز الكمبيوتر المخصّص للتطوير. للحصول على قائمة بكاميرات الويب، استخدِم الخيار -webcam-list. على سبيل المثال، webcam0.
  • ‫imagefile:filename: يستخدم المحاكي ملف صورة لإخراج الكاميرا.
  • ‫videofile:filename: يستخدم المحاكي فيديو لإخراج الكاميرا.
  • ‫image360:filename: يستخدم المحاكي صورة بانورامية مستطيلة متساوية المساحة لإخراج الكاميرا. متوفّر في الإصدار 36.6.4 والإصدارات الأحدث
  • 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 من "أدوات حزمة تطوير البرامج"، يجب إدخال اسم المحاكي الافتراضي لنظام Android.

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

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

emulator @Pixel8_API_34 -memory 2048

تلغي هذه القيمة إعداد "الجهاز الافتراضي لنظام التشغيل Android".

-sdcard filepath

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

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

إذا لم يتم العثور على الملف، سيتم تشغيل المحاكي بدون بطاقة SD. يعرض الأمر تحذير No SD Card Image.

إذا لم تحدّد هذا الخيار، سيكون الإعداد التلقائي هو sdcard.img في دليل البيانات ما لم يحدّد محاكي Android شيئًا مختلفًا. للحصول على تفاصيل حول بطاقات 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 وإصدار أوامر adb.

-show-kernel

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

emulator @Pixel8_API_34 -show-kernel

يُستخدَم هذا الخيار للتأكّد من أنّ عملية التشغيل تعمل بشكلٍ سليم.

-verbose

تعرض هذه السمة رسائل تهيئة المحاكي في نافذة الوحدة الطرفية. على سبيل المثال:

emulator @Pixel8_API_34 -verbose

تعرض هذه العلامة الملفات والإعدادات المحدّدة عند بدء تشغيل جهاز افتراضي محدّد في محاكي Android. هذا الخيار هو نفسه تحديد -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/3G (الحد الأدنى 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.

ملاحظة: ينطبق هذا الإعداد على شبكة إيثرنت وشبكة الجوّال.

-netsim-args arguments

تمرِّر هذه السمة وسيطات إضافية إلى محاكي الشبكة (netsim). arguments هي قائمة بالعلامات مفصولة بمسافات.

على سبيل المثال، لتفعيل التقاط الحزم وإعادة توجيه التسجيل إلى stderr:

emulator @Pixel8_API_34 -netsim-args="--pcap --logtostderr"

لمزيد من المعلومات، يُرجى الاطّلاع على ميزات الشبكات المتقدّمة في المحاكي.

-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 لتحليل الزيارات.

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

النظام
-accel mode

تضبط هذه السياسة تسريع الجهاز الافتراضي للمحاكي. على سبيل المثال:

emulator @Pixel8_API_34 -accel auto

لا تعمل المحاكاة السريعة إلا مع صور نظام x86 وx86_64. في نظام التشغيل Linux، يعتمد على KVM. على أجهزة Windows وMac، يعتمد على وحدة معالجة مركزية من 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

توقِف هذه السمة تسريع الجهاز الافتراضي للمحاكي عند استخدام صورة نظام 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 تلقائيًا. لمزيد من المعلومات، راجِع نصائح حول JNI.

-selinux {disabled|permissive}

يضبط وحدة الأمان Security-Enhanced 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 ويشغّلونه داخل المحاكي بدون إنشاء جهاز Android افتراضي مسبقًا.

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

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

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

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

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 ميغابايت. في العادة، لا يحتاج معظم مطوّري التطبيقات إلى هذا الخيار، إلا إذا كانوا بحاجة إلى تنزيل ملفات كبيرة جدًا أكبر من ذاكرة التخزين المؤقت التلقائية. لمزيد من المعلومات حول ملف ذاكرة التخزين المؤقت، يُرجى الاطّلاع على دليل بيانات جهاز Android الافتراضي.

-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 تتطلّب بعض خيارات المحاكي توفير المَعلمة A device. على سبيل المثال:

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

الحصول على مساعدة بشأن صور القرص ذات الصلة بمطوّري التطبيقات يحصل هذا الخيار على معلومات حول مكان تواجد ملفات الصور لجهاز Android الافتراضي الذي تم إنشاؤه باستخدام أدوات حزمة 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

يمنع المحاكي من تحميل حالة الجهاز الافتراضي Android من وحدة تخزين اللقطات. يُجري عملية تشغيل كاملة.

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

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

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

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

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

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

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

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

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

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.

-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 تفعيل رسائل تصحيح الأخطاء أو إيقافها من مكوّنات محاكي معيّنة، كما هو محدّد بواسطة العلامات.