एम्युलेटर कंसोल के निर्देश भेजें

हर वर्चुअल डिवाइस में एक कंसोल होता है. इसकी मदद से, डिवाइस के एनवायरमेंट को क्वेरी किया जा सकता है और उसे कंट्रोल किया जा सकता है. उदाहरण के लिए, कंसोल का इस्तेमाल करके पोर्ट रीडायरेक्शन, नेटवर्क की विशेषताओं, और टेलीफ़ोनी इवेंट को मैनेज किया जा सकता है. ऐसा तब किया जा सकता है, जब आपका ऐप्लिकेशन एम्युलेटर पर चल रहा हो.

इन कमांड को चलाने के लिए, आपके पास पहले से ही कोई एम्युलेटर चालू होना चाहिए. एम्युलेटर चलाने के बारे में ज़्यादा जानकारी के लिए, Android Emulator पर ऐप्लिकेशन चलाना और कमांड लाइन से एम्युलेटर शुरू करना लेख पढ़ें.

कंसोल सेशन शुरू और बंद करना

कंसोल को ऐक्सेस करने और टर्मिनल विंडो से निर्देश डालने के लिए, telnet का इस्तेमाल करके कंसोल पोर्ट से कनेक्ट करें और अपना पुष्टि करने वाला टोकन डालें. जब भी कंसोल OK दिखाता है, तब वह निर्देश स्वीकार करने के लिए तैयार होता है. इसमें कोई सामान्य प्रॉम्प्ट नहीं होता.

चल रहे वर्चुअल डिवाइस के कंसोल से कनेक्ट करने के लिए:

  1. टर्मिनल विंडो खोलें और यह निर्देश डालें:
  2. telnet localhost console-port

    जब एम्युलेटर को किसी अलग विंडो में चलाया जाता है, तब एम्युलेटर विंडो के टाइटल में कंसोल पोर्ट नंबर दिखता है. हालांकि, जब इसे टूल विंडो में चलाया जाता है, तब यह नंबर नहीं दिखता. उदाहरण के लिए, कंसोल पोर्ट 5554 का इस्तेमाल करने वाले एम्युलेटर के लिए विंडो का टाइटल Pixel8_API_34:5554 हो सकता है. इसके अलावा, adb devices कमांड, चालू वर्चुअल डिवाइसों और उनके कंसोल पोर्ट नंबर की सूची प्रिंट करती है. ज़्यादा जानकारी के लिए, डिवाइसों के लिए क्वेरी करना लेख पढ़ें.

    ध्यान दें: एम्युलेटर, 5554 से 5585 तक के पोर्ट पर कनेक्शन के लिए सुनता है और सिर्फ़ localhost से कनेक्शन स्वीकार करता है.

  3. कंसोल में OK दिखने के बाद, 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  (ethernet and cellular only)
    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.

एम्युलेटर कमांड रेफ़रंस

यहां दी गई टेबल में, एम्युलेटर कंसोल कमांड के बारे में बताया गया है. साथ ही, उनके पैरामीटर और वैल्यू भी दी गई हैं:

पहली टेबल. एम्युलेटर कंसोल कमांड

सामान्य निर्देश ब्यौरा
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 इस विकल्प से, AVD को घड़ी की उल्टी दिशा में 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: होस्ट पर खोलने के लिए पोर्ट नंबर.
भौगोलिक जगह ब्यौरा

यह एम्युलेटर में चल रहे ऐप्लिकेशन को, भौगोलिक जगह की जानकारी सेट करता है. इसके लिए, एम्युलेटर को जीपीएस फ़िक्स भेजा जाता है.

वर्चुअल डिवाइस चालू होने के बाद, इनमें से कोई एक geo कमांड दी जा सकती है. एम्युलेटर, आपने जो जगह की जानकारी डाली है उसे सेट करता है. इसके लिए, वह एक मॉक लोकेशन प्रोवाइडर बनाता है. यह प्रोवाइडर, ऐप्लिकेशन की ओर से सेट किए गए लोकेशन लिसनर को जवाब देता है और LocationManager को जगह की जानकारी देता है. कोई भी ऐप्लिकेशन, जगह की जानकारी देने वाले मैनेजर से क्वेरी करके, एम्युलेट किए गए डिवाइस के लिए मौजूदा जीपीएस फ़िक्स की जानकारी पा सकता है. इसके लिए, उसे LocationManager.getLastKnownLocation("gps") को कॉल करना होगा.

geo fix longitude latitude [altitude] [satellites] [velocity] यह एम्युलेटर को जीपीएस की सामान्य जानकारी भेजता है. longitude और latitude को दशमलव डिग्री में बताएं. जगह की जानकारी का पता लगाने के लिए, 1 से 12 के बीच की कोई संख्या डालें. यह संख्या, satellites की संख्या होती है. साथ ही, altitude को मीटर में और velocity को नॉट में डालें.
geo nmea sentence यह फ़ंक्शन, NMEA 0183 वाक्य को ऐसे डिवाइस पर भेजता है जिसे सिम्युलेट किया गया है. यह वाक्य ऐसे भेजा जाता है जैसे इसे सिम्युलेट किए गए जीपीएस मॉडेम से भेजा गया हो. sentence को '$GP' से शुरू करें. फ़िलहाल, सिर्फ़ '$GPGGA' और '$GPRCM' वाक्यों का इस्तेमाल किया जा सकता है. यहां दिया गया उदाहरण, GPGGA (ग्लोबल पोज़िशनिंग सिस्टम फ़िक्स डेटा) वाक्य है. इससे जीपीएस रिसीवर के लिए समय, पोज़िशन, और फ़िक्स डेटा मिलता है:
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
      
