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

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

تتطلب الأوامر التالية أن يكون لديك محاكي قيد التشغيل. لمزيد من المعلومات حول تشغيل محاكي، يمكنك الاطّلاع على تشغيل التطبيقات على محاكي Android وتشغيل المحاكي من سطر الأوامر.

بدء جلسة وحدة تحكُّم وإيقافها

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

للربط بوحدة التحكّم على جهاز افتراضي قيد التشغيل:

  1. افتح نافذة المحطة الطرفية وأدخل الأمر التالي:
  2. telnet localhost console-port

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

    ملاحظة: يرصد المحاكي الاتصالات على المنافذ من 5554 إلى 5585 ويقبل الاتصالات الواردة من localhost فقط.

  3. بعد أن تعرض وحدة التحكّم OK، أدخِل الأمر auth auth_token.
  4. قبل أن تتمكن من إدخال أوامر وحدة التحكم، تتطلب وحدة التحكم المحاكية المصادقة. يجب أن تتطابق السمة auth_token مع محتوى ملف .emulator_console_auth_token في الدليل الرئيسي.

    إذا لم يكن هذا الملف متوفرًا، ينشئ الأمر telnet localhost console-port الملف الذي يحتوي على رمز مصادقة تم إنشاؤه عشوائيًا. لإيقاف المصادقة، احذف الرمز المميّز من ملف .emulator_console_auth_token أو أنشِئ ملفًا فارغًا في حال لم يكن متوفّرًا.

  5. بعد الاتصال بوحدة التحكّم، أدخِل أوامر وحدة التحكّم.
  6. أدخِل help أو help command أو help-verbose للاطّلاع على قائمة بأوامر وحدة التحكّم، ومعرفة معلومات عن أوامر محدّدة.

  7. للخروج من جلسة وحدة التحكّم، أدخِل quit أو exit.

إليك مثال على الجلسة:

$ telnet localhost 5554
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Android Console: Authentication required
Android Console: type 'auth <auth_token>' to authenticate
Android Console: you can find your <auth_token> in
'/Users/me/.emulator_console_auth_token'
OK
auth 123456789ABCdefZ
Android Console: type 'help' for a list of commands
OK
help-verbose
Android console command help:
    help|h|?         Prints a list of commands
    help-verbose     Prints a list of commands with descriptions
    ping             Checks if the emulator is alive
    automation       Manages emulator automation
    event            Simulates hardware events
    geo              Geo-location commands
    gsm              GSM related commands
    cdma             CDMA related commands
    crash            Crashes the emulator instance
    crash-on-exit    Simulates crash on exit for the emulator instance
    kill             Terminates the emulator instance
    restart          Restarts the emulator instance
    network          Manages network settings
    power            Power related commands
    quit|exit        Quits control session
    redir            Manages port redirections
    sms              SMS related commands
    avd              Controls virtual device execution
    qemu             QEMU-specific commands
    sensor           Manages emulator sensors
    physics          Manages physical model
    finger           Manages emulator finger print
    debug            Controls the emulator debug output tags
    rotate           Rotates the screen clockwise by 90 degrees
    screenrecord     Records the emulator's display
    fold             Folds the device
    unfold           Unfolds the device
    multidisplay     Configures the multi-display
    nodraw           turn on/off NoDraw mode. (experimental)
    resize-display   resize the display resolution to the preset size
    virtualscene-image  customize virtualscene image for virtulscene camera
    proxy            manage network proxy server settings
    phonenumber      set phone number for the device


try 'help <command>' for command-specific help
OK
exit
Connection closed by foreign host.

مرجع طلبات المحاكي

ويصف الجدول التالي أوامر وحدة التحكم المحاكية بالمعلمات والقيم الخاصة بها:

الجدول 1. أوامر وحدة تحكّم المحاكي

طلبات عامة الوصف
avd {stop|start|status|name} طلبات البحث في الجهاز الافتراضي وعناصر التحكّم فيه وإدارته على النحو التالي:
  • stop: يوقف تنفيذ الجهاز.
  • start: لبدء تنفيذ الجهاز
  • status: طلبات البحث عن حالة الجهاز الافتراضي، التي يمكن أن تكون running أو stopped
  • name: طلبات البحث عن اسم الجهاز الافتراضي
