Android Emulator से जुड़ी सामान्य समस्याओं को हल करना

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

सामान्य समस्याएं


Android एमुलेटर के एक्सटेंडेड कंट्रोल में Google Maps नहीं दिख रहा है

Android एमुलेटर के 34.2.13 से पहले के वर्शन में, मई के मध्य से एक्सटेंडेड कंट्रोल में Google Maps काम नहीं करेगा. पुराने एमुलेटर, Chromium के ऐसे वर्शन के साथ शिप होते हैं जो Google Maps JavaScript API के साथ काम नहीं करता.

देखें कि डिस्क में ज़रूरत के मुताबिक जगह है या नहीं

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

एंटी-वायरस सॉफ़्टवेयर

कई सुरक्षा और एंटीवायरस सॉफ़्टवेयर पैकेज, हर पढ़ने और लिखने के ऑपरेशन को मॉनिटर करके काम करते हैं. ऐसे सॉफ़्टवेयर का इस्तेमाल करने से, Android एमुलेटर जैसे टूल की परफ़ॉर्मेंस पर असर पड़ सकता है.

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

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

ऐसा हो सकता है कि कुछ एंटीवायरस सॉफ़्टवेयर, Android Emulator के साथ काम न करें.

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

Windows पर, कभी-कभी HAXM के साथ AVD फ़्रीज़ हो जाता है. इस समस्या को हल करने के लिए, McAfee को पूरी तरह से अनइंस्टॉल करें.

Windows: खाली रैम और कमिट शुल्क

एम्युलेटर शुरू होने पर, उसे Android मेहमान ऑपरेटिंग सिस्टम की रैम शुरू करनी होगी. Windows पर, एम्युलेटर का अनुरोध है कि शुरुआत के समय पर मेहमान मेमोरी का पूरा साइज़, Windows के लिए उपलब्ध हो. हालांकि, असल में इस्तेमाल के दौरान, मेमोरी को मांग पर पेज किया जा सकता है. एमुलेटर, शुरू होने के समय पूरी मेहमान मेमोरी का अनुरोध करता है, क्योंकि Windows यह पक्का करने के लिए सतर्क रहता है कि पूरे संभावित वर्किंग सेट को सेव करने के लिए, ज़रूरत के मुताबिक फ़िज़िकल रैम और पेजफ़ाइल उपलब्ध हो. यह अनुरोध, सबसे खराब स्थिति के लिए तैयार किया जाता है. इसमें मेहमान की सभी मेमोरी को तुरंत ऐक्सेस किया जाता है. साथ ही, मेमोरी को खाली करने या किसी दूसरे तरीके से इस्तेमाल करने का कोई मौका नहीं मिलता.

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

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

तय सीमा पार करने की संभावना को कई तरीकों से कम करने के लिए:

  • एम्युलेटर लॉन्च करने से पहले, इस्तेमाल न किए जा रहे ऐप्लिकेशन और फ़ाइलों को बंद करके, फ़िज़िकल रैम खाली करें.
  • यह विकल्प, तीसरे पक्ष की मेमोरी मैनेजमेंट और मेमोरी कंप्रेस करने की सुविधाओं को बंद करता है. इन टूल की वजह से, कमिट करने के लिए ज़्यादा शुल्क लिया जा सकता है. साथ ही, आपके सिस्टम में कमिट करने की सीमा भी कम हो सकती है.
  • Windows pagefile के लिए, सिस्टम से मैनेज किए जाने वाले साइज़ का इस्तेमाल करें. इससे पेज फ़ाइल का साइज़ ज़रूरत के हिसाब से और डाइनैमिक तरीके से बढ़ सकता है. इससे एम्युलेटर और अन्य ऐप्लिकेशन से मिलने वाली मांग को देखते हुए, तय सीमा भी बढ़ सकती है.

    शुल्कों के लिए कमिटमेंट करने और ज़रूरत के हिसाब से सेटिंग इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Microsoft का यह लेख पढ़ें.

