कमांड लाइन से एम्युलेटर शुरू करें

Android SDK टूल में एक Android डिवाइस एम्युलेटर शामिल है. यह एक वर्चुअल डिवाइस है जो आपके कंप्यूटर पर चलता है. Android Emulator से आपको इसे डेवलप करने और टेस्ट करने की सुविधा मिलती है किसी डिवाइस का इस्तेमाल किए बिना Android ऐप्लिकेशन.

इस पेज में ऐसी कमांड-लाइन सुविधाओं के बारे में बताया गया है जिनका इस्तेमाल Android एम्युलेटर. Android Emulator यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करने के बारे में जानकारी के लिए, देखें Android Emulator पर ऐप्लिकेशन चलाएं.

एम्युलेटर शुरू करें

इसके विकल्प के तौर पर, एम्युलेटर को चालू करने के लिए emulator कमांड का इस्तेमाल करें अपना प्रोजेक्ट चलाना या एवीडी मैनेजर की मदद से इसकी शुरुआत करें.

यहाँ से वर्चुअल डिवाइस शुरू करने के लिए, बेसिक कमांड-लाइन सिंटैक्स दिया गया है: टर्मिनल प्रॉम्प्ट:

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

या

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

उदाहरण के लिए, अगर Mac पर चल रहे Android Studio से एम्युलेटर को लॉन्च किया जाता है, तो डिफ़ॉल्ट सेटिंग कमांड लाइन इनके जैसा होगी:

/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 Studio में एम्युलेटर विंडो को चलाने के लिए किया जाता है. अगर आपको एम्युलेटर को उसकी विंडो पर चलाना है, तो आपको उन अतिरिक्त पैरामीटर का इस्तेमाल नहीं करना चाहिए.

एम्युलेटर को शुरू करते समय, आपके पास स्टार्टअप के विकल्प तय करने का विकल्प होता है. हालांकि, इसके शुरू होने के बाद ऐसा नहीं किया जा सकता.

एवीडी के नामों की सूची के लिए, ये निर्देश डालें:

emulator -list-avds

Android की होम डायरेक्ट्री से, एवीडी के नामों की सूची देखने के लिए, इस विकल्प का इस्तेमाल करें. ANDROID_SDK_HOME को सेट करके, डिफ़ॉल्ट होम डायरेक्ट्री को बदला जा सकता है एनवायरमेंट वैरिएबल, जो उपयोगकर्ता के लिए खास डायरेक्ट्री, जहां सभी कॉन्फ़िगरेशन और एवीडी कॉन्टेंट सेव होता है.

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

'Android एम्युलेटर' को बंद करने के लिए, एम्युलेटर विंडो को बंद करें.

ऐप्लिकेशन इंस्टॉल करना

Android Studio या एम्युलेटर से ऐप्लिकेशन इंस्टॉल करने के अलावा यूज़र इंटरफ़ेस (यूआई), adb सुविधा का इस्तेमाल करके वर्चुअल डिवाइस पर अपना ऐप्लिकेशन इंस्टॉल किया जा सकता है.

adb का इस्तेमाल करके अपने ऐप्लिकेशन को इंस्टॉल करने, चलाने, और उसकी जांच करने के लिए, यह तरीका अपनाएं:

  1. अपना ऐप्लिकेशन किसी APK में बनाएं और पैकेज करें, जैसा कि अपना ऐप्लिकेशन बनाना और चलाना ऐप्लिकेशन है.
  2. जैसा कि पिछले लेख में बताया गया है, कमांड लाइन से एम्युलेटर को शुरू करें सेक्शन में जाकर स्टार्टअप के विकल्पों का इस्तेमाल करें.
  3. adb का इस्तेमाल करके अपना ऐप्लिकेशन इंस्टॉल करें.
  4. एम्युलेटर पर अपना ऐप्लिकेशन चलाएं और उसकी जांच करें.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है एम्युलेटर पर डाउनलोड करने के लिए, आप एम्युलेटर का इस्तेमाल कर सकते हैं कंसोल का इस्तेमाल करें.

किसी ऐप्लिकेशन को अनइंस्टॉल करने के लिए, वैसा ही करें जैसा किसी Android डिवाइस पर किया जाता है.

रीस्टार्ट होने पर, वर्चुअल डिवाइस ऐप्लिकेशन और उसकी स्थिति का डेटा सेव करके रखता है उपयोगकर्ता के डेटा डिस्क पार्टीशन (userdata-qemu.img) में. इसे हटाने के लिए डेटा, एम्युलेटर को -wipe-data विकल्प से शुरू करें या डेटा को एवीडी मैनेजर में सेव कर सकते हैं. यूज़र डेटा के बारे में ज़्यादा जानकारी पाने के लिए अगला सेक्शन देखें.

ध्यान दें: adb यूटिलिटी, वर्चुअल डिवाइस को इस तरह देखती है एक असल डिवाइस है. इस वजह से, आपको कुछ सामान्य adb निर्देशों के साथ -d फ़्लैग, जैसे कि install. -d फ़्लैग की मदद से यह तय किया जा सकता है कि कई किसी निर्देश के टारगेट के तौर पर इस्तेमाल करने के लिए कनेक्ट किए गए डिवाइस. अगर आप तय नहीं करते हैं, तो -d, एम्युलेटर अपनी सूची में पहले डिवाइस को टारगेट करता है.

डिफ़ॉल्ट डायरेक्ट्री और फ़ाइलों को समझना

एम्युलेटर, जुड़ी हुई फ़ाइलों का इस्तेमाल करता है. इनमें से AVD सिस्टम और डेटा डायरेक्ट्री शामिल हैं सबसे ज़रूरी हैं. एम्युलेटर डायरेक्ट्री के स्ट्रक्चर को समझने से, और फ़ाइलें शामिल की जा सकती हैं, हालांकि आम तौर पर आपको डिफ़ॉल्ट डायरेक्ट्री या फ़ाइलों में बदलाव करने की ज़रूरत है.

Android एम्युलेटर, (QEMU) हाइपरवाइज़र का इस्तेमाल करता है.

एवीडी सिस्टम डायरेक्ट्री