avd snapshot {list|save name|load name|delete name} يحفظ هذا الإعداد حالة الجهاز ويستعيدها في اللقطات، كما يلي:
  • list: يسرد جميع اللقطات المحفوظة.
  • save name: يتم حفظ النبذة بتنسيق name.
  • load name: لتحميل اللقطة المُسَمّاة
  • delete name: يؤدي هذا الإجراء إلى حذف اللقطة المُسَمّاة.

يحفظ المثال التالي لقطة باسم firstactivitysnapshot:

avd snapshot save firstactivitysnapshot
fold يعمل هذا الإجراء على طيّ الجهاز لعرض إعدادات شاشته الأصغر إذا كان الجهاز قابلاً للطي وغير مطوي حاليًا.
unfold يفتح الجهاز لعرض الإعدادات الأكبر للشاشة، إذا كان الجهاز قابلاً للطي ومطويًا في الوقت الحالي.
kill إنهاء الجهاز الافتراضي
ping يتحقّق مما إذا كان الجهاز الافتراضي قيد التشغيل.
rotate تدوير متوسّط مدة المشاهدة عكس اتجاه عقارب الساعة بمقدار 45 درجة
إيقاف المحاكي الوصف
crash تعطل المحاكي أثناء تنفيذ التطبيق.
crash-on-exit يتعطّل المحاكي عند الخروج من التطبيق.
علامات تصحيح الأخطاء الوصف
debug tags ...

لتفعيل أو إيقاف رسائل تصحيح الأخطاء من أجزاء محدَّدة من المحاكي. يجب أن تكون المَعلمة tags قيمة من قائمة علامات تصحيح الأخطاء التي تظهر عند تنفيذ emulator -help-debug-tags. لمزيد من المعلومات حول الخيار -help-debug-tags، راجِع جدول الخيارات الشائعة الاستخدام.

يسمح المثال التالي باستخدام العلامة radio:

debug radio
إعادة توجيه المنفذ الوصف
redir list يسرد عملية إعادة توجيه المنفذ الحالية.
redir add protocol:host-port:guest-port تتم إضافة عملية إعادة توجيه جديدة للمنفذ على النحو التالي:
  • protocol: يجب أن يكون إما tcp أو udp.
  • host-port: رقم المنفذ المراد فتحه على المضيف
  • guest-port: رقم المنفذ لتوجيه البيانات إليه على المحاكي.
redir del protocol:host-port تحذف عملية إعادة توجيه المنفذ.
  • protocol: يجب أن يكون إما tcp أو udp.
  • host-port: رقم المنفذ المراد فتحه على المضيف
الموقع الجغرافي الوصف

تضبط هذه السياسة الموقع الجغرافي الذي يتم الإبلاغ عنه للتطبيقات التي تعمل داخل المحاكي من خلال إرسال إصلاح نظام تحديد المواقع العالمي (GPS) إلى المحاكي.

يمكنك إصدار أحد أمر geo التالي فور تشغيل الجهاز الافتراضي. يضبط المحاكي الموقع الذي تدخله عن طريق إنشاء موفّر موقع وهمي. يردّ مقدّم الخدمة هذا على أدوات معالجة المواقع الجغرافية التي حدّدتها التطبيقات ويزوِّد الموقع الجغرافي لجهاز LocationManager. يمكن لأي تطبيق إرسال طلب إلى مدير الموقع الجغرافي للحصول على الإصلاح الحالي لنظام تحديد المواقع العالمي (GPS) للجهاز الذي تتم محاكاته من خلال الاتصال بالرقم LocationManager.getLastKnownLocation("gps").