टूल विंडो में मल्टी-टच काम नहीं करता

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

ब्लूटूथ ऑडियो आउटपुट की क्वालिटी खराब हो जाती है

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

इस समस्या से बचने के लिए, Android वर्चुअल डिवाइस (एवीडी) की config.ini फ़ाइल में hw.audioInput=no जोड़कर, एम्युलेटर में माइक्रोफ़ोन को बंद करें. किसी AVD की config.ini फ़ाइल ढूंढने के लिए, डिवाइस मैनेजर में AVD पर जाएं. इसके बाद, उसके ओवरफ़्लो मेन्यू पर क्लिक करें और डिस्क पर दिखाएं को चुनें.

Android वर्चुअल डिवाइसों को ChromeOS पर लॉन्च नहीं किया जा सका

ChromeOS पर, Android वर्चुअल डिवाइस (AVD) शायद लॉन्च न हो पाएं, क्योंकि libnss3 डिपेंडेंसी मौजूद नहीं है. एवीडी की सुविधा लॉन्च करने के लिए, sudo apt install libnss3 चलाकर मैन्युअल तरीके से libnss3 लाइब्रेरी इंस्टॉल करें.

Wear OS पर कलाई के झुकाव से जुड़े सेंसर से मिलने वाली चेतावनियां

Wear OS पर, एम्युलेटर, कलाई के झुकाव वाले सेंसर के बारे में बार-बार यह मैसेज लॉग कर सकता है: the host has not provided value yet for sensorHandle=16

डेवलपर इन चेतावनियों को अनदेखा कर सकते हैं.

एम्बेड की गई एम्युलेटर विंडो का साइज़ बहुत छोटा है

कम रिज़ॉल्यूशन वाली मशीनों पर, जैसे कि 1024x768, Android Studio में टूल विंडो में एमुलेटर स्क्रीन को पढ़ना मुश्किल हो सकता है. अगर डिवाइस मैनेजर टूल विंडो खुली है, तो एमुलेटर को ज़्यादा जगह देने के लिए उसे बंद करें. Android Studio से एमुलेटर विंडो को बाहर भी खींचा जा सकता है. ऐसा करने के लिए, एमुलेटर विंडो में, सेटिंग > व्यू मोड पर क्लिक करें. इसके बाद, डॉक पर पिन किया गया के बजाय विंडो चुनें.

ग्राफ़िक से जुड़ी समस्याएं


अपडेट के बाद Android Emulator धीरे चलता है

अपडेट के बाद, कई बाहरी वजहों से Android Emulator धीरे-धीरे चलना शुरू हो सकता है. समस्या हल करने के लिए, हमारा सुझाव है कि आप यहां दिए गए तरीके आज़माएं:

  • अगर आपके पास Intel जीपीयू है, खास तौर पर Intel HD 4000, तो पक्का करें कि आपने सबसे नया Intel ग्राफ़िक्स ड्राइवर डाउनलोड और इंस्टॉल कर लिया हो.
  • अगर आपकी मशीन में Intel जीपीयू और डिस्क्रेट जीपीयू, दोनों हैं, तो डिवाइस मैनेजर में Intel जीपीयू को बंद करें. इससे यह पक्का किया जा सकेगा कि डिस्क्रेट जीपीयू का इस्तेमाल किया जा रहा है.
  • -gpu swiftshader मोड का इस्तेमाल करके, एमुलेटर चलाएं. कमांड लाइन पर ग्राफ़िक्स ऐक्सेलरेशन के विकल्पों को कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, हार्डवेयर ऐक्सेलरेशन कॉन्फ़िगर करना लेख पढ़ें.
  • अगर आपके पास IPv6 कनेक्शन नहीं है, तो पक्का करें कि आपका रूटर IPv6 पतों का इस्तेमाल न कर रहा हो.