सिस्टम डायरेक्ट्री में, Android सिस्टम की वे इमेज शामिल होती हैं जिनका इस्तेमाल एम्युलेटर करता है ऑपरेटिंग सिस्टम को सिम्युलेट करने के लिए. इस डायरेक्ट्री में प्लैटफ़ॉर्म के हिसाब से, रीड-ओनली ऐक्सेस वाली फ़ाइलें हैं इसे एक ही तरह के सभी एवीडी शेयर करते हैं. इनमें एपीआई लेवल, सीपीयू आर्किटेक्चर, और Android का वैरिएंट. डिफ़ॉल्ट स्थान ये हैं:

  • macOS और Linux - ~/Library/Android/sdk/system-images/android-apiLevel/variant/arch/
  • विंडो - C:\Users\user\Library\Android\sdk\system-images\android-apiLevel\variant\arch\

कहाँ:

  • apiLevel, एपीआई लेवल में अंकों वाला या इसके लिए एक अक्षर है रिलीज़ की झलक देखें. उदाहरण के लिए, android-V Android VenillaIceCream की झलक. रिलीज़ होने पर, यह एपीआई लेवल 35 बन गया. इसे android-35.
  • variant खास सुविधाओं के लिए इस्तेमाल किया जाने वाला नाम है सिस्टम इमेज से लागू किया जाता है. उदाहरण के लिए, google_apis या android-wear.
  • arch टारगेट सीपीयू आर्किटेक्चर है. उदाहरण के लिए, x86.

-sysdir विकल्प का इस्तेमाल करके, को दिखाया जा सकता है.

एम्युलेटर, सिस्टम डायरेक्ट्री में मौजूद इन फ़ाइलों को पढ़ता है:

टेबल 1. सिस्टम डायरेक्ट्री की फ़ाइलें, Android के ज़रिए पढ़ी जाती हैं एम्युलेटर

फ़ाइल ब्यौरा कोई और फ़ाइल जोड़ने का विकल्प
kernel-qemu या kernel-ranchu AVD के लिए बाइनरी कर्नेल इमेज. kernel-ranchu इस पर आधारित है QEMU एम्युलेटर. -kernel
ramdisk.img बूट पार्टीशन की इमेज. यह system.img का सबसेट है कर्नेल द्वारा सिस्टम चित्र माउंट किए जाने से पहले लोड किया जाता है. यह आम तौर पर, इसमें कुछ बाइनरी और इनिशलाइज़ेशन स्क्रिप्ट शामिल होती हैं. -ramdisk
system.img सिस्टम इमेज का रीड-ओनली (सिर्फ़ पढ़ने के लिए) वर्शन. खास तौर पर, सिस्टम लाइब्रेरी और एपीआई लेवल से जुड़ा डेटा वाला बंटवारा और वैरिएंट. -system
userdata.img डेटा पार्टीशन का शुरुआती वर्शन, जो इस तरह दिखता है एम्युलेट किए गए सिस्टम में data/ और इसमें देखने में बिताया गया औसत समय एम्युलेटर इस फ़ाइल का इस्तेमाल तब करता है, जब नया एवीडी बनाया जाता है या ‑wipe-data विकल्प. ज़्यादा जानकारी के लिए, देखें नीचे दिए गए सेक्शन में userdata-qemu.img फ़ाइल की जानकारी दी गई है. -initdata
-init-data

एवीडी डेटा डायरेक्ट्री

एवीडी डेटा डायरेक्ट्री को कॉन्टेंट डायरेक्ट्री भी कहा जाता है. यह डायरेक्ट्री, .

यह डिफ़ॉल्ट जगह है, जहां name यह है एवीडी का नाम:

  • macOS और Linux - ~/.android/avd/name.avd/
  • Windows 10 और उसके बाद के वर्शन - C:\Users\user\.android\name.avd\ अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

एवीडी की कोई दूसरी डेटा डायरेक्ट्री बनाने के लिए, -datadir विकल्प का इस्तेमाल करें.

नीचे दी गई टेबल में, इस डायरेक्ट्री में मौजूद सबसे अहम फ़ाइलों की सूची दी गई है:

दूसरी टेबल. एवीडी डेटा डायरेक्ट्री में मौजूद ज़रूरी फ़ाइलें

फ़ाइल ब्यौरा कोई और फ़ाइल जोड़ने का विकल्प
userdata-qemu.img

डेटा पार्टीशन का कॉन्टेंट, जो इसमें data/ के तौर पर दिखता है एम्युलेट किया गया सिस्टम. नया एवीडी बनाने पर या एवीडी को फ़ैक्ट्री डिफ़ॉल्ट पर रीसेट करने का -wipe-data विकल्प, एम्युलेटर, सिस्टम डायरेक्ट्री में मौजूद userdata.img फ़ाइल को इस डिवाइस पर कॉपी करता है: यह फ़ाइल बनाएं.

हर वर्चुअल डिवाइस इंस्टेंस, उपयोगकर्ता और उनकी जानकारी को स्टोर करने के लिए, लिखने लायक उपयोगकर्ता-डेटा इमेज का इस्तेमाल करता है सेशन के हिसाब से डेटा. उदाहरण के लिए, यह किसी यूनीक उपयोगकर्ता की प्रॉपर्टी को सेव करने के लिए, इमेज का इस्तेमाल करता है इंस्टॉल किए गए ऐप्लिकेशन के डेटा, सेटिंग, डेटाबेस, और फ़ाइलों को सेव करता है. हर उपयोगकर्ता के पास यह ANDROID_SDK_HOME की अलग डायरेक्ट्री है, जिसमें एवीडी, जिसे उस उपयोगकर्ता ने बनाया है. हर एवीडी में एक userdata-qemu.img होता है फ़ाइल से लिए जाते हैं.

