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

تتضمّن حزمة تطوير البرامج (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 Nexus_5X_API_23 -netdelay none -netspeed full

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

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

emulator -list-avds

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

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

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

تثبيت تطبيق

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

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

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

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

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

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

فهم الأدلة والملفات التلقائية

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

يستخدم محاكي Android أداة Hypervisor (أداة المحاكي السريع) (QEMU). استخدمت الإصدارات الأولية من محاكي Android QEMU 1 (السمك الذهبي)، والإصدارات الأحدث تستخدم QEMU 2 (ranchu).

دليل نظام AVD

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

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

المكان:

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

يمكنك استخدام الخيار -sysdir لتحديد دليل نظام مختلف لنظام التشغيل AVD.

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

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

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

دليل بيانات AVD

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

في ما يلي الموقع الجغرافي التلقائي، حيث يكون name هو اسم AVD:

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

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

يعرض الجدول التالي أهم الملفات التي يتضمنها هذا الدليل:

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

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

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

يستخدم كل مثيل جهاز افتراضي صورة بيانات مستخدم قابلة للكتابة لتخزين البيانات الخاصة بالمستخدم والجلسة. على سبيل المثال، تستخدم الأداة الصورة لتخزين بيانات التطبيق المثبَّت والإعدادات وقواعد البيانات والملفات الخاصة بمستخدم فريد. ولكل مستخدم دليل ANDROID_SDK_HOME مختلف يخزِّن أدلة البيانات لـ AVD التي أنشأها هذا المستخدم. يحتوي كل 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 المحدّد في "متوسّط مدة المشاهدة".

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

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

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

مثلاً:

emulator @Nexus_5X_API_23 -camera-back webcam0

-webcam-list يتم إدراج كاميرات الويب المتاحة للمحاكاة على جهاز الكمبيوتر الخاص بالتطوير. مثلاً:
emulator @Nexus_5X_API_23 -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

تحدّد هذه السياسة حجم ذاكرة الوصول العشوائي (RAM) الفعلي الذي يتراوح من 128 إلى 4096 ميغابايت. مثلاً:

emulator @Nexus_5X_API_23 -memory 2048

تلغي هذه القيمة إعدادات AVD.

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

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

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

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

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

emulator @Nexus_5X_API_23 -wipe-data

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

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

$ emulator @Nexus_5X_API_23 -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 @Nexus_5X_API_23 -debug-all -debug-no-metrics

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

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

emulator @Nexus_5X_API_23 -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 @Nexus_5X_API_23 -logcat '*:s GSM:i'

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

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

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

emulator @Nexus_5X_API_23 -show-kernel

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

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

emulator @Nexus_5X_API_23 -verbose

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

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

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

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

emulator @Nexus_5X_API_23 -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 @Nexus_5X_API_23 -netdelay gsm

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

-netfast يؤدي هذا الخيار إلى إيقاف ضبط الحد الأقصى المسموح لعرض نطاق الشبكة. مثلاً:

emulator @Nexus_5X_API_23 -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 @Nexus_5X_API_23 -netspeed edge

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

-port port لضبط رقم منفذ TCP المستخدَم لوحدة التحكّم وadb مثلاً:

emulator @Nexus_5X_API_23 -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 @Nexus_5X_API_23 -ports 5556,5559

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

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

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

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

emulator @Nexus_5X_API_23 -tcpdump /path/dumpfile.cap

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

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

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

emulator @Nexus_5X_API_23 -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 (مراقب الأجهزة الظاهرية) المطلوب لتسريع الجهاز الافتراضي (VM) للمحاكي (HAXM أو KVM). مثلاً:

emulator -accel-check

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

-engine engine

يحدّد محرك المحاكي:

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

مثلاً:

emulator @Nexus_5X_API_23 -engine auto

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

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

emulator @Nexus_5X_API_23 -gpu swiftshader_indirect

لمزيد من المعلومات، راجع إعداد تسريع الرسومات.

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

emulator @Nexus_5X_API_23 -no-accel

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

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

emulator @Nexus_5X_API_23 -nojni

عند بدء تشغيل جهاز افتراضي، يتم تفعيل عمليات فحص JNI الموسعة تلقائيًا. لمزيد من المعلومات، اطّلِع على نصائح JNI.

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

me-linux$ emulator @Nexus_5X_API_23 -selinux permissive

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

-timezone timezone

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

emulator @Nexus_5X_API_23 -timezone Europe/Paris

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

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

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

-version لعرض رقم إصدار المحاكي مثلاً:

emulator @Nexus_5X_API_23 -version

أو

emulator -version

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

emulator @Nexus_5X_API_23 -no-boot-anim

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

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

emulator @Nexus_5X_API_23 -screen no-touch

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

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

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

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

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

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

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

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

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

مثلاً:

emulator @Nexus_5X_API_23 -bootchart 120
-cache filepath

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

مثلاً:

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

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

-cache-size size

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

مثلاً:

emulator @Nexus_5X_API_23 -cache-size 1000

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

-data filepath

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

مثلاً:

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

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

-datadir dir

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

مثلاً:

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

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

emulator @Nexus_5X_API_23 -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 @Nexus_5X_API_23 -initdata
   ~/Library/Android/sdk/system-images/android-23/
   google_apis/x86/userdata-test.img

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

-kernel filepath

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

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

مثلاً:

emulator @Nexus_5X_API_23 -kernel
   ~/Library/Android/sdk/system-images/android-23/
   google_apis/x86/kernel-test.img -show-kernel

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

-noaudio
-no-audio

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

مثلاً:

emulator @Nexus_5X_API_23 -noaudio
-nocache
-no-cache

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

مثلاً:

emulator @Nexus_5X_API_23 -nocache
-no-snapshot

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

مثلاً:

emulator @Nexus_5X_API_23 -no-snapshot
-no-snapshot-load

تمنع هذه العلامة المحاكي من تحميل حالة "متوسط مدة المشاهدة" من مساحة تخزين اللقطة. يتم تنفيذ التمهيد بالكامل.

مثلاً:

emulator @Nexus_5X_API_23 -no-snapshot-load
-no-snapshot-save

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

مثلاً:

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

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

مثلاً:

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

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

مثلاً:

emulator @Nexus_5X_API_23 -no-snapstorage
-no-window

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

emulator @Nexus_5X_API_23 -no-window
-partition-size size

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

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

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

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

لعرض مساعدة -qemu. مثلاً:

emulator -qemu -h
-ramdisk filepath

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

مثلاً:

emulator @Nexus_5X_API_23 -ramdisk
   ~/Library/Android/sdk/system-images/android-23/
   google_apis/x86/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 @Nexus_5X_API_23 -shell
-snapshot name

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

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

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

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

emulator @Nexus_5X_API_23 -snapshot snapshot2

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

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

-snapshot-list

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

مثلاً:

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

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

-snapstorage filepath

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

مثلاً:

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

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

-sysdir dir

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

emulator @Nexus_5X_API_23 -sysdir
   ~/Library/Android/sdk/system-images/android-23/
   google_apis/x86/test
-system filepath

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

مثلاً:

emulator @Nexus_5X_API_23 -system
   ~/Library/Android/sdk/system-images/android-23/
   google_apis/x86/system-test.img

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

-use-system-libs

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

مثلاً:

me-linux$ emulator @Nexus_5X_API_23 -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 تفعيل رسائل تصحيح الأخطاء أو إيقافها من مكوّنات محاكي معيّنة، كما هو موضّح في العلامات.