उदाहरण के लिए, पावर बटन को दबाकर रखने की कार्रवाई को सिम्युलेट करने के लिए, keydown और keyup के लिए दो 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: जीपीआरएस, जिसमें कम से कम 150 और ज़्यादा से ज़्यादा 550 की लेटेंसी रेंज का इस्तेमाल किया जाता है.
  • edge: ईडीजीई/ईजीपीआरएस, जिसमें कम से कम 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: जीएसएम/सीएसडी, जिसमें 14.4 अप और 14.4 डाउन की स्पीड का इस्तेमाल किया जाता है.
  • hscsd: एचएससीएसडी, जिसमें डेटा ट्रांसफ़र की स्पीड 14.4 केबीपीएस (अपलोड) और 43.2 केबीपीएस (डाउनलोड) होती है.
  • gprs: जीपीआरएस, जिसमें 40.0 केबीपीएस की स्पीड से डेटा अपलोड किया जाता है और 80.0 केबीपीएस की स्पीड से डेटा डाउनलोड किया जाता है.
  • edge: EDGE/EGPRS, which uses a speed of 118.4 up and 236.8 down.
  • umts: यूएमटीएस/3G, जिसमें 128.0 केबीपीएस की स्पीड से डेटा अपलोड किया जाता है और 1920 केबीपीएस की स्पीड से डेटा डाउनलोड किया जाता है.
  • hsdpa: एचएसडीपीए, जिसमें 348.0 अप और 14,400.0 डाउन की स्पीड का इस्तेमाल किया जाता है.
  • lte: एलटीई, जिसमें 58,000 अप और 173,000 डाउन की स्पीड का इस्तेमाल किया जाता है.
  • evdo: EVDO, which uses a speed of 75,000 up and 280,000 down.
  • 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: नेटवर्क पैकेट कैप्चर करना शुरू करता है. सुरक्षा के लिए, file सिर्फ़ फ़ाइल का नाम होना चाहिए. इसमें पाथ सेपरेटर (जैसे, /) और .. नहीं होना चाहिए. पैकेट कैप्चर फ़ाइल, आपके AVD की कॉन्टेंट डायरेक्ट्री में console_out/ फ़ोल्डर में सेव की जाएगी. उदाहरण के लिए, ~/.android/avd/avd_name.avd/console_out/file.
  • stop file: इस विकल्प का इस्तेमाल करके, चुनी गई फ़ाइल को पैकेट भेजना बंद किया जा सकता है.
टेलीफ़ोनी एम्युलेशन ब्यौरा
Android Emulator में, जीएसएम और सीडीएमए के अपने एमुलेटेड मॉडेम शामिल होते हैं. इनकी मदद से, एमुलेटर में टेलीफ़ोनी फ़ंक्शन को सिम्युलेट किया जा सकता है. उदाहरण के लिए, जीएसएम की मदद से इनकमिंग फ़ोन कॉल का सिम्युलेशन किया जा सकता है. साथ ही, डेटा कनेक्शन बनाए और बंद किए जा सकते हैं. सीडीएमए की मदद से, सदस्यता का सोर्स और पसंदीदा रोमिंग लिस्ट दी जाती है. Android सिस्टम, सिम्युलेट किए गए कॉल को ठीक उसी तरह हैंडल करता है जिस तरह वह असल कॉल को हैंडल करता है. एम्युलेटर पर कॉल ऑडियो की सुविधा काम नहीं करती.
gsm {call|accept|cancel|busy} phonenumber gsm पैरामीटर ये हैं:
  • call: यह phonenumber से आने वाले फ़ोन कॉल का सिम्युलेशन करता है.
  • accept: phonenumber से आने वाले कॉल को स्वीकार करता है और कॉल की स्थिति को active में बदल देता है. कॉल की स्थिति को active में सिर्फ़ तब बदला जा सकता है, जब उसकी मौजूदा स्थिति waiting या held हो.
  • cancel: इससे phonenumber से आने वाले फ़ोन कॉल या 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 यह जीएसएम की मौजूदा वॉइस/डेटा स्थिति की जानकारी देता है. ये वैल्यू, voice और data कमांड के लिए बताई गई वैल्यू होती हैं.