-data
cache.img कैश मेमोरी का बंटवारा करने वाली इमेज, जोcache/ एम्युलेट किया गया सिस्टम. जब पहली बार एवीडी बनाया जाता है या -wipe-data विकल्प. यह अस्थायी डाउनलोड फ़ाइलें सेव करता है और डाउनलोड मैनेजर और कभी-कभी सिस्टम से अपने-आप जानकारी भर जाती है. उदाहरण के लिए, ब्राउज़र डाउनलोड किए गए वेब पेजों और इमेज को कैश मेमोरी में सेव करने के लिए इसका इस्तेमाल करता है, जबकि एम्युलेटर दौड़ने. वर्चुअल डिवाइस को बंद करने पर, फ़ाइल मिटा दी जाती है. आप -cache विकल्प का इस्तेमाल करके फ़ाइल को सेव करके रखें. -cache
sdcard.img

(ज़रूरी नहीं) एसडी कार्ड के बंटवारे के लिए इस्तेमाल की जाने वाली इमेज, जिससे आपको एसडी कार्ड का सिम्युलेशन इस्तेमाल करने की सुविधा मिलती है किसी वर्चुअल डिवाइस पर कार्ड की जानकारी जोड़ सकते हैं. एवीडी में एसडी कार्ड की इमेज फ़ाइल बनाई जा सकती है मैनेजर या mksdcard का इस्तेमाल करना टूल. फ़ाइल आपके डेवलपमेंट कंप्यूटर पर सेव की जाती है और इसे शुरू करें.

एवीडी मैनेजर में एवीडी तय करते समय, आपके पास अपने-आप मैनेज होने वाले एसडी कार्ड की फ़ाइल या ऐसी किसी फ़ाइल का इस्तेमाल करने के लिए जिसे आपने बनाया है mksdcard टूल. आपके पास sdcard.img फ़ाइल देखने का विकल्प है AVD मैनेजर में किसी AVD के साथ जुड़ा हुआ है. -sdcard विकल्प AVD में दर्ज एसडी कार्ड फ़ाइल को ओवरराइड करता है. ध्यान दें कि एसडी कार्ड का यह विकल्प, Mac पर Apple Silicon के साथ काम नहीं करेगा.

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

एसडी कार्ड की फ़ाइल लोड करने से पहले, उसमें मौजूद फ़ाइलों को कॉपी करने के लिए, इमेज को माउंट करें लूप डिवाइस के रूप में फ़ाइल और फिर फ़ाइलों को कॉपी करें. या किसी सुविधा का इस्तेमाल करने के लिए, फ़ाइलों को सीधे इमेज पर कॉपी करने के लिए, mtools पैकेज.

एम्युलेटर, फ़ाइल को बाइट का पूल मानता है, इसलिए एसडी कार्ड फ़ॉर्मैट बात.

-wipe-data विकल्प से इस फ़ाइल पर कोई असर नहीं पड़ता. अगर आपको फ़ाइल को साफ़ करना, फ़ाइल हटाना और फिर इसका उपयोग करते हुए इसे फिर से बनाना चाहते हैं AVD मैनेजर या mksdcard टूल. फ़ाइल का साइज़ बदलना फ़ाइल को मिटा कर एक नई फ़ाइल भी बनाई जा सकती है.

-sdcard

एम्युलेटर के लिए इस्तेमाल की गई डायरेक्ट्री और फ़ाइलों की सूची बनाएं

आप दो तरीकों से पता लगा सकते हैं कि फ़ाइलें कहां मौजूद हैं:

  • इसका इस्तेमाल करें -verbose या -debug init विकल्प, जब आप एम्युलेटर को यहां से शुरू करते हैं: कमांड लाइन लिखें. आउटपुट देखें.
  • emulator -help-option कमांड का इस्तेमाल करके डिफ़ॉल्ट डायरेक्ट्री बनाने के लिए. उदाहरण के लिए:
    emulator -help-datadir
    Use '-datadir <dir>' to specify a directory where writable image files will be searched. On this system, the default directory is: /Users/me/.android See '-help-disk-images' for more information about disk image files.

कमांड लाइन शुरू करने के विकल्प

इस सेक्शन में वे विकल्प दिए गए हैं जो कमांड लाइन में दिए जा सकते हैं. एम्युलेटर.

ध्यान दें: Android Emulator पर लगातार काम चल रहा है, ताकि उसे और भरोसेमंद बनाना. अलग-अलग कमांड-लाइन विकल्पों के लिए रिपोर्ट की गई समस्याओं की स्थिति के लिए और बग की रिपोर्ट करने के लिए, Android समस्या को ट्रैक करने वाला टूल.

आम तौर पर इस्तेमाल होने वाले विकल्प

नीचे दी गई टेबल में, ऐसे कमांड लाइन स्टार्टअप विकल्प दिए गए हैं जिनका इस्तेमाल अक्सर किया जाता है:

तीसरी टेबल. आम तौर पर इस्तेमाल होने वाले कमांड लाइन विकल्प

कमांड लाइन का विकल्प ब्यौरा
क्विक बूट
-no-snapshot-load कोल्ड बूट करता है और बाहर निकलने पर एम्युलेटर स्थिति को सेव करता है.
-no-snapshot-save अगर मुमकिन हो, तो तुरंत चालू होता है. हालांकि, बाहर निकलने पर एम्युलेटर की स्थिति सेव नहीं होती.
-no-snapshot इससे क्विक बूट की सुविधा पूरी तरह बंद हो जाती है. साथ ही, यह एम्युलेटर की स्थिति को लोड या सेव नहीं करती.
डिवाइस हार्डवेयर
-camera-back mode
-camera-front mode
इस मोड में, पीछे या सामने वाले कैमरे के लिए एम्युलेशन मोड सेट किया जाता है. इससे कैमरे की सभी सेटिंग बदल जाती हैं ट्रैक कर रहे हैं.

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 नाम, डेवलपमेंट कंप्यूटर पर इस्तेमाल होने वाले ओएस के लिए इस्तेमाल होता है. कॉन्टेंट बनाने ओएस के हिसाब से, दूसरा नाम अलग-अलग होता है.

SDK टूल के टूल 25.2.4 के बाद से, एवीडी का नाम डालना ज़रूरी है.

डिस्क की इमेज और मेमोरी
-memory size

फ़ोन की रैम का साइज़ तय करता है. यह 1536 से 8, 192 एमबी तक का हो सकता है. उदाहरण के लिए:

emulator @Pixel8_API_34 -memory 2048

यह वैल्यू, एवीडी की सेटिंग को बदल देती है.

-sdcard filepath यह एसडी कार्ड पार्टिशन वाली इमेज फ़ाइल का फ़ाइल नाम और पाथ के बारे में बताता है. इसके लिए उदाहरण:

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

अगर फ़ाइल नहीं मिलती है, तब भी एम्युलेटर लॉन्च होगा, लेकिन वह एसडी कार्ड के बिना ही लॉन्च होगा. यह निर्देश एसडी कार्ड की कोई इमेज नहीं है की चेतावनी दिखाता है.

अगर आप यह विकल्प नहीं चुनते, तो sdcard.img डिफ़ॉल्ट हो जाता है में रखा है, जब तक कि एवीडी में कोई बदलाव न हो. एम्युलेट किए गए एसडी कार्ड के बारे में ज़्यादा जानकारी के लिए, एवीडी डेटा डायरेक्ट्री देखें.

-wipe-data उपयोगकर्ता का डेटा मिटाता है और शुरुआती डेटा फ़ाइल से डेटा कॉपी करता है. यह विकल्प वर्चुअल डिवाइस के डेटा को साफ़ करता है और वापस उसी स्थिति में वापस ले जाता है जिसमें पहले परिभाषित किया गया था. इंस्टॉल किए गए सभी ऐप्लिकेशन और सेटिंग हटा दी जाती हैं. उदाहरण के लिए:

emulator @Pixel8_API_34 -wipe-data

डिफ़ॉल्ट रूप से, उपयोगकर्ता के डेटा की फ़ाइल userdata-qemu.img और नाम का पहला अक्षर होती है डेटा फ़ाइल userdata.img है. ये दोनों फ़ाइलें, डेटा डायरेक्ट्री में मौजूद होती हैं. -wipe-data विकल्प से sdcard.img पर कोई असर नहीं पड़ता फ़ाइल से लिए जाते हैं. उपयोगकर्ता डेटा के बारे में अधिक जानकारी के लिए, डिफ़ॉल्ट डायरेक्ट्री और फ़ाइलें.

डीबग
-debug tags इससे एक या इससे ज़्यादा टैग के लिए, डीबग मैसेज दिखाने की सुविधा चालू या बंद होती है. एक से ज़्यादा टैग को स्पेस, कॉमा या कॉलम से अलग करें. उदाहरण के लिए:

$ emulator @Pixel8_API_34 -debug init,metrics

किसी टैग को बंद करने के लिए, उसके आगे एक डैश (-) लगाएं. उदाहरण के लिए, निम्न विकल्प, नेटवर्क सॉकेट से जुड़े डीबग मैसेज को छोड़कर सभी डीबग मैसेज दिखाता है और मेट्रिक:

-debug all,-socket,-metrics

टैग और जानकारी की सूची के लिए, -help-debug-tags का इस्तेमाल करें का विकल्प शामिल है. उदाहरण के लिए:

emulator -help-debug-tags

डिफ़ॉल्ट डीबग टैग यहां तय किए जा सकते हैं: ANDROID_VERBOSE एनवायरमेंट वैरिएबल. वे टैग तय करें जिनका इस्तेमाल आपको कॉमा-डीलिमिटेड सूची के तौर पर करना है. यहां एक उदाहरण दिया गया है, जिसमें socket और gles टैग:

ANDROID_VERBOSE=socket,gles

इसका इस्तेमाल करना समान है:

-debug-socket -debug-gles

या

-debug socket,gles

-debug-tag
-debug-no-tag
डीबग के किसी खास तरह के मैसेज को चालू करता है. no फ़ॉर्म का इस्तेमाल करके डीबग मैसेज टाइप को बंद करें. उदाहरण के लिए:

emulator @Pixel8_API_34 -debug-all -debug-no-metrics

टैग की सूची के लिए, emulator -help-debug-tags निर्देश का इस्तेमाल करें.

-logcat logtags यह नीति एक या उससे ज़्यादा टैग और लिखने के लिए, Logcat मैसेज दिखाने की सुविधा चालू करती है उन्हें टर्मिनल विंडो पर ले जाएगा. उदाहरण के लिए, नीचे दिया गया कमांड गड़बड़ी को चालू करता है सभी कॉम्पोनेंट से मिले मैसेज:

emulator @Pixel8_API_34 -logcat *:e

logtags, adb logcat logtags कमांड वाले फ़ॉर्मैट का ही इस्तेमाल करता है. ज़्यादा जानकारी के लिए, adb logcat -help डालें जानकारी. इस सूची में, स्पेस या कॉमा लगाकर अलग किए गए, फ़ॉर्मैट के लॉग फ़िल्टर दिए गए हैं componentName:logLevel. componentName अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है एक वाइल्डकार्ड तारे का निशान (*) या एक घटक नाम है, जैसे ActivityManager, SystemServer, InputManager, या WindowManager.

logLevel इनमें से एक वैल्यू है:

  • v - ज़्यादा शब्दों में जानकारी
  • d - डीबग
  • i - जानकारी देने वाला
  • w - चेतावनी लॉग लेवल
  • e - गड़बड़ी
  • s - साइलेंट

इस उदाहरण में, जानकारी देने वाले पेज पर जीएसएम कॉम्पोनेंट वाले मैसेज दिखाए गए हैं लॉग लेवल:

emulator @Pixel8_API_34 -logcat '*:s GSM:i'

अगर आप कमांड लाइन पर -logcat विकल्प नहीं देते हैं, तो एम्युलेटर यह देखता है कि ANDROID_LOG_TAGS एनवायरमेंट वैरिएबल. अगर ANDROID_LOG_TAGS को यह वैल्यू logtags है और यह खाली नहीं है. एम्युलेटर इसकी वैल्यू का इस्तेमाल करता है का इस्तेमाल करें. आपके पास यह विकल्प भी है: adb के ज़रिए टर्मिनल को भेजे गए वही या अन्य लॉग मैसेज.