अगर आपको अब भी Android एमुलेटर के धीरे चलने से जुड़ी समस्याएं आ रही हैं, तो गड़बड़ी की शिकायत करें. साथ ही, Android एमुलेटर की ज़रूरी जानकारी शामिल करें, ताकि हम इसकी जांच कर सकें.

गड़बड़ी: vulkan-1.dll नहीं मिला

अगर vulkan-1.dll cannot be found गड़बड़ी की वजह से, एमुलेटर लॉन्च नहीं हो पा रहा है, तो आपको एमुलेटर को अपडेट करना होगा. Android Studio में इम्यूलेटर को अपडेट करने के लिए, टूल > SDK मैनेजर पर जाएं और Android प्लैटफ़ॉर्म का नया और स्टेबल वर्शन इंस्टॉल करें.

इसके अलावा, अगर आपको Vulkan ग्राफ़िक लाइब्रेरी का इस्तेमाल करने वाले किसी भी ऐप्लिकेशन की ज़रूरत नहीं है, तो -feature -Vulkan फ़्लैग का इस्तेमाल करके, कमांड लाइन से एमुलेटर को लॉन्च करके Vulkan को बंद करें.

स्नैपशॉट नहीं बनाया जा सका

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

वेबपेज सही तरीके से नहीं खुल रहा है

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

जीपीयू ड्राइवर चेतावनी - सॉफ़्टवेयर पर वापस जाना

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

नॉन-प्लेस्टोर इमेज के लिए, आप डिवाइस मैनेजर -> 3 बिंदु -> बदलाव करें में जाकर ऐसा कर सकते है. Play Store पर दिखाई जाने वाली इमेज के लिए, आपको उन दो कॉन्फ़िगरेशन फ़ाइलों में मैन्युअल तरीके से बदलाव करना होगा:

~/.android/your_avd_name.avd/config.ini

~/.android/your_avd_name.avd/hardware-qemu.ini

और hw.gpu.mode को host में बदलें

ध्यान दें कि ऐसा करने से, इम्यूलेटर के काम करने की क्षमता कम हो सकती है. ज़्यादा जानकारी के लिए, बग देखें.

Windows के Chrome रिमोट डेस्कटॉप पर एम्युलेटर बूट नहीं होता

अगर Windows पर Chrome रिमोट डेस्कटॉप का इस्तेमाल करते समय, एमुलेटर बूट नहीं होता है, तो हमारा सुझाव है कि आप -gpu host या -gpu swiftshader जैसे -gpu फ़्लैग का इस्तेमाल करें.

एम्युलेटर, हार्डवेयर रेंडरिंग मोड में macOS पर ठीक से काम नहीं करता

Apple Silicon वाले Mac डिवाइसों पर, हार्डवेयर रेंडरिंग मोड चुनने पर, एमुलेटर, Vulkan API के लिए MoltenVK लाइब्रेरी का इस्तेमाल करता है. आम तौर पर, MoltenVK बेहतर परफ़ॉर्मेंस देता है. हालांकि, यह लाइब्रेरी Vulkan की सभी सुविधाओं के साथ काम नहीं करती. कंपैटिबिलिटी से जुड़ी समस्याओं, जैसे कि शेडर कंपाइलेशन के काम न करना, ग्राफ़िक की मदद से क्रैश होने या ऐप्लिकेशन क्रैश होने की स्थिति में, एवीडी सेटिंग की मदद से रेंडरिंग मोड को सॉफ़्टवेयर में बदलें या -gpu swiftshader कमांड लाइन आर्ग्युमेंट का इस्तेमाल करें.

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

नेटवर्क से जुड़ी समस्याएं


इंटरनेट नहीं है: सर्वर का डीएनएस पता नहीं मिला