geo fix longitude latitude [altitude] [satellites] [velocity] ويتم إرسال إصلاح بسيط من نظام تحديد المواقع العالمي (GPS) إلى المحاكي. حدِّد longitude وlatitude بالدرجات العشرية. استخدِم رقمًا من 1 إلى 12 لتحديد عدد satellites الذي سيتم استخدامه لتحديد موضع الجهاز، وحدِّد altitude بالأمتار وvelocity بالعقد.
geo nmea sentence تُرسِل جملة NMEA 0183 إلى الجهاز الذي تمّت محاكاته كما لو كان مُرسَلاً من مودم لنظام تحديد المواقع العالمي (GPS) تمّت محاكاته. ابدأ sentence بـ '$GP'. يُسمح حاليًا باستخدام جمل "$GPGGA" و"$GPRCM" فقط. في ما يلي مثال على جملة GPGGA (بيانات إصلاح نظام تحديد المواقع العالمي) التي تحصل على بيانات الوقت والموضع والإصلاح لجهاز استقبال نظام تحديد المواقع العالمي (GPS):
geo nmea $GPGGA ,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx
الأحداث المتعلّقة بالأجهزة المزيفة الوصف
event types تُدرج جميع أنواع الأحداث الزائفة. بالنسبة إلى الأحداث التي تتضمّن رموزًا، يظهر عدد الرموز بين قوسين على اليسار.

event types
event <type> can be an integer or one of the following aliases:
    EV_SYN
    EV_KEY    (405 code aliases)
    EV_REL    (2 code aliases)
    EV_ABS    (27 code aliases)
    EV_MSC
    EV_SW     (4 code aliases)
    EV_LED
    EV_SND
    EV_REP
    EV_FF
    EV_PWR
    EV_FF_STATUS
    EV_MAX
OK
        

event send types [types ...] يتم إرسال نوع واحد أو أكثر من الأحداث المزيفة.
event codes type يسرد رموز الأحداث لنوع الحدث الزائف المحدّد.
event send type[:code]:[value] [...] يتم إرسال حدث واحد أو أكثر يتضمّن رموزًا وقيم رموز اختيارية.

لاكتشاف الحدث المطلوب إرساله بالضبط، يمكنك استخدام الأمر adb أثناء الضغط يدويًا على الأزرار في المحاكي.

في ما يلي الأحداث التي يتم إنشاؤها عند الضغط على زر التشغيل:

adb shell getevent -lt

/dev/input/event12: EV_KEY       KEY_POWER            DOWN
/dev/input/event12: EV_SYN       SYN_REPORT           00000000
/dev/input/event12: EV_KEY       KEY_POWER            UP
/dev/input/event12: EV_SYN       SYN_REPORT           00000000
      
على سبيل المثال، لمحاكاة الضغط مع الاستمرار على زر التشغيل، أرسِل حدثَين من نوع EV_KEY لفتح مفتاح التشغيل والضغط على مفتاح التشغيل:
event send EV_KEY:KEY_POWER:0
OK
event send EV_KEY:KEY_POWER:1
OK
      

event text message ترسل سلسلة من الأحرف تحاكي الضغط على المفاتيح. يجب أن تكون الرسالة سلسلة UTF-8. يتم ربط مشاركات يونيكود عكسيًا وفقًا للوحة مفاتيح الجهاز الحالية، ويتم تجاهل الأحرف غير المتوافقة بدون تنبيه صوتي.
عناصر التحكّم في حالة التشغيل الوصف
power display عرض حالة البطارية والشاحن
power ac {on|off} يتم ضبط حالة شحن التيار المتردد على on أو off.
power status {unknown|charging|discharging|not-charging|full} يغيّر حالة البطارية كما هو محدّد.
power present {true|false} تضبط هذه السياسة حالة البطارية.
power health {unknown|good|overheat|dead|overvoltage|failure} يضبط هذا الإعداد حالة البطارية.
power capacity percent يتم ضبط حالة سعة البطارية المتبقية كنسبة مئوية من 0 إلى 100.
حالة الاتصال بالشبكة الوصف
network status للتحقّق من حالة الشبكة وخصائص التأخير والسرعة الحالية
network delay latency

تغيّر وقت استجابة الشبكة التي تمت محاكاتها.

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

تنسيق الشبكة latency هو أحد التنسيقات التالية (الأرقام تكون بالمللي ثانية):