ज़्यादा के लिए Logcat और adb के बारे में जानकारी, Logcat देखें कमांड-लाइन टूल, देखें और लिखें Logcat के साथ लॉग करता है, Log क्लास और समस्या adb आदेश.

-show-kernel टर्मिनल विंडो में कर्नेल डीबग मैसेज दिखाता है. उदाहरण के लिए:

emulator @Pixel8_API_34 -show-kernel

इस विकल्प का एक इस्तेमाल यह जांचने के लिए है कि बूट प्रोसेस ठीक से काम कर रही है या नहीं.

-verbose एम्युलेटर विंडो पर एम्युलेटर के शुरू होने के मैसेज प्रिंट करता है. इसके लिए उदाहरण:

emulator @Pixel8_API_34 -verbose

यह दिखाता है कि एवीडी में तय किया गया वर्चुअल डिवाइस. यह विकल्प और इसे -debug-init.

नेटवर्क
-dns-server servers बताए गए डीएनएस सर्वर का इस्तेमाल करता है. servers ज़्यादा से ज़्यादा चार डीएनएस सर्वर के नामों या आईपी पतों की कॉमा-सेपरेटेड लिस्ट. इसके लिए उदाहरण:
emulator @Pixel8_API_34 -dns-server 192.0.2.0,
192.0.2.255

डिफ़ॉल्ट रूप से, एम्युलेटर आपके इस्तेमाल किए जा रहे डीएनएस सर्वर का पता लगाने की कोशिश करता है. साथ ही, यह उन सर्वर को सेट करता है एम्युलेट किए गए फ़ायरवॉल नेटवर्क में, Android सिस्टम को अनुमति देने के लिए खास उपनामों को का इस्तेमाल किया जा सकता है. पूरी जानकारी देने के लिए, -dns-server विकल्प का इस्तेमाल करें खोज कर सकते हैं.

-http-proxy proxy एक खास एचटीटीपी/एचटीटीपीएस प्रॉक्सी के ज़रिए सभी टीसीपी कनेक्शन बनाता है. अगर आपके एम्युलेटर को किसी प्रॉक्सी सर्वर से इंटरनेट ऐक्सेस करना होगा, ताकि आप विकल्प या 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 - एचएससीएसडी (कम से कम 80, ज़्यादा से ज़्यादा 400).
  • gprs - जीपीआरएस (कम से कम 35, ज़्यादा से ज़्यादा 200).
  • edge - EDGE/EGPRS (कम से कम 80, ज़्यादा से ज़्यादा 400).
  • umts - यूएमटीएस/3G (कम से कम 35, ज़्यादा से ज़्यादा 200).
  • hsdpa - एचएसडीपीए (कम से कम 0, ज़्यादा से ज़्यादा 0).
  • lte - LTE (कम से कम 0, ज़्यादा से ज़्यादा 0).
  • 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 - एचएससीएसडी (ऊपर: 14.4, कम: 57.6).
  • gprs - जीपीआरएस (28.8 से कम: 57.6).
  • edge - EDGE/EGPRS (ऊपर की ओर से: 473.6 और नीचे की ओर: 473.6).
  • umts - UMTS/3G (ऊपर: 384.0, नीचे: 384.0).
  • hsdpa - एचएसडीपीए (ऊपर: 5760.0, कम: 13,980.0).
  • lte - LTE (58,000 तक और कम: 1, 73,000).
  • evdo - ईवीडीओ (75,000 से कम: 2, 80,000).
  • full - कोई सीमा नहीं, डिफ़ॉल्ट (ऊपर: 0.0, कम: 0.0).
  • num - अपलोड और डाउनलोड, दोनों की स्पीड के बारे में जानकारी देती है.
  • up:down - व्यक्तिगत अप और डाउन के बारे में बताता है गति.

उदाहरण के लिए:

emulator @Pixel8_API_34 -netspeed edge

एम्युलेटर, नेटवर्क थ्रॉटलिंग और ज़्यादा कनेक्शन के इंतज़ार के समय के साथ काम करता है. इसे स्किन कॉन्फ़िगरेशन या ‑netspeed और -netdelay विकल्प.

-port port यह नीति, कंसोल और 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 server इसके बाद शुरू होता है, तो adb devices निर्देश का इस्तेमाल करें एम्युलेटर पर जा सकते हैं. इसी वजह से, हमारा सुझाव है कि आप सम कंसोल पोर्ट नंबर का इस्तेमाल करें.

-ports
console-port,adb-port
यह कंसोल और 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 जैसे टूल का इस्तेमाल किया जा सकता है. का इस्तेमाल किया जा सकता है.

ध्यान दें कि यह विकल्प सभी ईथरनेट पैकेट कैप्चर करता है. यह टीसीपी तक ही सीमित नहीं है कनेक्शन.

सिस्टम
-accel mode एम्युलेटर वीएम एक्सेलरेटर को कॉन्फ़िगर करता है. उदाहरण के लिए:

emulator @Pixel8_API_34 -accel auto

एक्सेलरेटेड एम्युलेशन सिर्फ़ x86 और x86_64 सिस्टम इमेज के लिए काम करता है. Linux पर, यह केवीएम का इस्तेमाल करता है. Windows और Mac पर, यह Intel सीपीयू और Intel HAXM का इस्तेमाल करता है ड्राइवर. अगर x86 या x86_64 डिवाइस को एम्युलेट नहीं किया जा रहा है, तो इस विकल्प को अनदेखा कर दिया जाता है.

mode फ़ंक्शन के लिए मान्य वैल्यू ये हैं:

  • auto - अपने-आप पता लगाता है कि त्वरण समर्थित है या नहीं और संभव होने पर इसका उपयोग करता है (डिफ़ॉल्ट).
  • off - इससे तेज़ी लाने की सुविधा पूरी तरह बंद हो जाती है, जो मुख्य तौर पर काम की होती है का इस्तेमाल करें.
  • on - इससे रफ़्तार बढ़ती है. अगर केवीएम या HAXM इंस्टॉल नहीं किया गया है या इस्तेमाल करने लायक बनाते हैं, तो एम्युलेटर शुरू नहीं होगा और गड़बड़ी का एक मैसेज प्रिंट कर देगा.