अगर एमुलेटर इंटरनेट से कनेक्ट नहीं हो पा रहा है, तो -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4” विकल्प का इस्तेमाल करके, कमांड लाइन से एमुलेटर को लॉन्च करने की कोशिश करें. यह कमांड, Google के सार्वजनिक डीएनएस आईपी पतों की सूची देता है. इसमें पतों को कॉमा लगाकर अलग किया गया है. Google की सार्वजनिक डीएनएस सेवा के बारे में ज़्यादा जानने के लिए, आपके डिवाइसों के लिए Google की सार्वजनिक डीएनएस सेवा लेख पढ़ें.

इंटरनेट नहीं है: डीएनएस रिज़ॉल्यूशन से जुड़ी समस्याएं

कभी-कभी /etc/resolv.conf फ़ाइल में मौजूद डीएनएस पते ठीक से काम नहीं करते. कमांड लाइन से एम्युलेटर को लॉन्च करके, इस समस्या को हल किया जा सकता है. ऐसा करने के लिए, आईपीवी6 नेटवर्क से कनेक्ट करने के लिए -dns-server 8.8.8.8 या -dns.server 2001:4860:4860::8888 विकल्प का इस्तेमाल किया जा सकता है.

पुरानी समस्याएं (ऐप्लिकेशन इस्तेमाल करने के लिए, अब काम न करने वाले एमुलेटर या पुराने सिस्टम पर)


AVD लॉन्च नहीं हो सका

अगर नए एम्युलेटर के लिए क्रैश रिपोर्ट मौजूद है, तो हो सकता है कि एवीडी लॉन्च न हो (समस्या #281725854). यह समस्या सिर्फ़ उन उपयोगकर्ताओं को होती है जिन्होंने कैनरी वर्शन 33.x से 32.1.13 पर अपडेट किया है. साथ ही, जिन्होंने पिछली बार 33.x वर्शन चलाने पर क्रैश का सामना किया था और तब से अपने AVD को रीबूट नहीं किया है. इसलिए, %TEMP% या /tmp डायरेक्ट्री अब भी चालू है. अगर आपको यह समस्या आ रही है, तो %TEMP% डायरेक्ट्री (Linux या macOS पर /tmp) को मिटाकर देखें.

Windows: अगर AVD के नाम में यूनिकोड है, तो एमुलेटर लॉन्च नहीं होता

Windows पर, जब डिवाइस मैनेजर कोई Android वर्चुअल डिवाइस (AVD) बनाता है, तो वह डिफ़ॉल्ट रूप से C:\Users\<name>\.android\avd पर AVD बनाता है. हालांकि, अगर एवीडी के नाम (<name>) में यूनिकोड है, तो एमुलेटर इस डिफ़ॉल्ट जगह का इस्तेमाल करके, एवीडी को सही तरीके से लॉन्च नहीं कर सकता.

इस समस्या को एम्युलेटर 31.3.6 और इसके बाद वाले वर्शन में ठीक कर दिया गया है. इस समस्या को हल करने के लिए, टूल > SDK मैनेजर चुनकर, एमुलेटर को अपडेट करें.

इसके अलावा, इस समस्या को हल करने के लिए, AVD बनाने से पहले, एनवायरमेंट वैरिएबल ANDROID_SDK_HOME को कस्टम डायरेक्ट्री पर सेट करें. उदाहरण के लिए, डायरेक्ट्री C:\Android\home बनाएं और फिर ANDROID_SDK_HOME को इस नई डायरेक्ट्री पर सेट करें. ज़्यादा जानने के लिए, एनवायरमेंट वैरिएबल देखें.

Hypervisors, x86 Android सिस्टम के लिए ज़रूरी सीपीयू की कुछ सुविधाओं को एमुलेट नहीं कर सकते

Hypervisors आम तौर पर, सीपीयू की कुछ सुविधाओं को एम्युलेट नहीं कर सकता. जैसे, x86 Android सिस्टम के लिए ज़रूरी स्ट्रीमिंग SIMD एक्सटेंशन (SSE).