تنسيق وقت استجابة الشبكة:

  • gprs: خدمة GPRS، التي تستخدم نطاق وقت استجابة يبلغ 150 كحد أدنى و550 كحد أقصى
  • edge: EDGE/EGPRS، التي تستخدم نطاق وقت استجابة يبلغ 80 كحد أدنى و400 كحد أقصى
  • umts: النظام العالمي لاتصالات الجوال عن بعد (UMTS)/شبكة الجيل الثالث (3G) الذي يستخدم نطاق وقت استجابة يبلغ 35 كحد أدنى و200 كحد أقصى.
  • none: ما مِن وقت استجابة.
  • num: يحاكي وقت الاستجابة المحدد بالمللي ثانية.
  • min:max: يحاكي نطاق وقت الاستجابة المحدد.

لضبط وقت الاستجابة عند بدء تشغيل المحاكي، استخدِم -netdelay خيار المحاكي مع قيمة latency متوافقة، كما هو موضّح في قائمة تنسيق وقت استجابة الشبكة السابقة. في ما يلي بعض الأمثلة:

emulator -netdelay gprs
emulator -netdelay 40,100

لإجراء تغييرات على تأخير الشبكة أثناء تشغيل المحاكي، عليك الاتصال بوحدة التحكّم واستخدام الأمر netdelay مع قيمة latency متوافقة من القائمة السابقة لتنسيق وقت استجابة الشبكة.

network delay gprs
network delay 40 100
network speed speed يتيح لك المحاكي محاكاة معدلات مختلفة لنقل البيانات عبر الشبكة.

يمكنك ضبط معدل النقل أو نطاق عمليات النقل عند بدء تشغيل المحاكي، أو يمكنك استخدام وحدة التحكّم لتغيير المعدّل أثناء تشغيل التطبيق في المحاكي.

تنسيق الشبكة speed هو أحد التنسيقات التالية (الأرقام بالكيلوبت في الثانية):

تنسيق سرعة الشبكة:

  • gsm: بروتوكول GSM/CSD، الذي يستخدم سرعة 14.4 أعلى و14.4 أقل
  • hscsd: HSCSD، الذي يستخدم سرعة 14.4 أعلى و43.2 لأسفل.
  • gprs: خدمة GPRS، التي تستخدم سرعة 40.0 أعلى و80.0 أقل
  • edge: EDGE/EGPRS، التي تستخدم سرعة 118.4 لأعلى و236.8 لأسفل
  • umts: النظام العالمي لاتصالات الجوال عن بعد (UMTS)/شبكة الجيل الثالث (3G) الذي يستخدم سرعة 128.0 أعلى و1920 لأسفل
  • hsdpa: بروتوكول HSDPA، والذي يستخدم سرعة تزيد عن 348.0 وسرعة تصل إلى 14,400.0.
  • lte: LTE الذي يستخدم سرعة تزيد عن 58,000 وسرعة أقل من 173,000
  • evdo: EVDO التي تستخدم سرعة تزيد عن 75,000 وخفضها بمقدار 280,000.
  • full: سرعة غير محدودة، ولكن تعتمد على سرعة اتصال جهاز الكمبيوتر.
  • num: يضبط المعدّل الدقيق بالكيلوبت في الثانية المستخدَم في كلّ من التحميل والتنزيل.
  • up:down: يضبط الأسعار الدقيقة بالكيلوبت في الثانية للتحميل والتنزيل بشكل منفصل.

لضبط سرعة الشبكة عند بدء تشغيل المحاكي، استخدِم -netspeed خيار المحاكي مع قيمة speed متوافقة، كما في قائمة تنسيق سرعة الشبكة السابقة. في ما يلي بعض الأمثلة:

emulator -netspeed gsm @Pixel_API_26
emulator -netspeed 14.4,80 @Pixel_API_26

لإجراء تغييرات على سرعة الشبكة أثناء تشغيل المحاكي، عليك الاتصال بوحدة التحكّم واستخدام الأمر network speed مع قيمة speed متوافقة من قائمة تنسيق سرعة الشبكة السابقة.

