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

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

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

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

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

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

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

أو

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

على سبيل المثال، إذا شغّلت المحاكي من داخل Android Studio الذي يعمل على جهاز 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". إذا كنت تريد تشغيل المحاكي في نافذة منفصلة، يجب عدم استخدام هذه المَعلمات الإضافية.

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

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

emulator -list-avds

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

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

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

تثبيت تطبيق

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

دليل بيانات "متوسّط مدة المشاهدة"

دليل بيانات الجهاز الافتراضي الذي يعمل بنظام التشغيل Android، والذي يُعرف أيضًا باسم دليل المحتوى، خاص بمثيل واحد من الجهاز الافتراضي الذي يعمل بنظام التشغيل Android ويحتوي على جميع البيانات القابلة للتعديل للجهاز الافتراضي الذي يعمل بنظام التشغيل Android.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

لا يؤثّر الخيار -wipe-data في هذا الملف. إذا أردت محو الملف، احذفه ثم أعد إنشائه باستخدام "أداة إدارة المحاكي" (AVD Manager) أو أداة 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" باستمرار لزيادة موثوقيته. للاطّلاع على حالة المشاكل التي تم الإبلاغ عنها بشأن خيارات سطر الأوامر المختلفة والإبلاغ عن الأخطاء، يُرجى الانتقال إلى أداة تتبُّع المشاكل في Android.

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

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

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

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

يمكن أن تكون 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)"، يجب إدخال اسم المحاكي الافتراضي لنظام Android.

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

تحدّد هذه السمة حجم ذاكرة الوصول العشوائي (RAM) الفعلية، من 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 في دليل البيانات ما لم يحدّد 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 - verbose
  • 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.

-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

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

-engine engine

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

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

مثلاً:

emulator @Pixel8_API_34 -engine auto

يجب أن يختار خيار "الرصد التلقائي" القيمة التي توفّر أفضل أداء عند محاكاة جهاز افتراضي معيّن يعمل بنظام التشغيل Android. استخدِم الخيار -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} يضبط وحدة الأمان SELinux (‫Security-Enhanced Linux) على الوضع 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 ويشغّلونه داخل المحاكي بدون إنشاء جهاز AVD مسبقًا.

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

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

تتيح هذه السياسة تفعيل ميزة "مخطط الإقلاع" مع تحديد مهلة بالثواني. تتضمّن بعض صور نظام 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. لمزيد من المعلومات، يُرجى الاطّلاع على دليل بيانات جهاز Android الافتراضي.

-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

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

مثلاً:

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

مثلاً:

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