gsm signal {rssi|ber} यह अपडेट के अगले 15 सेकंड के लिए, रिपोर्ट किए गए सिग्नल की मज़बूती (आरएसएसआई) और बिट एरर रेट (बीईआर) को बदलता है. यहां दी गई सूची में, पैरामीटर और उनकी वैल्यू के बारे में बताया गया है:
  • rssi की रेंज 0 से 31 तक होती है. इसके अलावा, 'जानकारी नहीं है' के लिए 99 होती है.
  • ber की रेंज 0 से 7 तक होती है. इसके अलावा, 'जानकारी नहीं है' के लिए 99 होती है.
gsm signal-profile num सिग्नल की क्वालिटी की प्रोफ़ाइल सेट करता है. num, 0 से 4 के बीच की कोई संख्या है.
cdma ssource source यह मौजूदा सीडीएमए सदस्यता सोर्स सेट करता है. इसमें source, नेटवर्क पर आधारित अनुमति वाली सूची होती है. इसमें सीडीएमए कैरियर के सदस्य और उनकी वैल्यू शामिल होती हैं. ये वैल्यू इस तरह होती हैं:
  • nv: यह कुकी, नॉन-वोलैटाइल रैम से सदस्यता की जानकारी पढ़ती है.
  • ruim: यह Removable User Identity Module (RUIM) से सदस्यता की जानकारी पढ़ता है.
cdma prl_version version यह कमांड, पसंदीदा रोमिंग सूची (पीआरएल) के मौजूदा वर्शन को डंप करती है. वर्शन नंबर, 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 इससे, नकली इनकमिंग एसएमएस जनरेट होता है. यहां दी गई सूची में, पैरामीटर और उनकी वैल्यू के बारे में बताया गया है:
  • sender-phone-number: इसमें कोई भी संख्या वाली स्ट्रिंग होती है.
  • textmessage: एसएमएस मैसेज.

नीचे दिए गए उदाहरण में, 4085555555 फ़ोन नंबर पर "hi there" मैसेज भेजा गया है:

sms send 4085555555 hi there

कंसोल, एसएमएस मैसेज को Android फ़्रेमवर्क को भेजता है. यह फ़्रेमवर्क, मैसेज को एसएमएस मैनेज करने वाले ऐप्लिकेशन को भेजता है. जैसे, Messages ऐप्लिकेशन. अगर 10 नंबर पास किए जाते हैं, तो ऐप्लिकेशन उन्हें फ़ोन नंबर के तौर पर फ़ॉर्मैट करता है. लंबी या छोटी संख्या वाली स्ट्रिंग, उसी तरह दिखती हैं जिस तरह आपने उन्हें भेजा था.

फ़िंगरप्रिंट सिम्युलेशन ब्यौरा
finger touch fingerprint-id यह सेंसर को छूने वाली उंगली की तरह काम करता है.
finger remove यह फ़िंगरप्रिंट हटाने की प्रोसेस को सिम्युलेट करता है.

इन कमांड का इस्तेमाल करने के बारे में निर्देश पाने के लिए, फ़िंगरप्रिंट सिम्युलेशन और पुष्टि के बारे में यहां दिया गया सेक्शन देखें.

फ़िंगरप्रिंट सिम्युलेशन और पुष्टि

पहली इमेज. फ़िंगरप्रिंट से पुष्टि करने की स्क्रीन.

अपने ऐप्लिकेशन के लिए, फ़िंगरप्रिंट की पुष्टि करने की सुविधा को सिम्युलेट और पुष्टि करने के लिए, finger कमांड का इस्तेमाल करें. इसके लिए, आपके पास SDK टूल 24.3 या इसके बाद का वर्शन और Android 6.0 (एपीआई लेवल 23) या इसके बाद का वर्शन होना चाहिए.

फ़िंगरप्रिंट की पुष्टि करने की सुविधा को सिम्युलेट करने और उसकी पुष्टि करने के लिए, यह तरीका अपनाएं:

  1. अगर आपके पास फ़िंगरप्रिंट आईडी नहीं है, तो एम्युलेटर में नया फ़िंगरप्रिंट रजिस्टर करें. इसके लिए, सेटिंग > सुरक्षा > फ़िंगरप्रिंट को चुनें और रजिस्टर करने के निर्देशों का पालन करें.
  2. अपने ऐप्लिकेशन को फ़िंगरप्रिंट से पुष्टि करने की सुविधा स्वीकार करने के लिए सेट अप करें. यह सेटअप करने के बाद, आपके डिवाइस पर फ़िंगरप्रिंट की पुष्टि करने वाली स्क्रीन दिखेगी.
  3. जब आपका ऐप्लिकेशन, फ़िंगरप्रिंट से पुष्टि करने वाली स्क्रीन दिखाता है, तब कंसोल पर जाएं. इसके बाद, finger touch कमांड और बनाया गया फ़िंगरप्रिंट आईडी डालें. इससे, फ़िंगरप्रिंट से पुष्टि करने की प्रोसेस का सिम्युलेशन होता है.
  4. इसके बाद, उंगली हटाने का सिम्युलेट करने के लिए, finger remove कमांड डालें.

    आपके ऐप्लिकेशन को इस तरह से जवाब देना चाहिए जैसे किसी व्यक्ति ने फ़िंगरप्रिंट सेंसर को छुआ हो और फिर अपनी उंगली हटा ली हो.