ज़्यादा जानकारी के लिए, कॉन्फ़िगर करें Android Emulator के लिए हार्डवेयर से तेज़ी लाने की सुविधा.

-accel-check यह जांच करता है कि एम्युलेटर वीएम एक्सेलरेटर के लिए ज़रूरी हाइपरवाइज़र है या नहीं (HAXM या KVM) इंस्टॉल किया गया हो. उदाहरण के लिए:

emulator -accel-check

ज़्यादा जानकारी के लिए, देखें कि हायपरवाइज़र इंस्टॉल किया गया है या नहीं.

-engine engine

एम्युलेटर इंजन के बारे में जानकारी देता है:

  • auto - इंजन को अपने-आप चुनता है (डिफ़ॉल्ट).
  • classic - पुराने QEMU 1 इंजन का इस्तेमाल करता है (अब सेवा में नहीं है).
  • qemu2 - इसमें नए QEMU 2 इंजन का इस्तेमाल किया जाता है.

उदाहरण के लिए:

emulator @Pixel8_API_34 -engine auto

अपने-आप पहचान करने की सुविधा में वह वैल्यू चुनी जानी चाहिए जो सबसे अच्छी परफ़ॉर्मेंस देती है. ऐसा तब होता है, जब एवीडी की नकल करते हैं. इसके लिए, -engine विकल्प का इस्तेमाल करें सिर्फ़ डीबग करने और तुलना करने के मकसद से.

-gpu mode जीपीयू एम्युलेशन मोड को चुनता है. उदाहरण के लिए:

emulator @Pixel8_API_34 -gpu swiftshader_indirect

ज़्यादा जानकारी के लिए, ग्राफ़िक एक्सेलरेटर को कॉन्फ़िगर करना लेख पढ़ें.

-no-accel x86 या x86_64 सिस्टम का इस्तेमाल करने पर, एम्युलेटर वीएम की रफ़्तार बढ़ाने की सुविधा बंद करता है इमेज. यह सिर्फ़ डीबग करने के लिए सही होती है. साथ ही, यह -accel off को तय करने के समान होती है. उदाहरण के लिए:

emulator @Pixel8_API_34 -no-accel

ज़्यादा जानकारी के लिए, कॉन्फ़िगर करें Android Emulator के लिए हार्डवेयर से तेज़ी लाने की सुविधा.

-nojni
-no-jni
यह नीति, Android Delvik पर एक्सटेंडेड Java नेटिव इंटरफ़ेस (जेएनआई) की जांच की सुविधा बंद करती है या ART रनटाइम. उदाहरण के लिए:

emulator @Pixel8_API_34 -nojni

वर्चुअल डिवाइस को शुरू करने पर, ज़्यादा समय तक चलने वाली जेएनआई जांच की सुविधा डिफ़ॉल्ट रूप से चालू हो जाती है. इसके लिए ज़्यादा जानकारी के लिए, JNI देखें सलाह देखें.

-selinux {disabled|permissive} सुरक्षा की बेहतर सुविधा वाला Linux (SELinux) सेट करता है Linux ऑपरेटिंग पर, सुरक्षा मॉड्यूल को disabled या permissive मोड पर सेट करता है सिस्टम. उदाहरण के लिए:

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 - इससे टच और मल्टी-टच स्क्रीन की सुविधा बंद हो जाती है एम्युलेटर.

अतिरिक्त सेटिंग

नीचे दी गई टेबल में, कमांड लाइन स्टार्टअप के विकल्प उपलब्ध हैं. हालांकि, आम तौर पर इनका इस्तेमाल नहीं किया जाता औसत ऐप्लिकेशन डेवलपर से लिया जाता है.

ब्यौरे में, वर्किंग डायरेक्ट्री, Google की मौजूदा डायरेक्ट्री है टर्मिनल जहां आप कमांड डाल रहे हैं. एवीडी के बारे में जानकारी पाने के लिए सिस्टम डायरेक्ट्री, डेटा डायरेक्ट्री, और सेव की गई फ़ाइलें उनमें, डिफ़ॉल्ट डायरेक्ट्री और फ़ाइलों वाला सेक्शन देखें.

इनमें से कुछ विकल्प बाहरी ऐप्लिकेशन डेवलपर के लिए सही हैं और कुछ इनका इस्तेमाल मुख्य रूप से प्लैटफ़ॉर्म डेवलपर करते हैं. ऐप्लिकेशन डेवलपर की मदद से Android ऐप्लिकेशन बनाए जा सकते हैं और उन्हें खास एवीडी पर चलाया जा सकता है. प्लैटफ़ॉर्म डेवलपर इन प्लैटफ़ॉर्म पर काम करते हैं साथ ही, इसे एम्युलेटर के अंदर चलाएं और पहले से बनी किसी एवीडी की सुविधा का इस्तेमाल न करें.

टेबल 4. कमांड लाइन के बेहतर विकल्प

उन्नत विकल्प संक्षिप्त विवरण
-bootchart timeout

बूटचार्ट करने की सुविधा को कुछ ही सेकंड में चालू कर देता है. कुछ Android सिस्टम इमेज में एक ऐसा इनिट सिस्टम है जिसमें बदलाव किया गया है, जो बूटचार्टिंग की सुविधा को इंटिग्रेट करता है. आप इस विकल्प से सिस्टम में बूटचार्टिंग टाइम आउट की अवधि. अगर आपका init सिस्टम है, तो में बूटचार्टिंग सक्रिय नहीं है, इस विकल्प से कुछ नहीं होता. यह विकल्प है मुख्य रूप से प्लैटफ़ॉर्म डेवलपर के लिए उपयोगी होती है, बाहरी ऐप्लिकेशन डेवलपर के लिए नहीं.

उदाहरण के लिए:

emulator @Pixel8_API_34 -bootchart 120
-cache filepath

इस नीति से, कैश मेमोरी के बंटवारे की इमेज फ़ाइल के बारे में जानकारी मिलती है. फ़ाइल नाम और ऐब्सलूट, परसिस्टेंट कैश मेमोरी सेट अप करने के लिए, डेटा डायरेक्ट्री से मिलता-जुलता पाथ या पाथ फ़ाइल से लिए जाते हैं. अगर फ़ाइल मौजूद नहीं है, तो एम्युलेटर इसे एक खाली फ़ाइल के रूप में बनाता है.