network speed 14.4 80
network capture {start|stop} file إرسال حزم البيانات إلى ملف. توضِّح القائمة التالية المَعلمات وقيم المَعلمات:
  • start file: يبدأ إرسال حزم البيانات إلى الملف المحدد.
  • stop file: يوقف إرسال حزم البيانات إلى الملف المحدد.
محاكاة الاتصالات الهاتفية الوصف
يشتمل محاكي Android على أجهزة مودم تمت محاكاتها عبر GSM وCDMA والتي تتيح لك محاكاة وظائف الاتصال الهاتفي في المحاكي. على سبيل المثال، يمكنك باستخدام بروتوكول GSM محاكاة المكالمات الهاتفية الواردة وإنشاء اتصالات البيانات وإنهائها. وباستخدام CDMA، يمكنك توفير مصدر الاشتراك وقائمة التجوال المفضلة. يتعامل نظام Android مع المكالمات التي تمت محاكاتها تمامًا كما يتعامل مع المكالمات الفعلية. المحاكي لا يتوافق مع صوت المكالمات.
gsm {call|accept|cancel|busy} phonenumber مَعلمات gsm هي كما يلي:
  • call: يحاكي مكالمة هاتفية واردة من phonenumber.
  • accept: يقبل مكالمة واردة من phonenumber ويغيّر حالة الاتصال إلى active. لا يمكنك تغيير حالة الاتصال إلى active إلا عندما تكون حالته الحالية waiting أو held.
  • cancel: لإنهاء مكالمة هاتفية واردة من مكالمة هاتفية واردة من phonenumber أو صادرة إلىها
  • busy: إغلاق مكالمة صادرة إلى phonenumber وتغيير حالة الاتصال إلى busy. لا يمكنك تغيير حالة الاتصال إلى busy إلا عندما تكون حالتها الحالية هي waiting.
gsm {data|voice} state يغيِّر الأمر data state حالة اتصال بيانات GPRS، ويغيّر الأمر data voice state حالة الاتصال الصوتي بخدمة GPRS، على النحو التالي:
  • unregistered: لا تتوفّر أي شبكة.
  • home: على الشبكة المحلية، بدون تجوال.
  • roaming: متصل بشبكة التجوال.
  • searching: البحث في الشبكات
  • denied: مكالمات الطوارئ فقط.
  • off: تمامًا مثل unregistered.
  • on: تمامًا مثل home.
gsm hold تغيير حالة المكالمة إلى hold لا يمكنك تغيير حالة الاتصال إلى hold إلا عندما تكون حالتها الحالية هي active أو waiting.
gsm list يسرد جميع المكالمات الواردة والصادرة وحالاتها.
gsm status يُبلغ هذا الإعداد عن حالة صوت/بيانات بروتوكول GSM الحالية. والقيم هي تلك الموضّحة للأمرين voice وdata.
gsm signal {rssi|ber} تغيِّر قوة الإشارة (rssi) ومعدّل أخطاء البت (ber) الذي تم الإبلاغ عنه في الثواني الـ 15 التالية من التحديث. توضِّح القائمة التالية المَعلمات وقيمها:
  • نطاق rssi يتراوح بين 0 و31 و99 عندما يكون غير معروف.
  • نطاق ber بين 0 و7 و99 للمجهول.
gsm signal-profile num تعيين الملف الشخصي لقوة الإشارة. num هو رقم من 0 إلى 4.
cdma ssource source تضبط هذه السياسة مصدر الاشتراك الحالي عبر CDMA، حيث يمثّل source قائمة مسموح بها مستندة إلى الشبكة تحتوي على المشتركين لدى مشغّل شبكة الجوّال CDMA وقيمهم على النحو التالي:
  • nv: لقراءة الاشتراك من ذاكرة وصول عشوائي غير متطايرة.
  • ruim: قراءة الاشتراك من وحدة هوية المستخدم القابلة للإزالة (RUIM).