उदाहरण के लिए:

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

अगर आप इस विकल्प का उपयोग नहीं करते हैं, तो डिफ़ॉल्ट फ़ाइल नाम cache.img. ज़्यादा जानकारी के लिए, एवीडी डेटा देखें डायरेक्ट्री में उपलब्ध है.

-cache-size size

कैश मेमोरी के बंटवारे का साइज़, एमबी में सेट करता है.

उदाहरण के लिए:

emulator @Pixel8_API_34 -cache-size 1000

अगर आपको यह विकल्प तय करने पर, डिफ़ॉल्ट रूप से यह 66 एमबी में सेव हो जाता है. आम तौर पर, ज़्यादातर ऐप्लिकेशन डेवलपर को इस विकल्प की ज़रूरत नहीं होती. अगर उन्हें बहुत बड़ी फ़ाइलें डाउनलोड करने की ज़रूरत नहीं है, तो वे डिफ़ॉल्ट साइज़ से बड़ी फ़ाइलें डाउनलोड कर सकती हैं कैश मेमोरी. कैश मेमोरी के बारे में ज़्यादा जानकारी पाने के लिए फ़ाइल में, एवीडी डेटा डायरेक्ट्री देखें.

-data filepath

यह नीति, उपयोगकर्ता के डेटा के बंटवारे की इमेज फ़ाइल सेट करती है. यह फ़ाइल नाम और किसी पैरामीटर को सेट अप करने के लिए, ऐब्सलूट पाथ या ऐक्टिव डायरेक्ट्री से मिलता-जुलता पाथ उपयोगकर्ता के डेटा की स्थायी फ़ाइल. अगर फ़ाइल मौजूद नहीं है, तो एम्युलेटर डिफ़ॉल्ट userdata.img फ़ाइल की इमेज. इसे फ़ाइल नाम में सेव किया जाता है और इसके बंद रहने के दौरान भी उपयोगकर्ता का डेटा बना रहता है.

उदाहरण के लिए:

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

अगर आप इस विकल्प का इस्तेमाल नहीं करते, तो डिफ़ॉल्ट रूप से userdata-qemu.img फ़ाइल होती है. उपयोगकर्ता के डेटा वाली फ़ाइल के बारे में ज़्यादा जानने के लिए, एवीडी डेटा देखें डायरेक्ट्री में उपलब्ध है.

-datadir dir

ऐब्सलूट पाथ का इस्तेमाल करके, डेटा डायरेक्ट्री के बारे में बताता है. ज़्यादा जानकारी के लिए, एवीडी डेटा डायरेक्ट्री देखें.

उदाहरण के लिए:

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

यह 64-बिट प्लैटफ़ॉर्म पर 32-बिट एम्युलेटर का इस्तेमाल करता है. कभी-कभी, यह विकल्प परीक्षण या डीबगिंग के लिए उपयोगी. उदाहरण के लिए, कोई समस्या थी जहां एम्युलेटर, कभी-कभी 64-बिट Windows पर नहीं चलता, लेकिन 32-बिट चलता है. यह विकल्प से समस्या को डीबग करने के लिए तुलना करने में मदद मिली. यह रही उदाहरण:

emulator @Pixel8_API_34 -force-32bit
-help-disk-images

डिस्क इमेज के बारे में सहायता मिलती है. यह विकल्प इसके लिए प्रासंगिक जानकारी देता है: दोनों ऐप्लिकेशन और प्लैटफ़ॉर्म डेवलपर के लिए उपलब्ध है. उदाहरण के लिए:

emulator -help-disk-images
-help-char-devices

इस जानकारी से, वर्ण device की खास बातों के बारे में सहायता मिलती है. ऐप्लिकेशन एम्युलेटर के कुछ विकल्पों के लिए, device पैरामीटर ज़रूरी है. उदाहरण के लिए:

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

इससे ऐप्लिकेशन डेवलपर के लिए काम की डिस्क इमेज के बारे में सहायता मिलती है. इस विकल्प को इस बारे में जानकारी कि एवीडी के लिए इमेज फ़ाइलें कहां मौजूद हैं. 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

अगर आपने कोई पाथ सेट नहीं किया है, तो फ़ाइल को सिस्टम डायरेक्ट्री में सेव कर दिया जाता है. ज़्यादा के लिए जानकारी के लिए, एवीडी सिस्टम डायरेक्ट्री देखें.

-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 को चुना जाता है. ज़्यादा के लिए जानकारी के लिए, एवीडी सिस्टम डायरेक्ट्री देखें.

-noaudio
-no-audio

इससे इस वर्चुअल डिवाइस पर ऑडियो की सुविधा बंद हो जाती है. कुछ Linux और Windows कंप्यूटर में ख़राब ऑडियो ड्राइवर होते हैं जो अलग-अलग लक्षण पैदा करते हैं, जैसे एम्युलेटर को चालू होने से रोकता है. इस मामले में, इस विकल्प का इस्तेमाल इन कामों के लिए करें हम समस्या से निपटते हैं. इसके अलावा, आपके पास QEMU_AUDIO_DRV का इस्तेमाल करने का भी विकल्प है एनवायरमेंट वैरिएबल का इस्तेमाल करें.

उदाहरण के लिए:

emulator @Pixel8_API_34 -noaudio
-nocache
-no-cache

कैश पार्टीशन के बिना एम्युलेटर को शुरू करता है. अगर आपने इसका इस्तेमाल विकल्प है, तो डिफ़ॉल्ट रूप से cache.img नाम की अस्थायी फ़ाइल होती है. यह यह विकल्प सिर्फ़ प्लैटफ़ॉर्म डेवलपर के लिए है. ज़्यादा जानकारी के लिए, एवीडी डेटा डायरेक्ट्री देखें.

उदाहरण के लिए:

emulator @Pixel8_API_34 -nocache
-no-snapshot