cdma prl_version version لتفريغ إصدار قائمة التجوال (PRL) الحالي المفضّل. رقم الإصدار لقاعدة بيانات PRL التي تحتوي على المعلومات المستخدمة أثناء عملية اختيار النظام واكتسابه.
إدارة أدوات الاستشعار في المحاكي الوصف
تتعلّق هذه الأوامر بأدوات الاستشعار المتوفرة في "متوسّط مدة المشاهدة". بالإضافة إلى استخدام الأمر sensor، يمكنك الاطّلاع على الإعدادات وضبطها في المحاكي في شاشة أجهزة الاستشعار الافتراضية ضمن علامتَي التبويب مقياس التسارع وأدوات الاستشعار الإضافية.
sensor status تعرض هذه البطاقة جميع أدوات الاستشعار وحالتها. في ما يلي مثال على ناتج الأمر sensor status:
sensor get sensor-name يحصل على إعدادات sensor-name. ويوضّح المثال التالي قيمة أداة استشعار التسارع:
sensor get acceleration
acceleration = 2.23517e-07:9.77631:0.812348

تشير قيم acceleration المفصولة بنقطتين(:) إلى الإحداثيات x وy وz لأدوات الاستشعار الافتراضية.

sensor set sensor-name value-x:value-y:value-z تحدد قيم sensor-name. ويحدّد المثال التالي أداة استشعار التسارع على القيم x وy وz مفصولة بنقطتين.
sensor set acceleration 2.23517e-07:9.77631:0.812348
محاكاة الرسائل القصيرة الوصف
sms send sender-phone-number textmessage إنشاء رسالة قصيرة SMS واردة في وضع المحاكاة. توضِّح القائمة التالية المَعلمات وقيمها:
  • sender-phone-number: يحتوي على سلسلة رقمية عشوائية.
  • textmessage: رسالة SMS

يرسل المثال التالي الرسالة "مرحبًا بك" إلى رقم الهاتف 4085555555:

sms send 4085555555 hi there

تعيد وحدة التحكّم توجيه الرسالة القصيرة إلى إطار عمل Android، ويمررها إلى تطبيق على المحاكي يتعامل مع الرسائل القصيرة، مثل تطبيق "الرسائل". وإذا مررت 10 أرقام، سيحدّدها التطبيق كرقم هاتف. تعرض السلاسل الرقمية الأطول أو الأقصر الطريقة التي أرسلتها بها.

محاكاة بصمة الإصبع الوصف
finger touch fingerprint-id يحاكي هذا الزر إصبعًا يلمس أداة الاستشعار.
finger remove محاكاة لإزالة الأصابع

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

محاكاة بصمة الإصبع والتحقّق من صحتها

الشكل 1. شاشة مصادقة بصمة الإصبع

استخدِم الأمر finger لمحاكاة مصادقة تطبيقك ببصمة الإصبع والتحقق من صحتها. تحتاج إلى الإصدار 24.3 أو إصدار أحدث من حزمة SDK والإصدار Android 6.0 (المستوى 23 من واجهة برمجة التطبيقات) أو الإصدارات الأحدث.

لمحاكاة المصادقة ببصمة الإصبع والتحقق من صحتها، اتبع الخطوات التالية:

  1. إذا لم يكن لديك رقم تعريف بصمة إصبع حتى الآن، يمكنك تسجيل بصمة إصبع جديدة في المحاكي من خلال النقر على الإعدادات > الأمان > بصمة الإصبع واتّباع تعليمات التسجيل.
  2. ابدأ بإعداد تطبيقك لقبول المصادقة ببصمة الإصبع. بعد إجراء هذا الإعداد، يعرض جهازك شاشة المصادقة ببصمة الإصبع.
  3. أثناء عرض تطبيقك لشاشة المصادقة ببصمة الإصبع، انتقِل إلى وحدة التحكّم وأدخِل الأمر finger touch ورقم تعريف بصمة الإصبع الذي أنشأته. يحاكي هذا لمس الجهاز بالإصبع.
  4. بعد ذلك، أدخِل الأمر finger remove لمحاكاة إزالة الإصبع.

    من المفترض أن يستجيب تطبيقك كما لو لمس المستخدم إصبعه ثم أزال إصبعه من أداة استشعار بصمة الإصبع.