यह एम्युलेटर को अपने-आप लोड करने और सेव करने की प्रोसेस को रोकता है, जिसकी वजह से का इस्तेमाल करें. यह -snapshot विकल्प.

उदाहरण के लिए:

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

यह एम्युलेटर को स्नैपशॉट स्टोरेज से AVD स्थिति लोड करने से रोकता है. पूरा बूट करता है.

उदाहरण के लिए:

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

यह एम्युलेटर को एवीडी स्थिति को स्नैपशॉट स्टोरेज में सेव करने से रोकता है बाहर निकलें, इसका अर्थ है कि सभी परिवर्तन खो जाएंगे.

उदाहरण के लिए:

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

स्नैपशॉट वापस लाने पर, एवीडी घड़ी के समय को तुरंत ठीक करने की कोशिश नहीं करता. यह विकल्प, टेस्टिंग के दौरान काम आ सकता है, क्योंकि यह अचानक समय बढ़ने से बचाता है. समय के अपडेट अब भी एवीडी को हर 15 सेकंड पर भेजे जाते हैं.

उदाहरण के लिए:

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

किसी फ़ाइल को स्टोर या लोड करने के लिए माउंट किए बिना, एम्युलेटर को शुरू करता है स्नैपशॉट, पूरे बूट के लिए मजबूर करना और स्टेट स्नैपशॉट फ़ंक्शन को बंद करना. यह विकल्प, -snapstorage और -snapshot को बदल देता है के विकल्प.

उदाहरण के लिए:

emulator @Pixel8_API_34 -no-snapstorage
-no-window

एम्युलेटर पर ग्राफ़िकल विंडो डिसप्ले बंद करता है. यह विकल्प काम का है बिना डिसप्ले वाले सर्वर पर एम्युलेटर को चलाते समय एम्युलेटर को इसके ज़रिए ऐक्सेस किया जा सकता है: adb या console. उदाहरण के लिए:

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 फ़ाइल है. ज़्यादा के लिए जानकारी के लिए, एवीडी सिस्टम डायरेक्ट्री देखें.

-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 (या macOS पर Command-C) दबाएं.

उदाहरण के लिए:

emulator @Pixel8_API_34 -shell
-snapshot name

यह नीति स्नैपशॉट के स्टोरेज फ़ाइल में मौजूद स्नैपशॉट का नाम अपने-आप तय करती है कार्रवाइयों को शुरू और सेव करें.

एक पूरा बूट क्रम लागू करने के बजाय, एम्युलेटर, पुरानी स्थिति के स्नैपशॉट से फिर से एक्ज़ीक्यूशन कर सकता है जो कि काफ़ी तेज़ी से काम करता है. यह विकल्प देने पर, एम्युलेटर स्नैपशॉट इमेज से उस नाम का स्नैपशॉट लोड करता है और उसे वापस सेव करता है बाहर निकलने पर उसी नाम के नीचे.

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

ज़्यादा जानकारी के लिए, -snapstorage विकल्प देखें स्नैपशॉट स्टोरेज फ़ाइल और डिफ़ॉल्ट फ़ाइल तय करने में मदद मिलती है.

emulator @Pixel8_API_34 -snapshot snapshot2

याद रखें कि स्नैपशॉट लोड करने की प्रोसेस में, सिस्टम का कॉन्टेंट, उपयोगकर्ता का डेटा, और एसडी कार्ड की इमेज ओवरराइट हो जाती हैं के हिसाब से फ़िल्टर किया गया है. जब तक कि आप सेव न कर लें इस जानकारी को किसी दूसरे स्नैपशॉट में रिकॉर्ड नहीं किया जा सकता, तो इसके बाद के सभी बदलाव मिट जाएंगे.

एम्युलेटर कंसोल से स्नैपशॉट लेने के लिए, avd snapshot save name निर्देश. ज़्यादा जानकारी के लिए, यह देखें एम्युलेटर कंसोल के निर्देश भेजें.

-snapshot-list

उपलब्ध स्नैपशॉट की सूची दिखाता है. यह निर्देश, स्नैपशॉट की एक टेबल प्रिंट करता है जो एम्युलेटर की शुरू की गई स्नैपशॉट स्टोरेज फ़ाइल में सेव हों के साथ, फिर बाहर निकल जाता है. अगर आपने -snapstorage file तय किया है, तो साथ ही, यह कमांड फ़ाइल में सेव किए गए स्नैपशॉट की एक टेबल को प्रिंट करता है.

उदाहरण के लिए:

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

आउटपुट में आईडी और 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 फ़ाइल है. ज़्यादा के लिए जानकारी के लिए, एवीडी सिस्टम डायरेक्ट्री देखें.

-use-system-libs

Linux पर, बंडल किए गए वर्शन के बजाय libstdc++ सिस्टम का इस्तेमाल करता है को एम्युलेटर सिस्टम से कनेक्ट किया गया. इस विकल्प का इस्तेमाल सिर्फ़ तब करें, जब एम्युलेटर सामान्य रूप से चालू न हो. साथ ही, ध्यान दें कि यह हमेशा काम नहीं करता है. वैकल्पिक रूप से, यह ANDROID_EMULATOR_USE_SYSTEM_LIBS एनवायरमेंट वैरिएबल 1 पर सेट किया गया.

उदाहरण के लिए:

me-linux$ emulator @Pixel8_API_34 -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

टर्मिनल विंडो में एनवायरमेंट वैरिएबल सेट करने के बाद ही वर्चुअल डिवाइस का इस्तेमाल किया जा सकता है या ऑपरेटिंग सिस्टम में इसे अपनी उपयोगकर्ता सेटिंग की मदद से सेट किया जा सकता है सिस्टम. उदाहरण के लिए, इसे Linux पर अपनी .bashrc फ़ाइल में सेट करें.

डीबग टैग की सूची बनाएं

-debug विकल्पों के लिए टैग की सूची प्रिंट करने के लिए, यह निर्देश डालें:

emulator -help-debug-tags

-debug विकल्पों की मदद से, डीबग मैसेज को चालू या बंद किया जा सकता है एक खास एम्युलेटर कॉम्पोनेंट का इस्तेमाल करें, जैसा कि टैग में बताया गया है.