एम्युलेटर की जानकारी

Android Emulator, Android Studio में शामिल होता है.

25.3.0 से पहले के वर्शन वाले एम्युलेटर, Android SDK के टूल के साथ डिस्ट्रिब्यूट किए जाते थे.

यह पक्का करने के लिए कि आपके पास नया वर्शन हो, अपडेट के लिए एसडीके मैनेजर देखें.

Android Emulator के पिछले वर्शन डाउनलोड करने के लिए, Emulator के डाउनलोड संग्रह देखें.

Emulator के 25.3.0 से पहले के वर्शन के रिलीज़ नोट देखने के लिए, Android SDK Tools के रिलीज़ नोट देखें.

Android Emulator के सबसे नए वर्शन में ठीक की गई समस्याओं के बारे में जानने के लिए, बंद की गई समस्याएं देखें.

पहले से मालूम समस्याओं और उन्हें हल करने के तरीके जानने के लिए, कृपया एम्युलेटर से जुड़ी समस्याएं हल करना लेख पढ़ें.

37.1.11 स्टेबल (30 जुलाई, 2026)

  • Android Emulator हाइपरवाइज़र ड्राइवर (AEHD) 31 दिसंबर, 2026 से काम नहीं करेगा. इस बदलाव में मदद करने के लिए, Android Studio अब Windows का इस्तेमाल करने वाले लोगों को AEHD से Windows Hypervisor Platform (WHPX) पर स्विच करने में मदद करता है. WHPX का इस्तेमाल करके वीएम की परफ़ॉर्मेंस को बेहतर बनाने के बारे में जानकारी के लिए, WHPX का इस्तेमाल करके वीएम की परफ़ॉर्मेंस को बेहतर बनाना लेख पढ़ें.

    WHPX में अपडेट करने के लिए पॉप-अप

  • Pixel 10a AVD जोड़ा गया

  • API 37 सिस्टम इमेज चलाने के लिए ज़रूरी नए Vulkan एक्सटेंशन के लिए सहायता जोड़ी गई

  • [गड़बड़ी ठीक की गई]समस्या #324465986 स्टोरेज खाली न होने पर, स्नैपशॉट लेते समय स्टोरेज खाली न होने की गड़बड़ी नहीं दिखती

  • [बग ठीक किया गया]समस्या #526671872 config.ini में, AVD RAM और VM हीप साइज़ के कॉन्फ़िगरेशन के लिए यूनिट सफ़िक्स (जैसे, "6G", "32M") का इस्तेमाल किया जा सकता है

  • [बग ठीक किया गया]समस्या #325814592 macOS 14 में यह समस्या आई थी. इसमें कैमरा चालू करने के बाद, इम्यूलेटर फ़्रीज़ हो जाता है और बहुत धीरे काम करता है

36.6.11 स्टेबल (2 जून, 2026)

  • एपीआई 37 से, एवीडी के वीएम के लिए इस्तेमाल की जाने वाली कम से कम मेमोरी (रैम) को बढ़ाकर 4 जीबी कर दिया गया है.

    Android 17 (एपीआई 37) को ज़्यादा मेमोरी की ज़रूरत होती है. इसलिए, फ़ोन के Android वर्चुअल डिवाइसों (एवीडी) के लिए, अब कम से कम 4 जीबी रैम होना ज़रूरी है. अगर आपके एवीडी को कम मेमोरी के साथ कॉन्फ़िगर किया गया है, तो Emulator अपने-आप सेटिंग को बदल देगा, ताकि कम से कम 4 जीबी मेमोरी ऐलोकेट की जा सके. इससे रनटाइम से जुड़ी संभावित समस्याएं नहीं होंगी.

  • कॉन्फ़िगर किए जा सकने वाले वर्चुअल सीन बैकग्राउंड के लिए, Emulator में "environment" कैमरा मोड जोड़ा गया. इन सीन को AVD की environment.ini फ़ाइल में तय किया जाता है. साथ ही, इन्हें रनटाइम के दौरान डाइनैमिक तरीके से फिर से लोड किया जा सकता है.

  • उस गड़बड़ी को ठीक किया गया है जिसमें स्नैपशॉट मिटाने के बाद, स्टैंडअलोन एम्युलेटर में स्नैपशॉट की झलक नहीं हटती थी.

  • [गड़बड़ी ठीक की गई]समस्या #506475581 macOS पर, दो से ज़्यादा चैनलों (लूपबैक, मल्टी-आउटपुट) वाले ऑडियो इंटरफ़ेस का इस्तेमाल करने पर, एम्युलेटर में ऑडियो बहुत ज़्यादा खराब हो जाता है

  • [गड़बड़ी ठीक की गई]समस्या #516455370 macOS 26.3 पर, एम्युलेटर बंद करते समय मेमोरी लीक होने की समस्या को ठीक किया गया है. यह समस्या, Hypervisor.framework API के इस्तेमाल किए गए संसाधनों को हटाने से जुड़ी है.

36.5.11 पैच (23 अप्रैल, 2026)

  • [बग ठीक किया गया]समस्या #492228020 Intel GPU पर हार्डवेयर/ऑटो ग्राफ़िक्स रेंडरिंग का इस्तेमाल करने पर, Android Emulator में काली स्क्रीन दिखती है

36.5.10 स्टेबल (2 अप्रैल, 2026)

इस अपडेट में, गड़बड़ियां ठीक की गई हैं और यह सुविधा जोड़ी गई है:

Android Emulator की मदद से, मल्टी-डिवाइस इंटरैक्शन की जांच करना

Android Emulator में अब एक नया नेटवर्क स्टैक शामिल किया गया है. इससे मल्टी-डिवाइस पर टेस्टिंग को बेहतर बनाया जा सकता है. साथ ही, एक ही होस्ट पर कई एवीडी इंस्टेंस को कनेक्ट करने के लिए, मैन्युअल पोर्ट फ़ॉरवर्डिंग की ज़रूरत नहीं पड़ती. अब AVD एक-दूसरे को अपने-आप ढूंढ सकते हैं और उनके साथ कम्यूनिकेट कर सकते हैं. ऐसा तब होता है, जब वे एक ही वर्चुअल नेटवर्क पर हों. इससे, Wi-Fi Direct और नेटवर्क सेवा की खोज जैसे प्रोटोकॉल का इस्तेमाल करके, पीयर-टू-पीयर इंटरैक्शन की आसानी से टेस्टिंग की जा सकती है.

इस नए नेटवर्किंग स्टैक से डेवलपर को कई अहम फ़ायदे मिलते हैं:

  • ज़ीरो-कॉन्फ़िगरेशन: अब आपको मैन्युअल तरीके से पोर्ट फ़ॉरवर्डिंग करने या adb कमांड स्क्रिप्ट करने की ज़रूरत नहीं है.
  • पीयर-टू-पीयर कनेक्शन की सुविधा: वाई-फ़ाई डायरेक्ट और नेटवर्क सर्विस डिस्कवरी जैसे ज़रूरी प्रोटोकॉल, एम्युलेटर के बीच बिना किसी रुकावट के काम करते हैं.
  • बेहतर स्थिरता: इससे लंबे समय से आ रही स्थिरता से जुड़ी समस्याओं को हल किया जाता है. जैसे, लेगसी स्टैक में डेटा का नुकसान (समस्या #150758736) और कनेक्शन ड्रॉप होना (समस्या #449817856).

शुरू करने के लिए, Android Studio के एसडीके मैनेजर में जाकर, Android Emulator को नए वर्शन पर अपडेट करें. ज़्यादा जानकारी के लिए, दस्तावेज़ यहां उपलब्ध है.

अन्य सुविधाएं और गड़बड़ियां ठीक की गईं

  • नए Pixel AVD जोड़े गए हैं. इनमें Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, और Pixel 10 Pro Fold शामिल हैं

  • वेबकैम को उपयोगकर्ता के हिसाब से नाम दें. साथ ही, Linux में उस समस्या को ठीक करें जहां Emulator, कनेक्ट किए गए सभी वेबकैम का पता नहीं लगा सका और उन्हें सूची में शामिल नहीं कर सका

  • [बग ठीक किया गया]समस्या #333628462 macOS पर crashpad_handler प्रोसेस, सीपीयू का बहुत ज़्यादा इस्तेमाल करती है

36.4.10 पैच (9 मार्च, 2026)

  • [बग ठीक किया गया]समस्या #489369080 Panda 2 पर अपडेट करने के बाद, टीवी एम्युलेटर पर कर्सर घुमाने पर क्रैश होने की समस्या ठीक की गई

36.4.9 स्टेबल (10 फ़रवरी, 2026)

  • यूज़र इंटरफ़ेस में जीपीयू चुनने की प्रोसेस को आसान बनाने के लिए, Android Emulator के एक्सटेंडेड कंट्रोल में अब हार्डवेयर और सॉफ़्टवेयर के खास विकल्प शामिल हैं. कमांड लाइन का इस्तेमाल करने वाले लोग, अब '-gpu software' विकल्प का इस्तेमाल करके, अपने सिस्टम के लिए सबसे अच्छे उपलब्ध GLES और Vulkan सॉफ़्टवेयर रेंडरिंग बैकएंड चुन सकते हैं

  • सभी प्लैटफ़ॉर्म पर Vulkan के साथ काम करने की सुविधा को बेहतर बनाने के लिए, Lavapipe को डिफ़ॉल्ट ग्राफ़िक्स सॉफ़्टवेयर रेंडरर के तौर पर चालू किया गया

  • Vulkan में किए गए सुधार:

    • एम्युलेटर के साथ बंडल किए गए Vulkan लोडर को अपडेट किया गया
    • Vulkan बैकएंड पर, इस्तेमाल के कई अमान्य उदाहरणों को ठीक किया गया
    • नई सिस्टम इमेज पर, ग्राफ़िक्स क्यू इम्यूलेशन के साथ systemui पर SkiaVk का इस्तेमाल करने की सुविधा जोड़ी गई
    • होस्ट पर GL के इस्तेमाल को बंद करने के लिए, Vulkan कंपोज़िशन के लिए सहायता जोड़ी गई. यह सुविधा, XR इमेज के लिए डिफ़ॉल्ट रूप से चालू होती है. इसे '-feature VulkanNativeSwapchain' कमांड लाइन विकल्प के साथ चालू किया जा सकता है.
  • [बग ठीक किया गया]समस्या #471008659 ऐक्टिविटी खोलने/बंद करने पर, एम्युलेटर के होस्ट साइड पर मेमोरी लीक होने की समस्या

36.4.3 Canary (8 दिसंबर, 2025)

एआई चश्मे का नया एम्युलेटर

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

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

XR Glasses Emulator का नया वर्शन

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

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

मौजूदा समस्याएं

आपके सुझाव/राय देने या शिकायत करने से, हमें इस सुविधा को बेहतर बनाने में मदद मिलेगी. साथ ही, इससे हमें आने वाले समय में सुविधाओं को प्राथमिकता देने के बारे में फ़ैसले लेने में मदद मिलेगी. Android Studio या Android Emulator से जुड़ी गड़बड़ियों की रिपोर्ट करने के बारे में जानकारी पाने के लिए, गड़बड़ी की रिपोर्ट करें लेख पढ़ें.

36.3.10 स्टेबल (4 दिसंबर, 2025)

  • [बग ठीक किया गया]समस्या #452843321 Android API 34 और उसके बाद के वर्शन पर, एम्युलेटर में बड़ी फ़ाइलें पुश करने पर परफ़ॉर्मेंस खराब हो जाती है.

  • वीडियो कोडेक के जीपीयू टेक्सचर मोड में चलने पर, Vulkan कंपोज़िशन क्रैश होने की समस्या ठीक की गई.

  • -debug-events के साथ चलाने पर, टचस्क्रीन इवेंट पर Emulator के क्रैश होने की समस्या ठीक की गई.

36.2.12 पैच (13 अक्टूबर, 2025)

  • सॉफ़्टवेयर रेंडरिंग मोड में Vulkan ऐप्लिकेशन लॉन्च करते समय, Windows पर क्रैश होने की समस्या को ठीक किया गया है

36.2.11 स्टेबल वर्शन (9 अक्टूबर, 2025)

  • HAXM की सुविधा को Emulator से हटा दिया गया है. HAXM का इस्तेमाल करके एवीडी बनाने की कोशिश करने पर, आपको एक बैनर दिखेगा. इसमें हाइपरवाइज़र मौजूद न होने की जानकारी दी गई होगी. साथ ही, AEHD इंस्टॉल करने के लिए कार्रवाई करने का लिंक भी दिया गया होगा.

    HAXM की मदद से नया एवीडी बनाने की कोशिश करने पर दिखने वाला बैनर HAXM को अनइंस्टॉल करने के बारे में जानकारी के लिए, HAXM अनइंस्टॉल करें लेख पढ़ें.

  • ड्राइवर क्रैश होने से रोकने के लिए, यह सुधार किया गया है. इससे यह पक्का किया जा सकेगा कि Intel GPU, OpenGL ES 3.0 का इस्तेमाल करे

  • [बग ठीक किया गया]समस्या #340322888 डिवाइस में खाली जगह न होने पर, AVD शुरू नहीं किया जा सकता

  • [बग ठीक किया गया]समस्या #150758736 एम्युलेटर में टीसीपी कनेक्शन पर, कभी-कभी एक बाइट का डेटा मिट जाता है

  • [बग ठीक किया गया]समस्या #434774381 i7-11850H पर WHPX का इस्तेमाल करके Windows 11 पर, API 36 और 35 (शायद इससे ज़्यादा) के लिए क्विक बूट के बाद गेस्ट कर्नल क्रैश हो गया

36.1.9 स्टेबल (31 जुलाई, 2025)

  • [बग ठीक किया गया]समस्या #419157428 उपयोगकर्ता नाम या एवीडी पाथ में UTF-8 वर्णों की वजह से, एम्युलेटर शुरू नहीं हो सकता

  • [गड़बड़ी ठीक की गई]समस्या #423670833 btrfs फ़ाइल सिस्टम पर Android Emulator क्रैश हो जाता है

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

35.6.11 स्टेबल वर्शन (24 जून, 2025)

  • XR Emulation के लिए, Windows और Linux पर AMD और Nvidia GPU के साथ काम करने की सुविधा को बेहतर बनाया गया है

  • XR AVD को, Android Studio की चालू विंडो में एम्बेड करके चलाया जा सकता है

  • Windows पर क्रैश रिपोर्ट की जानकारी को बेहतर बनाया गया है, ताकि Emulator का पूरा डंप चालू किया जा सके

  • [बग ठीक किया गया]समस्या #410485043 Android Emulator XR डिवाइस, Vulkan से जुड़ी गड़बड़ी की वजह से क्रैश हो जाता है

  • [बग ठीक किया गया]समस्या #388718417 libndk_translation.so बंद हो जाता है और Arm64AesEncode में क्रैश हो जाता है

35.5.10 स्टेबल (6 मई, 2025)

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

  • Vulkan मेमोरी मैनेजमेंट और अमान्य इस्तेमाल के उदाहरणों से जुड़ी गड़बड़ियों को ठीक किया गया

  • टर्मिनल पर चलाने के दौरान, Vulkan स्नैपशॉट की सुविधा की जांच की जाती है और इसे सही तरीके से स्किप किया जाता है

  • VK_KHR_multiview एक्सटेंशन और A1R5G5B5 टेक्सचर फ़ॉर्मैट के लिए सहायता जोड़ी गई

  • Pixel 9a AVD जोड़ा गया

35.4.9 स्टेबल वर्शन (25 फ़रवरी, 2025)

  • मेहमान के तौर पर इस्तेमाल किए जाने वाले GLES ड्राइवर की प्राथमिकताओं के लिए, बेहतर कंट्रोल में ड्रॉप-डाउन मेन्यू जोड़ा गया

  • [बग ठीक किया गया]समस्या #389330750 एम्युलेटर को Ñ वर्ण वाला एसएमएस भेजने पर, मैसेज दो हिस्सों में बंट जाता है

  • [बग ठीक किया गया]समस्या #382180488 Vulkan डिवाइसों का पता न चलने की वजह से, "emuglConfig_get_vulkan_hardware_gpu_support_info" फ़ंक्शन क्रैश हो रहा है

  • ध्यान दें: Android XR Emulator सिर्फ़ Studio के Canary वर्शन में उपलब्ध हैं

35.3.11 स्टेबल (9 जनवरी, 2025)

  • [गड़बड़ी ठीक की गई]समस्या #368059211 Car Service API का इस्तेमाल करके, Android Auto OS में VHAL को प्रोग्राम के हिसाब से ऐक्सेस नहीं किया जा सकता

  • [बग ठीक किया गया]समस्या #348598513 एम्युलेटर में, मल्टी-थ्रेड लॉक में थ्रेड-अनसेफ़ पब्लिक मेथड मौजूद है

  • [गड़बड़ी ठीक की गई]समस्या #356896486 -feature -Vulkan के साथ चलाने पर, Vulkan API कॉल को पूरी तरह से बंद करें

35.4.4 Canary (12 दिसंबर, 2024)

नया Android XR Emulator

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

Android XR इम्यूलेटर, एक्सपेरिमेंट के तौर पर उपलब्ध एक टूल है. हालांकि, हमने आपके साथ इस सुविधा को पहले ही शेयर करने का फ़ैसला किया है, ताकि आप इसे जल्द से जल्द आज़मा सकें. आपको कुछ समस्याएं आ सकती हैं. खास तौर पर, Windows के कुछ जीपीयू और ड्राइवर कॉन्फ़िगरेशन पर. मौजूदा 2D मोबाइल ऐप्लिकेशन की कंपैटिबिलिटी टेस्टिंग से जुड़ी समस्याएं भी हो सकती हैं. आपके सुझाव/राय से, हमें आने वाले समय में सुविधाओं को बेहतर बनाने और उनकी प्राथमिकता तय करने में मदद मिलेगी.

अब तक, Android XR एम्युलेटर को इन एचडब्ल्यू कॉन्फ़िगरेशन पर टेस्ट किया गया है:

  • Mac (ARM)
  • Windows 11
    • nVidia GPU, 4 जीबी vRAM, ड्राइवर वर्शन 553.35 या इसके बाद का वर्शन
  • 16 जीबी या इससे ज़्यादा रैम
  • आठ या इससे ज़्यादा कोर

मौजूदा समस्याएं

एम्युलेटर - स्टेबिलिटी और परफ़ॉर्मेंस:

  • कुछ Windows कॉन्फ़िगरेशन पर, बूट करने के दौरान या ऐप्लिकेशन चलाने के दौरान सिस्टम लॉक हो सकता है या क्रैश हो सकता है. कृपया पक्का करें कि Windows Hypervisor Platform (WHPX) चालू हो. इसके लिए, WHPX को चालू करने के लिए Android Studio डेवलपर गाइड देखें.
  • लैपटॉप को बंद करके खोलने के बाद, एवीडी या यूज़र इंटरफ़ेस (यूआई) एलिमेंट के काम न करने जैसी समस्याएं.
  • "होम स्क्रीन मोड" से "फ़ुल स्क्रीन मोड" पर ऐप्लिकेशन स्विच करते समय, कभी-कभी क्रैश हो जाता है
  • Gemini API अभी उपलब्ध नहीं हैं. इसलिए, Gemini API स्टार्टर टेंप्लेट ऐप्लिकेशन क्रैश हो जाएगा.

एम्युलेटर - इनपुट और आउटपुट को सिम्युलेट करना:

  • ऐसा हो सकता है कि खोज और बदलाव वाले फ़ील्ड के लिए वर्चुअल कीपैड, फ़ील्ड ऑफ़ व्यू (कैमरे से दिख रहा व्यू) में सिर्फ़ कुछ हद तक दिखे
  • माउस और कीबोर्ड का इस्तेमाल करके, एलिमेंट को z-डायरेक्शन (स्क्रीन के अंदर और बाहर) में नहीं ले जाया जा सकता

  • AVD के माइक्रोफ़ोन में होस्ट के ऑडियो इनपुट की वजह से समस्या आ सकती है. इससे AVD रीबूट हो सकता है और क्रैश हो सकता है.

  • कभी-कभी आवाज़ में स्टैटिक या खराबी होती है.

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

  • Windows कॉन्फ़िगरेशन में, सामान्य से ज़्यादा गहरे रंग दिखते हैं.

  • एम्युलेटर को कुछ समय तक इस्तेमाल न करने और macOS पर स्क्रीन लॉक करने के बाद, ऑडियो काम नहीं करता. (एमुलेटर को रीस्टार्ट करने पर, यह वापस आ जाएगा.)

  • होस्ट मशीन के वाई-फ़ाई बदलने पर, नेटवर्क कनेक्शन टूट जाता है.

  • Caps Lock चालू होने पर भी, छोटे अक्षरों में टाइप किया जाता है.

  • Mac पर ट्रैकपैड का इस्तेमाल करके स्क्रोल करने में समस्या आ रही है.

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

  • Windows के कुछ सिस्टम कॉन्फ़िगरेशन पर, Chrome में टेक्स्ट, यूज़र इंटरफ़ेस (यूआई), और अन्य गड़बड़ियां दिख रही हैं. संभावित समाधान: WHP चालू करना.

एम्युलेटर - विमानों और ऐंकर को सिम्युलेट करना:

  • कभी-कभी ऐंकर, उसी जगह के आस-पास फिर से नहीं दिखते
  • ऐसा हो सकता है कि मूव किए जा सकने वाले पैनल, दीवारों या छत से न जुड़ें
  • सिम्युलेट किए गए प्लेन, पासथ्रू मोड में 3D रूम के फ़िज़िकल लेआउट से मेल नहीं खाते
  • वर्चुअल रूम में ऑब्जेक्ट ऐंकर करने के लिए, सीमित जगहें
  • Windows पर पासथ्रू व्यू में दिखने वाला छोटा आर्टफ़ैक्ट
  • कुछ मामलों में, ऐंकर जोड़ने पर ऐप्लिकेशन क्रैश हो सकता है
  • Windows पर ऐप्लिकेशन को ज़मीन के पास ले जाने पर, ऐप्लिकेशन के ऊपर काली लाइनें दिख सकती हैं

एम्युलेटर - अन्य:

  • एम्युलेटर सिर्फ़ "स्टैंडअलोन" मोड में चालू होता है. फ़िलहाल, "एम्बेड किया गया" मोड (एम्बेड किया गया यूज़र इंटरफ़ेस) काम नहीं करता.
  • Windows पर एमुलेटर में खातों से लॉग इन करने पर, एमुलेटर काम करना बंद कर सकता है
  • विंडो का साइज़ बदलने के बाद, यूज़र इंटरफ़ेस (यूआई) का कॉन्टेंट गायब हो सकता है (समस्या हल करने का तरीका: "होम" बटन दबाएं)
  • JXRCore ActivityPanelTest ऐप्लिकेशन में, सेकंडरी पैनल शुरू में नहीं दिखता है
  • ऐसा हो सकता है कि कुछ समय बाद, क्विक सेटिंग के आइटम सिस्टम सेटिंग से गायब हो जाएं.
  • ऐसा हो सकता है कि शुरुआत में, एम्युलेटर का यूज़र इंटरफ़ेस (यूआई) स्क्रीन के उस हिस्से के बाहर दिखे जहां उसे दिखना चाहिए. अगर ऐसा होता है, तो एम्युलेटर विंडो के साइज़ में थोड़ा बदलाव करें. इससे वह वापस अपनी जगह पर आ जाएगी.
  • Windows पर Chrome रिमोट डेस्कटॉप का इस्तेमाल करते समय, एम्युलेटर चालू नहीं हो सकता
  • फ़िलहाल, एम्युलेटर पर OpenXR काम नहीं करता है. साथ ही, OpenXR ऐप्लिकेशन की वजह से एम्युलेटर क्रैश हो सकता है
  • Windows पर Android Studio की एक्सटेंडेड सेटिंग का इस्तेमाल करके, गड़बड़ी की रिपोर्ट सबमिट करते समय कभी-कभी गड़बड़ी होती है
  • Mac पर कर्सर को सेटिंग ऐप्लिकेशन के "वापस जाएं" आइकॉन के पास ले जाने तक, वह आइकॉन ठीक से नहीं दिखता
  • कुछ मामलों में, XR टेंप्लेट प्रोजेक्ट के हिस्से के तौर पर "बेसलाइन प्रोफ़ाइल" मॉड्यूल का इस्तेमाल करने पर, बिल्ड करने में गड़बड़ी हो सकती है
  • "XR Talkback" की सुलभता की सुविधा को अब तक सिर्फ़ एम्युलेटर में आंशिक रूप से इंटिग्रेट किया गया है

Scene Viewer ऐप्लिकेशन:

  • Scene Viewer में एलिमेंट को इधर-उधर ले जाने से, यह क्रैश हो सकता है. इस समस्या को हल करने के लिए, एलिमेंट को मूव करने से पहले, हेड की पोज़िशन को उसकी शुरुआती पोज़िशन से थोड़ा दूर ले जाएं. उदाहरण के लिए, पैन, डॉली, WASD वगैरह का इस्तेमाल करके.
  • अगर 3D मॉडल का असल साइज़, स्केल की कम से कम और ज़्यादा से ज़्यादा सीमा (फ़िलहाल, 20 सेमी और 70 मीटर पर सेट है) से कम या ज़्यादा है, तो 1:1 के असल साइज़ वाली सुविधा ठीक से काम नहीं करेगी
  • लोड होने के बाद, 3D मॉडल पहले फ़्रेम पर कूद सकता है

35.2.10 (1 अक्टूबर, 2024)

  • Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, और Pixel 9 Pro Fold जैसे नए Pixel AVD जोड़े गए
  • Vanilla Ice Cream (API 35) के लिए नई टैबलेट सिस्टम इमेज जोड़ी गई

35.1.20 (29 अगस्त, 2024)

  • Pixel 8a AVD जोड़ा गया
  • फ़ोल्ड किए जा सकने वाले डिवाइसों से जुड़ी कई गड़बड़ियां ठीक की गईं
  • Qt को अपडेट किया गया है. साथ ही, Qt से जुड़े क्रैश और हैंग होने की समस्याओं को ठीक किया गया है
  • [गड़बड़ी ठीक की गई] Vulkan का इस्तेमाल करने वाले ऐप्लिकेशन के साथ Windows पर क्रैश और फ़्रीज़ होने की समस्या ठीक की गई

34.2.16 (9 जुलाई, 2024)

  • [बग ठीक किया गया] Pixel Fold को फ़ोल्ड/अनफ़ोल्ड करते समय यूज़र इंटरफ़ेस (यूआई) के फ़्रीज़ होने की समस्या
  • [गड़बड़ी ठीक की गई] Mac M1 पर, Android के वर्शन को API 35 के बजाय Android Vanilla Ice Cream Preview के तौर पर गलत तरीके से दिखाया जा रहा था.
  • [गड़बड़ी ठीक की गई] समस्या #296162661: Pixel C टैबलेट के एम्युलेटर पर HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE की वैल्यू सही के तौर पर दिखती है

34.2.15 (31 मई, 2024)

  • स्वैंगल मोड और विज्ञापन देने वाले व्यक्ति या कंपनी के खाते को बंद करने से जुड़ी क्रैश की कई समस्याओं को ठीक किया गया

34.2.14 (20 मई, 2024)

इसे Android Studio Jellyfish के स्टेबल वर्शन के पहले पैच के साथ टेस्ट किया गया है.

  • [बग ठीक किया गया] कभी-कभी, एम्बेड किए गए एम्युलेटर पर स्नैपशॉट रुक जाता है
  • [बग ठीक किया गया] स्नैपशॉट पर 'नहीं' और 'रद्द करें' बटन ठीक से काम नहीं कर रहे हैं
  • [बग ठीक किया गया] डायरेक्शनल पैड के बटन काम नहीं कर रहे हैं
  • [गड़बड़ी ठीक की गई] Windows पर दिखने वाली उस समस्या को ठीक किया गया है जिसकी वजह से, कुछ मामलों में एमुलेटर शुरू नहीं हो पाता था. ऐसा तब होता था, जब ANGLE के साथ जीपीयू मोड का इस्तेमाल किया जा रहा हो. साथ ही, लॉग में “Failed to initialize GL emulation” गड़बड़ी का मैसेज दिखता था. ध्यान दें कि इस वर्शन में, कमांड लाइन से -gpu swangle_indirect विकल्प का इस्तेमाल करके एम्युलेटर शुरू करने पर भी यह गड़बड़ी दिख सकती है. अगर आपको इस वर्शन के साथ, सॉफ़्टवेयर ग्राफ़िक्स रेंडरिंग की सुविधा का इस्तेमाल करके Windows पर कमांड लाइन का इस्तेमाल करके एम्युलेटर शुरू करना है, तो कृपया -gpu swiftshader_indirect का इस्तेमाल करें
  • [बग ठीक किया गया] कीबोर्ड पर मौजूद जगह की जानकारी वाले शॉर्टकट से, इस्तेमाल न किया जा सकने वाला मैप लोड होता है
  • [बग ठीक किया गया] जगह की जानकारी सेट करते समय, "रास्ता सेव करें" डायलॉग मौजूद नहीं है

34.2.13 (30 अप्रैल, 2024)

इसे Android Studio Jellyfish के स्टेबल वर्शन के साथ टेस्ट किया गया है.

  • Qt 6.5.3 पर अपडेट करें
  • इमुलेटर के एक्सटेंडेड कंट्रोल में जगह की जानकारी की सुविधाओं के लिए, Google Maps API के अपडेट के साथ काम करने की सुविधा. यह अपडेट मई के आखिर में उपलब्ध होगा.
  • क्रैश होने की समस्या को ठीक करने के लिए, बहुत ज़्यादा असर डालने वाले सुधार
  • Pixel AVD से जुड़ी कई समस्याओं को ठीक किया गया
  • सॉफ़्टवेयर रेंडरिंग के लिए इस्तेमाल की जाने वाली ग्राफ़िक्स लाइब्रेरी को अपडेट किया गया
  • [बग ठीक किया गया]समस्या 225541819 Chrome शुरू करने पर, x86_64 पर एम्युलेटर क्रैश हो जाता है
  • [बग ठीक किया गया]समस्या 314614435 -http-proxy स्विच को गलत तरीके से पार्स किया गया

34.1.20 (1 अप्रैल, 2024)

इसकी जांच Android Studio Iguana Stable वर्शन के साथ की गई है.

  • [बग ठीक किया गया] समस्या #314614435: -http-proxy स्विच को गलत तरीके से पार्स करने की समस्या को ठीक किया गया

34.1.19 (7 मार्च, 2024)

इसकी जांच Android Studio Iguana Stable वर्शन के साथ की गई है.

  • [बग ठीक किया गया] समस्या #312677259: विंडो का साइज़ बदलने के बाद, एम्बेड किए गए एम्युलेटर में स्क्रीन फ़्रीज़ होने की समस्या ठीक की गई.

34.1.18 (29 फ़रवरी, 2024)

इसकी जांच Android Studio Iguana Stable वर्शन के साथ की गई है.

  • डिवाइसों को एम्युलेटर में जोड़ा गया. इनमें ये शामिल हैं:
    • Pixel Fold
    • Pixel Tablet
    • Pixel 8
    • Pixel 8 Pro
    • Pixel 7a
  • gRPC इंटिग्रेशन टेस्ट: gRPC एंडपॉइंट अब एम्युलेटर में चल रहे इंस्ट्रुमेंटेड टेस्ट के लिए उपलब्ध हैं. इससे असली स्थितियों की जांच की जा सकेगी. इस सुविधा की मदद से, डेवलपर Android इंस्ट्रुमेंटेशन टेस्ट के दौरान, Android Emulator पर होस्ट किए गए gRPC एंडपॉइंट के साथ सुरक्षित तरीके से इंटरैक्ट कर सकते हैं.
  • कई गड़बड़ियां ठीक की गईं
    • बग ठीक किया गया: फ़ोल्ड किए जा सकने वाले डिवाइसों पर इस्तेमाल करने से जुड़ी समस्याओं को ठीक किया गया
    • बग ठीक किया गया: रोटेशन के बाद, Emulator की पोज़िशन को अडजस्ट किया गया
    • क्रैश की समस्याओं को ठीक किया गया

33.1.24 (28 दिसंबर, 2023)

इसे Android Studio Hedgehog के स्टेबल वर्शन और Iguana Beta 1 के साथ टेस्ट किया गया है.

  • इमुलेटर के वेबकैम से जुड़ी उस समस्या को ठीक किया गया है जिसकी वजह से, mp4 फ़ॉर्मैट में स्क्रीन रिकॉर्ड नहीं की जा सकती.
  • स्क्रीन रिकॉर्डिंग के दौरान, Pixel Fold AVD को अनफ़ोल्ड करने पर एमुलेटर क्रैश होने की समस्या ठीक की गई.
  • Pixel Fold पर, कीबोर्ड के अलग होने और इस्तेमाल न किए जा सकने की समस्या को ठीक किया गया. इस समस्या में, फ़ोन की स्किन अलग दिखती है. यह समस्या Windows, Mac Intel, और Linux पर ठीक की गई है
  • स्टैंडअलोन मोड में वर्चुअल सेंसर के दिखने में गड़बड़ी को ठीक किया गया है. यह गड़बड़ी Windows, Mac Intel, और Linux पर ठीक की गई है
  • कुछ क्रैश की समस्याओं को ठीक किया गया है. खास तौर पर, एम्युलेटर बंद करते समय होने वाली समस्याओं को ठीक किया गया है

33.1.23 (30 नवंबर, 2023)

इसे Android Studio Giraffe Patch 4 और Hedgehog Stable के साथ टेस्ट किया गया है.

  • Pixel Fold डिवाइस को बेहतर तरीके से चलाने के लिए, फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए नया सिस्टम लागू किया गया है. यह एपीआई 34 के साथ काम करता है
  • ग्राफ़िक्स बैकएंड को अपग्रेड किया गया है: हमने अपने ग्राफ़िक्स बैकएंड के लिए gfxstream प्रोटोकॉल लागू किया है. इस सुधार से, आपके सिस्टम की ग्राफ़िक्स परफ़ॉर्मेंस और स्थिरता बेहतर होती है. इसके अलावा, एपीआई 34 वाली सिस्टम इमेज से Vulkan 1.3 के साथ काम करने की सुविधा शुरू की जा रही है
  • सुविधा का अनुरोध: पिंच करके ज़ूम करने के जेस्चर को बंद करने या इसकी हॉटकी को फिर से असाइन करने का विकल्प
  • [गड़बड़ी ठीक की गई] समस्या #302562962 MacOS Sonoma का इस्तेमाल करते समय, Emulator का वेबकैम क्रैश होने की समस्या ठीक की गई
  • [बग ठीक किया गया] समस्या #293503871 Emulator को रीस्टार्ट करने पर, 'माइक्रोफ़ोन' सेटिंग सेव न होने की समस्या ठीक की गई
  • [बग ठीक किया गया] समस्या #270386314 एवीडी स्क्रीन को छोटा करने के बाद भी साइडबार खुला रहने की ऐनिमेशन से जुड़ी गड़बड़ी को ठीक किया गया
  • [बग ठीक किया गया] समस्या #154896775 बग सबमिट करने वाले टूल से जुड़ी समस्या ठीक की गई

32.1.15 (29 अगस्त, 2023)

इसे Android Studio Giraffe Patch 1 और Hedgehog Canary 16 के साथ टेस्ट किया गया है.

  • AAE Emulator में सेंसर के लिए, GAS के एचडब्ल्यू से जुड़ी ज़रूरी शर्तों का पालन करना
  • [गड़बड़ी ठीक की गई] समस्या #266201208 एपीआई 33 पर हिब्रू भाषा में एसएमएस नहीं भेजा जा रहा है
  • [गड़बड़ी ठीक की गई] समस्या #257097404 API 29 और 30 पर होस्ट के चालू होने के बाद, एम्युलेटर में सही समय नहीं दिखता
  • [बग ठीक किया गया] समस्या #228201899 Android Emulator के एक्सटेंडेड कंट्रोल में Google Maps नहीं दिख रहा है

32.1.14 (27 जून, 2023)

इसकी जांच Android Studio Hedgehog Canary 8, Giraffe Beta 5, और Flamingo Stable के साथ की गई है.

  • एम्युलेटर के कैमरे के ओरिएंटेशन और इमेज में होने वाली गड़बड़ियों को ठीक किया गया.
  • [बग ठीक किया गया] समस्या #257097404 "होस्ट डिवाइस को चालू करने के बाद, एम्युलेटर में सही समय नहीं दिखता". यह गड़बड़ी, एपीआई 29 और एपीआई 30 के लिए अब भी दोहराई जा सकती है.
  • [बग ठीक किया गया] समस्या #243456582 "API 30 के बाद वाले Android वर्शन, Mac M1 मशीनों पर एम्युलेटर में ठीक से शुरू नहीं हो सकते"

32.1.13 (22 मई, 2023)

इसे Android Studio Hedgehog Canary 2, Giraffe Beta 1, और Flamingo Stable के साथ टेस्ट किया गया है.

  • Pixel Fold और Pixel Tablet के एवीडी के लिए सहायता जोड़ी गई.
  • gLinux के क्रैश होने की समस्या को ठीक किया गया.
  • [बग ठीक किया गया] समस्या #215231636 "Intel 12th gen प्रोसेसर में, API 30 से ऊपर वाले एपीआई के साथ काम करने वाला एम्युलेटर काम नहीं कर रहा है".
  • [बग ठीक किया गया] समस्या #275397905 Android Emulator M1 में कर्सर को बार-बार अंदर और बाहर ले जाने पर, क्रैश होने की समस्या का लेवल ज़्यादा है.
  • जब नए एम्युलेटर की क्रैश रिपोर्ट मौजूद हो, तब एवीडी लॉन्च करने में आने वाली समस्या. ज़्यादा जानकारी के लिए, एम्युलेटर से जुड़ी समस्या हल करना देखें.

32.1.12 (21 मार्च, 2023)

इसे Android Studio Giraffe Canary 10, Flamingo RC, और Electric Eel Patch 2 के साथ टेस्ट किया गया है.

  • [बग ठीक किया गया] समस्या #267647323 Android Studio से शुरू किए गए एम्युलेटर पर नेटवर्क काम नहीं करता
  • [बग ठीक किया गया] समस्या #268498686 Emulator की स्क्रीन फ़्लिकर हो रही है
  • [गड़बड़ी ठीक की गई] समस्या #270034824 वर्शन 33.1.1 पर अपडेट करने के बाद, एम्युलेटर की परफ़ॉर्मेंस खराब हो गई
  • [बग ठीक किया गया] समस्या #225541819 Chrome शुरू करने पर, x86_64 पर Emulator क्रैश हो जाता है
  • [बग ठीक किया गया] समस्या #257097404 होस्ट के चालू होने के बाद, एम्युलेटर में सही समय नहीं दिखता
  • Apple M1 डिवाइसों के लिए क्रैश रिपोर्टिंग की सुविधा जोड़ना

32.1.11 (8 फ़रवरी, 2023)

इस सुविधा को Android Studio Giraffe Canary 2, Flamingo Beta 1, और Electric Eel Patch 1 के साथ टेस्ट किया गया है.

  • नेटवर्क की स्पीड को ऑप्टिमाइज़ करना
  • एम्बेड किए गए एम्युलेटर में माउस की सुविधा
  • Virtio-snd में सुधार
  • इंस्टॉल करने के दौरान, Android Emulator को अनज़िप करते समय सिमलंक के इस्तेमाल को बंद करें
  • एम्युलेटर-चेक में क्रैश होने की समस्या ठीक की गई

31.3.14 (13 दिसंबर, 2022)

इसे Android Studio Dolphin, Electric Eel RC1, और Flamingo Canary 9 के साथ टेस्ट किया गया है.

  • [गड़बड़ी ठीक की गई] Play Store में लॉग इन करते समय, AVD क्रैश होने की समस्या को ठीक किया गया.

31.3.13 (27 अक्टूबर, 2022)

इसकी जांच Android Studio Dolphin, Electric Eel Beta 2, और Flamingo Canary 5 के साथ की गई है.

  • [बग ठीक किया गया] समस्या #249948338: टाइम ज़ोन पैरामीटर काम नहीं कर रहा है
  • [बग ठीक किया गया] समस्या #249366543: API 31 के बाद, Emulator -dns-server विकल्प काम नहीं करता

31.3.12 (10 अक्टूबर, 2022)

इसे Android Studio Dolphin और Electric Eel Beta 1 के साथ टेस्ट किया गया है.

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • [बग ठीक किया गया] समस्या #247843000: एवीडी के रिलेटिव पाथ को हैंडल करने में गड़बड़ी
  • एपीआई 24 और इसके बाद के वर्शन के लिए, डिस्क का साइज़ बढ़ाना

31.3.11 (23 सितंबर, 2022)

इसकी जांच Android Studio Dolphin और Electric Eel Canary 10 के साथ की गई है.

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • [बग ठीक किया गया] एक्सटेंडेड कंट्रोल विंडो पर एंबेड किया गया एम्युलेटर एवीडी क्रैश हो जाता है
  • [गड़बड़ी ठीक की गई] समस्या #183139207: एम्युलेटर के माइक्रोफ़ोन चालू करने से जुड़ी ऑडियो समस्याएं
  • [गड़बड़ी ठीक की गई] समस्या #229764024: एवीडी में स्टिकी टच की गड़बड़ी की वजह से, यूज़र इंटरफ़ेस (यूआई) के काम करने से जुड़ी समस्याएं आ रही थीं
  • [गड़बड़ी ठीक की गई] Mac M1 पर API 33 AVD लॉन्च करने में गड़बड़ी.
  • [बग ठीक किया गया] समस्या #243053479: Emulator को अपडेट करने के बाद नेटवर्क की स्पीड धीमी हो जाती है
  • [बग ठीक किया गया] समस्या #244617627: Windows और Linux पर Maps में जगह की जानकारी काम नहीं कर रही है
  • [गड़बड़ी ठीक की गई] समस्या #232971796: एक्सटेंडेड कंट्रोल > फ़ोन पेज पर “डिवाइस पर कॉल करें” बटन काम नहीं कर रहा है
  • Android Emulator को minigbm पर अपडेट करना
  • बिल्ड स्क्रिप्ट को Python3 में माइग्रेट करना

31.3.10 (18 अगस्त, 2022)

इसकी जांच Android Studio Dolphin Beta 5 और Electric Eel Canary 9 के साथ की गई है.

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

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • Windows पर यूनिकोड पाथ के लिए बेहतर सपोर्ट
  • एम्युलेटर के बंद होने की समस्या को बेहतर तरीके से ठीक किया गया है, ताकि एक ही AVD को फिर से लॉन्च किया जा सके.
  • फ़ोल्ड किए जा सकने वाले एवीडी के डिज़ाइन और डिफ़ॉल्ट सेटिंग को अपडेट किया गया
  • Wear OS के एम्युलेटर में बटन अपडेट किए गए
  • gRPC ऑडियो स्ट्रीमिंग में सुधार
  • रीसाइज़ किए जा सकने वाले एम्युलेटर कंसोल कमांड को जोड़ा गया
  • Chrome Fix for API 31
  • [गड़बड़ी ठीक की गई] GmsCore v21.42.18 के साथ Google खाते की पुष्टि नहीं हो पाई

31.2.10 (20 अप्रैल, 2022)

इसकी जांच Android Studio Dolphin Canary 8 और Chipmunk RC 1 के साथ की गई है.

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • Vulkan फ़ंक्शन को फ़ॉलबैक के साथ लोड करने की सुविधा जोड़ें
  • [गड़बड़ी ठीक की गई] gcc8 बिल्ड की गड़बड़ी ठीक की गई

31.2.9 (23 मार्च, 2022)

इसकी जांच Android Studio Dolphin Canary 7 के साथ की गई है.

इस अपडेट में, यह समस्या ठीक की गई है:

  • [बग ठीक किया गया] M1 पर स्नैपशॉट सेव करते समय, मेमोरी पर पड़ने वाले दबाव को अनदेखा करें

31.2.8 (7 फ़रवरी, 2022)

इसकी जांच Android Studio Bumblebee Patch 1 और Chipmunk Canary 6 के साथ की गई है.

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • [बग ठीक किया गया] ऐप्लिकेशन में साइन इन नहीं किया जा सका
  • [बग ठीक किया गया] समस्या #215368358: Intel प्लैटफ़ॉर्म पर "adb reboot" कमांड का इस्तेमाल करने पर, "vcpu shutdown request" की वजह से एवीडी क्रैश हो जाएगा

31.2.7 (1 फ़रवरी, 2022)

इसकी जांच Android Studio Bumblebee Patch 1 और Chipmunk Canary 6 के साथ की गई है.

इस अपडेट में, यह समस्या ठीक की गई है:

  • [बग ठीक किया गया] M1 मशीन पर एम्युलेटर के हैंग होने की गड़बड़ी ठीक की गई.

31.2.6 (20 जनवरी, 2022)

इसकी जांच Android Studio Arctic Fox, Bumblebee Beta 4, और Chipmunk Canary 6 के साथ की गई है.

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • Wear OS एम्युलेटर में Wear बटन जोड़े गए.
  • वीएचएएल टैब में, वाहन की सभी प्रॉपर्टी में बदलाव करने की सुविधा जोड़ी गई.
  • [गड़बड़ी ठीक की गई] GmsCore v21.42.18 के साथ Google खाते की पुष्टि नहीं हो पाई.
  • [बग ठीक किया गया] Netshaper, VirtioWifi के साथ ठीक से काम नहीं कर रहा था.
  • [बग ठीक किया गया] इवेंट माउस कंसोल कमांड काम नहीं कर रही थी.
  • लोकल AVD बनाने के लिए, KVM की जांच करने की सुविधा जोड़ी गई.

31.1.3 (18 जनवरी, 2022)

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • Fuchsia के लिए कंसोल पोर्ट चालू किए गए.
  • एक से ज़्यादा डिसप्ले वाली विंडो का साइज़ बदलते समय, ओरिएंटेशन को अनदेखा कर दिया जाता है.
  • वाई-फ़ाई: MAT मैक पते के आधार पर, यूनिकास्ट पैकेट को फ़िल्टर करने की सुविधा जोड़ी गई है.
  • वाई-फ़ाई: vmnet का इस्तेमाल करते समय क्रैश होने की समस्या ठीक की गई.

30.9.5 (15 दिसंबर, 2021)

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • डेस्कटॉप या टैबलेट के साइज़ की विंडो में आसानी से साइज़ बदलने की सुविधा जोड़ी गई है.
  • इस सुविधा के साथ काम करने वाले होस्ट डिवाइसों से, मल्टी-टच इनपुट की सुविधा जोड़ी गई है.
  • VirtioWifi: टैप नेटवर्क के लिए सहायता जोड़ी गई.
  • Wear सिस्टम इमेज के लिए, रोटरी इनपुट की सुविधा चालू की गई.
  • gRPC ऑडियो कॉन्फ़िगरेशन से जुड़ी समस्या को ठीक किया गया.
  • SensorReplay Emulator Playback को अपडेट किया गया है, ताकि यह स्टैंडर्ड Android सेंसर के साथ काम कर सके.
  • यूएसबी पास थ्रू की सुविधा का इस्तेमाल करके, यूएसबी की मदद से इम्यूलेटर को सहायक डिवाइसों और अन्य डिवाइसों से कनेक्ट किया गया हो.

30.4.5 (23 फ़रवरी, 2021)

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • macOS: ऑडियो इनपुट में गड़बड़ी होने की समस्याएं ठीक की गईं.
  • उपयोगकर्ता स्पेस में virtio-vsock के लिए सहायता जोड़ी गई.
  • आने वाले समय में, सिस्टम इमेज में logcat और कर्नल मैसेज के लिए virtio-console का इस्तेमाल किया जाएगा.
  • Vulkan रेंडरिंग की स्पीड बढ़ाएं.
  • जांच के दौरान गड़बड़ी होने पर, स्नैपशॉट डीबग करने की सुविधा जोड़ी गई.
  • virtio-gpu: नई परिभाषाएं जोड़ी गईं, ताकि नई blob रिसॉर्स enum का इस्तेमाल किया जा सके.
  • 'asg' टाइप के ग्राफ़िक ट्रांसपोर्ट के लिए स्नैपशॉट की सुविधा जोड़ी गई.
  • macOS: macOS SDK 11.1 और इसके बाद के वर्शन के साथ काम करने की सुविधा जोड़ी गई.
  • KVMclock, नई सिस्टम इमेज पर डिफ़ॉल्ट रूप से चालू होता है.
  • Wear के एम्युलेटर में, धड़कन की दर मापने वाले सेंसर के लिए सहायता जोड़ी गई.
  • libportability Vulkan बैकएंड को हटा दिया गया है.
  • मोडम सिम्युलेटर में ज़्यादा सुविधाओं के लिए सहायता जोड़ी गई.

30.0.26 (16 अगस्त, 2020)

इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.

वर्चुअल हिंज सेंसर और 3D व्यू के साथ फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए सहायता

  • फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए, हिंज सेंसर की सुविधा जोड़ी गई है. इसके लिए, Android 11 की सिस्टम इमेज और AVD कॉन्फ़िगरेशन की ज़रूरत होगी. 3D फ़ोल्ड करने की सुविधा और हिंज के पैरामीटर को अब फ़ोल्ड किए जा सकने वाले मौजूदा प्रीसेट के साथ इंटिग्रेट कर दिया गया है. इनका इस्तेमाल किया जा सकता है. उदाहरण के लिए, फ़ोल्ड किए जा सकने वाले 7.3 AVD की config.ini फ़ाइल:

    hw.sensor.hinge = yes
    hw.sensor.hinge.count = 1
    hw.sensor.hinge.type = 1
    hw.sensor.hinge.ranges = 180-360
    hw.sensor.hinge.defaults = 180
    hw.sensor.hinge.areas = 54.7-0
    hw.sensor.posture_list=4, 3
    hw.sensor.hinge_angles_posture_definitions=210-360, 180-210
    hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4
    
  • फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए, अब सब-टाइप पैरामीटर भी उपलब्ध है. config.ini प्रॉपर्टी hw.sensor.hinge.sub_type = hinge/fold अब उपलब्ध है. ज़्यादा जानने के लिए, Android Emulator की मदद से Android 11 के लिए डेवलपमेंट करना ब्लॉग पोस्ट पढ़ें.

  • अब हिंज सेंसर डिफ़ॉल्ट रूप से चालू होता है.

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

ARM64 होस्ट के लिए एम्युलेटर

  • Linux इम्यूलेटर का सोर्स कोड अब x86_64 से arm64 होस्ट तक क्रॉस कंपाइलेशन के साथ काम करता है. इससे KVM वर्चुअलाइज़ेशन के साथ arm64 सिस्टम इमेज को चलाया जा सकता है. फ़िलहाल, सिर्फ़ -gpu swiftshader_indirect (Swiftshader arm64 होस्ट रेंडरिंग) काम करता है. हालांकि, lib64/gles_swiftshader को बदलकर, होस्ट जीपीयू libEGL/libGLESv2 लाइब्रेरी के साथ काम करने वाले सेट का इस्तेमाल भी किया जा सकता है. इसके बाद, -gpu swiftshader_indirect की मदद से फिर से लॉन्च किया जा सकता है. ऐसा हो सकता है कि स्नैपशॉट की सुविधा भी काम न कर रही हो. इसके लिए, कमांड लाइन में -no-snapshot जोड़ें. निर्देश:

    mkdir emu
    cd emu
    repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1
    repo sync -qcj 12
    cd external/qemu
    pip install absl-py
    pip install urlfetch
    sudo apt-get install crossbuild-essential-arm64
    python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64
    
  • Apple Silicon के लिए सहायता सेवा उपलब्ध कराने पर काम चल रहा है.

virtio-gpu की सुविधा

  • आने वाले virtio-gpu होस्ट कोहेरेंट blob रिसॉर्स के लिए, होस्ट साइड पर सहायता जोड़ी गई.
  • एम्युलेटर रेंडरिंग के काम करने के तरीके की वजह से, अब हम वीसीपीयू थ्रेड में virtio-gpu virtqueue को प्रोसेस करते हैं. ऐसा इसलिए, क्योंकि रेंडरिंग को किसी भी तरह से अन्य थ्रेड पर ऑफ़लोड किया जाता है. virtio-gpu रेंडरिंग, सिस्टम इमेज और एम्युलेटर के आने वाले वर्शन में चालू की जाएगी.
  • आने वाले समय में, सिस्टम इमेज में एम्युलेटर, virtio-gpu पर आधारित स्टैक की मदद से सभी ग्राफ़िक चला सकेगा.

अन्य नई सुविधाएं और सुधार

  • -qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id> का इस्तेमाल करके, अब Windows पर यूएसबी पासथ्रू की सुविधा उपलब्ध है. (यह सुविधा Linux और macOS पर पहले से काम कर रही है)
  • WebRTC लाइब्रेरी को M83 पर अपडेट किया गया.
  • इमुलेटर अब WebRTC पर कंटेनर में ऑडियो स्ट्रीमिंग की सुविधा देता है.
  • darwinn पाइप एंडपॉइंट को हटा दिया गया है.
  • अगर हार्डवेयर में CUDA VPx डिकोड उपलब्ध है, तो अब वीडियो के लिए CUDA VPx डिकोड उपलब्ध है. इसे एनवायरमेंट वैरिएबल ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 के ज़रिए इस्तेमाल किया जा सकता है.
  • macOS पर, अब Android गेस्ट के अंदर से SSE 4.1 और 4.2 का इस्तेमाल किया जा सकता है.
  • macOS पर, INVTSC अब डिफ़ॉल्ट रूप से चालू है. इससे मेहमान के समय के मेज़रमेंट की सटीकता को बेहतर बनाया जा सकता है.
  • अब हम मेट्रिक में यह ट्रैक करते हैं कि उपयोगकर्ता ने कौनसे एक्सटेंडेड कंट्रोल पैनल को चुना है.
  • Linux इम्यूलेटर अब KVM पैरावर्चुअलाइज़्ड क्लॉक का इस्तेमाल करता है. ऐसा तब होता है, जब गेस्ट कर्नल का वर्शन >= 5.4 (R सिस्टम इमेज या बाद का वर्शन) हो.
  • इमुलेटर अब गेस्ट कर्नल को डीकंप्रेस करने के लिए LZ4 का इस्तेमाल करता है. इससे यह आधुनिक कर्नल पाइपलाइन के साथ काम कर पाता है.
  • एम्युलेटर एवीडी डायरेक्ट्री, Studio में एम्बेड किए गए इस्तेमाल के उदाहरण में डिस्कवरी फ़ाइल का पाथ, और स्नैपशॉट का पाथ पाने के लिए, कंसोल कमांड जोड़ी गईं:

    adb emu avd path # Obtains path to AVD directory
    adb emu avd discoverypath # Obtains path to discovery file
    adb emu avd snapshotspath # Obtains path to snapshots folder
    adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
    
  • वर्टिकल स्क्रीन पर ज़्यादा जगह बचाने के लिए, हमने ज़्यादा कंट्रोल > सेटिंग में, मौजूदा एवीडी के लिए डिवाइस फ़्रेम को छिपाने का विकल्प जोड़ा है. सभी एवीडी के लिए डिवाइस फ़्रेम को ग्लोबल लेवल पर छिपाने के लिए, हमने NoDeviceFrame फ़ीचर फ़्लैग उपलब्ध कराया है. इसे चालू करने के लिए, कमांड लाइन से -feature NoDevice फ़्रेम के साथ एम्युलेटर लॉन्च करें. इसे लॉक करने के लिए, ~/.android/advancedFeatures.ini में NoDeviceFrame = on जोड़ें. अगर यह फ़ाइल पहले से मौजूद नहीं है, तो इसे बनाएं.

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

    • इसी मकसद के लिए, कंसोल कमांड भी जोड़ी गई है: gsm meter on|off
  • C++17 के लिए, टूलचेन / बिल्ड को अपग्रेड किया गया.

ठीक की गई समस्याएं: एम्बेड किया गया एम्युलेटर

  • अब क्लिपबोर्ड काम करेगा.
  • एम्युलेटर में, अपरकेस वर्णों को लोअर केस वर्णों के तौर पर डिलीवर करने की समस्या को ठीक किया गया है.
  • Windows में यूनिकोड पाथ से कंसोल टोकन लोड करने की समस्या ठीक की गई.
  • Linux पर SO_REUSEPORT गड़बड़ी के मैसेज को ठीक किया गया.
  • हमने स्नैपशॉट खराब होने की समस्या को ठीक कर दिया है. यह समस्या, gRPC के ज़रिए स्नैपशॉट कमांड भेजने के साथ-साथ Android Studio में एम्बेड किए गए एम्युलेटर में, स्नैपशॉट सेव करने के बटन को दबाने पर आ रही थी.
  • Studio में एम्बेड किए गए Linux इम्यूलेटर का इस्तेमाल करते समय, हमें पता चला कि अगर Chrome Remote Desktop के ज़रिए ऐसा किया जाता है, तो एक गड़बड़ी होती है. इसमें XDG_RUNTIME_DIR सेट नहीं होता है. इसकी वजह से, एम्बेड किया गया इम्यूलेटर नहीं दिख सकता है, क्योंकि इम्यूलेटर डिस्कवरी फ़ाइलों को XDG_RUNTIME_DIR में रखा जाता है. Chrome के समस्या ट्रैकर में जाकर, इससे जुड़ी समस्या की स्थिति देखी जा सकती है.

    इस समस्या को हल करने के लिए, अब एम्युलेटर, डिस्कवरी फ़ाइलों का इस्तेमाल करता है. ये फ़ाइलें, उपयोगकर्ता के यूआईडी के आधार पर किसी दूसरी डायरेक्ट्री में मौजूद हो सकती हैं: /run/user/&lt;uid>.

  • एम्बेड किया गया एम्युलेटर: गोल कोनों/नॉच वाले डिवाइसों का लेआउट अब ठीक से बदल जाता है, ताकि कोनों और नॉच के लिए जगह बन सके. इसके लिए, उन इम्यूलेटर को कोल्ड बूट करना होगा.

  • gRPC एंडपॉइंट अब डिवाइस पर एसएमएस भेजने की सुविधा देता है.

सामान्य समस्याएं ठीक करना

  • हमने देखा है कि Riot Vanguard चालू होने पर, Windows Emulator को चलाने में समस्याएं आ रही हैं. Windows Emulator अब Vanguard anti-cheat का पता लगाता है. अगर Vanguard का पता चलता है, तो यह चेतावनी वाला मैसेज दिखाता है.
  • Windows पर FD_SETSIZE से जुड़ी गड़बड़ी को ठीक किया गया. अब हम लूपबैक सर्वर से नॉन-ब्लॉकिंग कनेक्शन बनाने के लिए, select() के बजाय WSAEventSelect() का इस्तेमाल करते हैं.
  • Linux इम्यूलेटर में F16C CPUID सुविधा के लिए सहायता जोड़ी गई है. साथ ही, NDK ट्रांसलेशन के ज़रिए कुछ ARM64 ऐप्लिकेशन चलाने से जुड़ी समस्याओं को ठीक किया गया है. macOS/Windows पर काम जारी है.
  • टाइमस्टैंप के हिसाब से, gpx/kml फ़ाइल में सेव किए गए रास्ते को चलाने की सुविधा ठीक की गई.
  • MacOs के लिए, लॉन्च के समय आइकॉन के उछलने की समस्या ठीक की गई.
  • config.ini में hw.audioInput=no और hw.audioOutput=no के लिए, एम्युलेटर ऑडियो की सुविधा अब ठीक से बंद हो गई है.
  • उस समस्या को ठीक किया गया है जिसमें एक्सटेंडेड कंट्रोल विंडो खुली होने पर, अगर एम्युलेटर विंडो को छोटा किया जाता था, तो एक्सटेंडेड कंट्रोल विंडो दिखती रहती थी. हालांकि, ऐसा तब होता था, जब एक्सटेंडेड कंट्रोल विंडो ऐक्टिव नहीं होती थी. हम आने वाले समय में होने वाले अपडेट में, इस व्यवहार को पूरी तरह से हटा देंगे. ऐसा तब होगा, जब एक्सटेंडेड कंट्रोल वाली विंडो चालू होगी.
  • एम्युलेटर शुरू होने पर, वाई-फ़ाई कनेक्ट न होने की समस्या ठीक कर दी गई है.
  • जब एम्युलेटर, शेल कमांड को लंबे या अनिश्चित समय के लिए टाइम आउट करता है, तो बंद होने में होने वाली समस्या को ठीक किया गया.
  • पीसी-बायोस को अपडेट किया गया है. इसमें बड़ी इमेज को -initrd में पास करने की सुविधा को बेहतर बनाने के लिए सुधार किए गए हैं; पिछले BIOS में, बहुत ही खराब तरीके का इस्तेमाल किया गया था.
  • -wifi-server-port विकल्प का इस्तेमाल करने पर, बंद होने के दौरान क्रैश होने की समस्या ठीक की गई.
  • अगर -prop में ऐसे विकल्प पास किए जाते हैं जो काम नहीं करते हैं, तो अब एम्युलेटर एक चेतावनी दिखाता है (सिर्फ़ qemu.* प्रॉपर्टी काम करती हैं).
  • Windows पर एम्युलेटर बनाते समय, फ़ाइलों में लिखने से जुड़ी गड़बड़ियों के दिखने की संभावना कम होनी चाहिए. ज़्यादा जानकारी के लिए, Windows बिल्ड से जुड़े निर्देश देखें.
  • फ़ोल्ड किए जा सकने वाले एवीडी के लिए, ज़ूम करने की सुविधा वाले बटन को बंद कर दिया गया है. इससे समस्याएं आ रही थीं.
  • अब एम्युलेटर, डिवाइस के रीबूट होने के समय को सही तरीके से रिपोर्ट करता है.
  • Linux: अगर KVM की अनुमतियां काफ़ी नहीं हैं, तो अब एम्युलेटर डीबग करने के निर्देश तुरंत प्रिंट करेगा.
  • उस समस्या को ठीक किया गया है जिसकी वजह से, बिना ऐक्सेलरेटर के हाल ही की सिस्टम इमेज को बूट नहीं किया जा सका.
  • बूट-कंप्लीटेड डिटेक्टर से शुरू होने पर, मेमोरी करप्ट होने या क्रैश होने की समस्या ठीक की गई.
  • स्क्रीन रिकॉर्डिंग के लंबे सेशन के दौरान मेमोरी लीक होने की समस्या ठीक की गई.
  • Studio 4.1 की ब्रैंडिंग दिखाने के लिए, एम्युलेटर आइकॉन अपडेट किए गए.
  • Windows पर रिमोट सेशन का पता लगाने की सुविधा को बेहतर बनाया गया है.

सुधार: ग्राफ़िक और वीडियो डिकोड करने से जुड़ी समस्याएं ठीक की गईं

  • हमने उस समस्या को ठीक किया है जिसकी वजह से, Asphalt 9 गेम की नई स्क्रीन काली दिख रही थी.
  • NULL की मदद से मैप किए गए बफ़र को फ़्लश करने के बारे में स्पैम हटाया गया.
  • Vulkan का इस्तेमाल करने वाले मेहमान ऐप्लिकेशन के बंद होने पर, Vulkan की स्थिति को खत्म करते समय होने वाली रेस कंडीशन को ठीक किया गया है.
  • Vulkan ASTC/ETC2 इम्यूलेशन शेडर अब libOpenglRender लाइब्रेरी में शामिल कर दिए गए हैं. यह फ़ाइल सिस्टम से पढ़ने की तुलना में ज़्यादा भरोसेमंद होगा.
  • Vulkan में एक समस्या ठीक की गई है. इसमें अगर होस्ट पर Vulkan 1.0 इंस्टेंस का इस्तेमाल किया जा रहा है, तो vkGetImageMemoryRequirements2KHR, VkMemoryRequirements2 स्ट्रक्चर के pNext फ़ील्ड को गलत तरीके से साफ़ कर देता था.
  • Vulkan रेंडरर में मेमोरी लीक की समस्या ठीक की गई.
  • हाल ही में हुई एक समस्या को ठीक किया गया है. इस समस्या में, isampler2D जैसे वैरिएबल नामों वाले GLSL ES 1.00 शेडर कंपाइल नहीं हो पाते थे.
  • ANGLE शेडर ट्रांसलेटर को अपडेट किया गया है. इसमें कई ऐसे सुधार किए गए हैं जिनसे Linux पर शेडर कंपाइल न होने की समस्या ठीक हो सकती है.
  • अगर बुनियादी फ़्रेमबफ़र ब्लिट शेडर कंपाइल नहीं होता है, तो अब हम इम्यूलेटर को क्रैश कर देते हैं, ताकि इस समस्या पर नज़र रखी जा सके.
  • ANGLE के अपस्ट्रीम वर्शन के साथ काम करने के लिए, ANGLE शेडर ट्रांसलेटर को अपडेट किया गया. इससे, अनुवाद करते समय मेमोरी करप्ट होने की समस्या ठीक हो गई है. साथ ही, OpenGL ES शेडर को लगातार फ़ोल्ड करने की समस्या भी ठीक हो गई है. इन शेडर में नॉन-स्क्वेयर मैट्रिक्स का इस्तेमाल किया जाता था. शेडर ट्रांसलेटर अब एक अलग शेयर की गई लाइब्रेरी, libshadertranslator.dll है.
  • कुछ GPU ड्राइवर पर Vulkan को शुरू करने से जुड़ी समस्या को ठीक किया गया है. इसमें 1.1 वर्शन के कुछ डिवाइस फ़ंक्शन नहीं मिल रहे थे.
  • Vulkan: हमने पहले से मौजूद लोडर का इस्तेमाल फिर से शुरू कर दिया है, क्योंकि सिस्टम Vulkan लोडर का इस्तेमाल करने से कुछ सेटअप में समस्याएं आ रही थीं. हम बेहतर समाधान ढूंढेंगे.
  • Vulkan की बाहरी मेमोरी का इस्तेमाल करते समय होने वाली समस्या को ठीक किया गया है. इस समस्या में, होस्ट पर मेमोरी टाइप इंडेक्स को इंपोर्ट करते समय गड़बड़ी हो सकती थी.
  • GL_ALIASED_POINT_SIZE_RANGE के इम्यूलेशन में मौजूद उस समस्या को ठीक किया गया है जिसमें होस्ट पर enum काम नहीं कर रहा था.
  • उस समस्या को ठीक किया गया है जिसमें कुछ होस्ट जीपीयू पर, GL_EXT_shader_framebuffer_fetch से जुड़ी गड़बड़ियों की वजह से Skia शेडर कंपाइल नहीं हो पाते थे.
  • D3D9 ANGLE रेंडरर की हमारी कॉपी को कुछ वर्शन पहले हटा दिया गया था. इसलिए, अब हम उन उपयोगकर्ताओं को भी d3d11 ANGLE पर अपने-आप स्विच कर देते हैं जिन्होंने यूज़र इंटरफ़ेस (यूआई) की प्राथमिकताओं में इसे चुना था.
  • Windows पर WGL को शुरू करने के दौरान, डीबग करने की ज़्यादा जानकारी जोड़ी गई है, ताकि गड़बड़ियों का पता लगाया जा सके.
  • जब hw.gltransport=virtio-gpu-pipe चालू होता है, तो होस्ट से मेहमान को ट्रांसफ़र करते समय, होस्ट पर स्पिन नहीं होता. इससे परफ़ॉर्मेंस बेहतर होती है.
  • OpenGLES इम्यूलेशन के शुरू न होने पर, डीबग लॉगिंग की सुविधा जोड़ी गई.
  • स्नैपशॉट लोड होने पर, YouTube वीडियो के फ़्लिकर होने या न दिखने की समस्या ठीक की गई है.
  • फ़िलहाल, libvpx के लिए सॉफ़्टवेयर डिकोड पर वापस स्विच कर दिया गया है, क्योंकि हमें libvpx के CUDA हार्डवेयर डिकोड में समस्याएं मिली हैं. अगर होस्ट साइड पर CUDA हार्डवेयर डिकोड करने की सुविधा काम करती है, तो libvpx के हार्डवेयर डिकोड करने की सुविधा को फिर से चालू किया जा सकता है. इसके लिए, एनवायरमेंट वैरिएबल ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 का इस्तेमाल करें.

30.0.10 (30 अप्रैल, 2020)

इस अपडेट में, Android Studio में सीधे तौर पर एम्युलेटर चलाने की सुविधा शामिल है. साथ ही, इसमें वर्चुअल डिवाइसों के लिए फ़्रीफ़ॉर्म विंडो मोड की सुविधा डिफ़ॉल्ट रूप से चालू होती है.

Android Studio में Emulator चलाना

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

फ़्रीफ़ॉर्म विंडो मोड

अब Android Studio में वर्चुअल डिवाइस बनाते समय, 13.5 इंच की फ़्रीफ़ॉर्म टैबलेट हार्डवेयर प्रोफ़ाइल को चुनकर, फ़्रीफ़ॉर्म विंडो मोड वाला AVD बनाया जा सकता है. इस हार्डवेयर प्रोफ़ाइल के लिए, Android 11 डेवलपर के लिए झलक 3 या इसके बाद के वर्शन वाली सिस्टम इमेज की ज़रूरत होती है.

पहले से मालूम समस्याएं

फ़िलहाल, विंडो मैनेजर को फ़ोकस ट्रांसफ़र करने से जुड़ी समस्याओं की वजह से, फ़्रीफ़ॉर्म विंडो का साइज़ बदलने की सुविधा काम नहीं कर रही है. इस समस्या को Android 11 के आने वाले सिस्टम इमेज रिलीज़ में ठीक कर दिया जाएगा.

30.0.0 (19 फ़रवरी, 2020)

इस अपडेट में, Android 11 (एपीआई लेवल 30) की सिस्टम इमेज शामिल हैं. साथ ही, ARM बाइनरी चलाने पर परफ़ॉर्मेंस को बेहतर बनाया गया है.

Android 11 की सिस्टम इमेज

अब Android 11 पर चलने वाला AVD बनाया जा सकता है. इसके लिए, एपीआई लेवल 30 की उपलब्ध सिस्टम इमेज में से कोई एक चुनें:

  • x86: इसमें x86 और ARMv7, दोनों एबीआई शामिल हैं.
  • x86_64: इसमें x86, x86_64, ARMv7, और ARM64 एबीआई शामिल हैं.

Android 9 और 11 की सिस्टम इमेज पर, एआरएम बाइनरी के लिए सहायता

अगर आपका ऐप्लिकेशन ARM बाइनरी पर निर्भर था और इस वजह से, आपको Android Emulator का इस्तेमाल करने में समस्या आ रही थी, तो अब अपने ऐप्लिकेशन को चलाने के लिए, Android 9 x86 सिस्टम इमेज या Android 11 की किसी भी सिस्टम इमेज का इस्तेमाल किया जा सकता है. अब ARM बाइनरी चलाने के लिए, किसी खास सिस्टम इमेज को डाउनलोड करना ज़रूरी नहीं है. Android 9 और Android 11 की ये सिस्टम इमेज, डिफ़ॉल्ट रूप से एआरएम के साथ काम करती हैं. साथ ही, एआरएम के पूरे इम्यूलेशन के साथ काम करने वाली इमेज की तुलना में, इनकी परफ़ॉर्मेंस काफ़ी बेहतर होती है.

पहले से मालूम समस्याएं

  • कुछ ARMv7 बाइनरी, Android 11 x86 और x86_64 सिस्टम इमेज पर नहीं चलती हैं. Android 11 को टारगेट करते समय, ARM64 के लिए ऐप्लिकेशन बनाएं.

29.0.11 (29 मई, 2019)

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • Windows: अब एम्युलेटर, libgcc के साथ स्टैटिक तौर पर कंपाइल होने के बजाय, हमारे शिप किए गए libgcc DLL पर निर्भर करता है.
  • Linux: gRPC API में logcat की सुविधा जोड़ी गई. gRPC के बारे में ज़्यादा जानने के लिए, gRPC स्ट्रीमिंग एम्युलेटर (Linux) देखें.
  • एम्युलेटर में अब 32-बिट x86 गेस्ट के लिए हेडलेस बिल्ड शामिल है (qemu-system-i386). इस सुविधा की मदद से, एपीआई लेवल 26 और इससे कम वाले x86 32-बिट इमेज को हेडलेस बिल्ड के साथ चलाया जा सकता है. ध्यान दें कि API 27 और इसके बाद के वर्शन वाले 32-बिट x86 गेस्ट के लिए, एम्युलेटर 64-बिट इंजन (qemu-system-x86_64) का इस्तेमाल करता है. ऐसा इसलिए, क्योंकि इन सिस्टम इमेज में, userspace 32-बिट होता है, जबकि कर्नेल 64-बिट होता है. Android Studio, इम्यूलेशन इंजन चुनने के लिए कर्नल का इस्तेमाल करता है.
  • अब ANDROID_QT_LIB_PATH एनवायरमेंट वैरिएबल का इस्तेमाल करके, Qt लाइब्रेरी के कस्टम पाथ तय किए जा सकते हैं.
  • अगर QEMU1 एक्ज़ीक्यूटेबल (emulator[64]-[x86|arm|etc]) को एम्युलेटर डायरेक्ट्री में रखा गया है, तो अब QEMU1 का इस्तेमाल करने वाली पिछली बाइनरी के साथ एम्युलेटर चलाया जा सकता है.
  • Windows: उस समस्या को ठीक किया गया है जिसकी वजह से कभी-कभी एम्युलेटर शुरू नहीं हो पाता था. इस दौरान, "वीसीपीयू बंद करने का अनुरोध" मैसेज दिखता था.
  • Vulkan में, कंप्रेस की गई बनावटों का इम्यूलेशन करते समय, पाइपलाइन में मौजूद गैर-ज़रूरी रुकावट से जुड़ी समस्या को ठीक किया गया है.
  • chunked transfer encoding का इस्तेमाल करने पर, http प्रॉक्सी अनुरोधों से जुड़ी गड़बड़ी को ठीक किया गया. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें.

29.0.9 (7 मई, 2019)

इस अपडेट में, यह समस्या ठीक की गई है:

  • Windows: उस समस्या को ठीक कर दिया गया है जिसकी वजह से एम्युलेटर पर वर्चुअल सीन कैमरा और वेबकैम काम नहीं कर रहे थे.

29.0.8 (6 मई, 2019)

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • जब गेस्ट सेवा हर डिसप्ले को गिनने और सेट करने के लिए होती है, तब एक से ज़्यादा वर्चुअल हार्डवेयर डिसप्ले के लिए सहायता जोड़ी गई. आने वाले समय में, एम्युलेटर सिस्टम इमेज के अपडेट में कई वर्चुअल हार्डवेयर डिसप्ले शामिल किए जाएंगे.
  • एक नया कमांड लाइन विकल्प जोड़ा गया है: -delay-adb. इस विकल्प से, मेहमान के बूट होने (कोल्ड बूट से) तक, ADB पैकेट की प्रोसेसिंग बंद हो जाती है. इस विकल्प से उन समस्याओं को हल करने में मदद मिलती है जो सीआई एनवायरमेंट में एम्युलेटर का इस्तेमाल करने पर हो सकती हैं. ऐसा तब होता है, जब एम्युलेटर रीबूट होता है और एक ही समय में DDMS का इस्तेमाल करता है.
  • स्नैपशॉट लोड करते समय होने वाली गड़बड़ी को ठीक किया गया है. इस गड़बड़ी में, glIsRenderbuffer गलत वैल्यू दिखाता था.
  • Android डिवाइस को मेहमान के तौर पर रीबूट करने पर, पुरानी स्थिति से जुड़ी कुछ समस्याएं ठीक की गईं.
  • Windows: उन समस्याओं को ठीक किया गया जिनकी वजह से, Windows के उपयोगकर्ता नाम में ASCII के बाहर के वर्ण या स्पेस होने पर, एम्युलेटर शुरू नहीं हो पाता था.

पहले से मालूम समस्याएं

  • ऑटोमोटिव सिस्टम इमेज के लिए, स्नैपशॉट यूज़र इंटरफ़ेस (यूआई) बंद है. ऐसा इसलिए है, क्योंकि फ़िलहाल इन सिस्टम इमेज के लिए स्नैपशॉट की सुविधा उपलब्ध नहीं है.

29.0.6 (1 मई, 2019)

इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.

QEMU1 और 32-बिट Windows के लिए सहायता बंद कर दी गई है

एम्युलेटर को बेहतर तरीके से बनाए रखने के लिए, अब हम QEMU1 और 32-बिट Windows बाइनरी शिप नहीं करते हैं. अगर Windows 32-बिट का इस्तेमाल किया जा रहा है, तो 29.0.6 वर्शन पर अपग्रेड नहीं किया जा सकता.

Android Q की सिस्टम इमेज के लिए ज़रूरी शर्तें

अगर आपको Android Q सिस्टम इमेज का इस्तेमाल करने वाला AVD चलाना है, तो अब आपको 29.0.6 (यह रिलीज़ के लिए तैयार वर्शन) या उसके बाद के वर्शन का इस्तेमाल करना होगा.

Project Marble में किए गए सुधार

यह अपडेट, Project Marble पहल के तहत किए जा रहे हमारे काम का हिस्सा है. इस पहल का एलान, नवंबर 2018 में Android Developer Summit में किया गया था. पिछली रिलीज़ में, Project Marble से जुड़े अन्य सुधारों के बारे में ज़्यादा जानने के लिए, Android Emulator: Project Marble से जुड़े सुधार लेख पढ़ें.

इस अपडेट के लिए, Project Marble के तहत किए गए ज़्यादातर काम में, एम्युलेटर के संसाधन इस्तेमाल को कम करने पर ध्यान दिया गया. जैसे, एम्युलेटर के इस्तेमाल में न होने पर सीपीयू के इस्तेमाल को कम करना. हमने ऐसे बदलाव भी किए हैं जिनसे अलग-अलग एनवायरमेंट में एम्युलेटर का इस्तेमाल करना आसान हो गया है. साथ ही, हमने क्वालिटी से जुड़ी सामान्य समस्याओं को ठीक किया है.

यहां दिए गए सेक्शन में, Project Marble से जुड़े उन सुधारों के बारे में बताया गया है जो इस अपडेट में शामिल हैं:

होस्ट के ऑडियो से जुड़ी सेटिंग में सुधार

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

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

अगर कमांड लाइन का इस्तेमाल किया जा रहा है, तो -allow-host-audio विकल्प का इस्तेमाल करके भी होस्ट ऑडियो की सुविधा चालू की जा सकती है. साथ ही, होस्ट ऑडियो डेटा को चालू या बंद करने के लिए, यहां दिए गए ADB कमांड का इस्तेमाल किया जा सकता है:

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

हेडलेस एम्युलेटर बिल्ड के लिए सुधार

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

इस अपडेट के साथ, हमने कुछ और सुधार किए हैं. इससे एम्युलेटर को कम से कम डिपेंडेंसी के साथ चलाने में मदद मिलेगी. Linux पर, हेडलेस बिल्ड में अब pulseaudio या libX11 लाइब्रेरी शामिल नहीं होती हैं. सिस्टम पर निर्भर, शेयर की गई ऐसी लाइब्रेरी की संख्या कम कर दी गई है जिन्हें एम्युलेटर के साथ पैकेज नहीं किया गया है. इनकी सूची यहां दी गई है:

  • Linux-vdso.so.1
  • Libutil.so.1
  • Libm.so.6
  • Libdl.so.2
  • Librt.so.1
  • Libpthread.so.0
  • Libgcc_s.so.1
  • Libc.so.6
  • ld-linux-x86-64.so.2

Qt यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी को 5.12 एलटीएस में अपग्रेड किया गया

इस अपडेट में, Qt 5.12 एलटीएस रिलीज़ में किए गए ये सुधार शामिल हैं:

  • कुछ सिस्टम इमेज शुरू करते समय, Qt में libpng डिकोडिंग के दौरान क्रैश होने से बचने के लिए, अब इम्यूलेटर, पीएनजी इमेज को डिकोड करने के लिए libpng की अपनी कॉपी का इस्तेमाल करता है.
  • कुछ Linux इंस्टॉलेशन में, Qt पर निर्भर कुछ लाइब्रेरी के साथ काम न करने वाले वर्शन से जुड़ी समस्याओं को ठीक करने के लिए, अब हम एम्युलेटर के साथ libfreetype, libsoftokn, libsqlite3, और libxkbcommon को पैकेज करते हैं.
  • अब मॉनिटर के डाइमेंशन पाने के लिए, एमुलेटर Qt लाइब्रेरी के बजाय प्लैटफ़ॉर्म की नेटिव विंडोइंग लाइब्रेरी का इस्तेमाल करता है. Qt लाइब्रेरी से भरोसेमंद नतीजे नहीं मिलते थे.

कोल्ड बूट के बाद, सीपीयू के अपने-आप ऑप्टिमाइज़ होने की सुविधा

सीपीयू के इस्तेमाल की समस्या को ठीक करने के लिए, अब एम्युलेटर को boot complete सिग्नल मिलने के बाद, कोल्ड बूट पर ये ADB निर्देश चलाने होते हैं:

adb shell settings put screen_off_timeout 214783647
इस कमांड से, स्क्रीन बंद होने का टाइमआउट बढ़ जाता है. इससे, बैटरी मोड में बिना चार्ज किए ही एम्युलेटर का इस्तेमाल किया जा सकता है. बैटरी मोड में, बैकग्राउंड में सीपीयू का इस्तेमाल काफ़ी कम हो जाता है.
एसी चार्जिंग मोड में, GMSCore के बैकग्राउंड में होने वाले ऑपरेशन, जैसे कि ऐप्लिकेशन अपडेट होने में डिवाइस के सभी सीपीयू कोर का इस्तेमाल हो सकता है. साथ ही, उपयोगकर्ता के डिवाइस के सीपीयू कोर का भी इस्तेमाल हो सकता है. इसके लिए, कोई चेतावनी नहीं दी जाती.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
इस कमांड से, Google Search ऐप्लिकेशन के लिए माइक्रोफ़ोन की अनुमतियां रद्द हो जाती हैं. इससे, Google Search ऐप्लिकेशन के चालू होने पर, होम स्क्रीन और लॉन्चर पर बैकग्राउंड में सीपीयू का इस्तेमाल काफ़ी कम हो जाता है.
यह निर्देश, एम्युलेटर के डिफ़ॉल्ट व्यवहार के साथ-साथ चलता है. एम्युलेटर का डिफ़ॉल्ट व्यवहार यह है कि वह होस्ट के लिए होस्ट ऑडियो को बंद कर देता है. इसके अलावा, यह 28.0.23 वर्शन में हॉटवर्ड की पहचान करने की सुविधा के लिए बताए गए सीपीयू के इस्तेमाल को कम करने के तरीके को अपने-आप लागू करता है.

परफ़ॉर्मेंस मॉनिटर करने के लिए नए एनवायरमेंट वैरिएबल

अब दो नई एनवायरमेंट वैरिएबल का इस्तेमाल किया जा सकता है. इससे एम्युलेटर की परफ़ॉर्मेंस और संसाधन के इस्तेमाल की बेहतर तरीके से निगरानी की जा सकती है.

SHOW_PERF_STATS=1
इस एनवायरमेंट वैरिएबल की मदद से, सीपीयू और रैम, दोनों के इस्तेमाल को ट्रैक किया जा सकता है. RAM के इस्तेमाल को ट्रैक करने की सुविधा, ग्राफ़िक के इस्तेमाल और कुल रेज़िडेंट मेमोरी के बीच अंतर करती है.
ANDROID_EMU_TRACING=1
इस एनवायरमेंट वैरिएबल की मदद से, हर बार इनपुट या ग्राफ़िक्स ऑपरेशन में ज़्यादा समय (1 मि॰से॰ से ज़्यादा) लगने पर प्रिंटिंग की सुविधा चालू की जा सकती है.
हम इस एनवायरमेंट वैरिएबल का इस्तेमाल, उन समस्याओं का पता लगाने के लिए भी कर रहे हैं जो Windows का इस्तेमाल करने वाले लोगों को हुई हैं. इन समस्याओं में, macOS या Linux का इस्तेमाल करने वाले लोगों की तुलना में, ज़्यादा जंक (ड्रॉप किए गए फ़्रेम) शामिल हैं.

Project Marble में सामान्य सुधार

इस अपडेट में, Project Marble पहल के तहत किए गए ये सामान्य सुधार भी शामिल हैं:

  • अब कंसोल कमांड का इस्तेमाल करके, एम्युलेटर पर सभी vCPU को तुरंत रोका जा सकता है:
    • adb emu avd pause
    • adb emu avd resume
  • OpenGL ड्राइंग का ओवरहेड काफ़ी कम हो गया है. इस सुधार से, एम्युलेटर के ऐनिमेशन चलाने के दौरान सीपीयू का इस्तेमाल कम होता है.
  • QEMU के e1000 वर्चुअल नेटवर्क डिवाइस के लिए, सहायता की सुविधा फिर से शुरू कर दी गई है. इस डिवाइस का इस्तेमाल, ब्रिज किए गए नेटवर्क एनवायरमेंट में एम्युलेटर सेट अप करने के लिए किया जा सकता है. ब्रिज किए गए नेटवर्क एनवायरमेंट में, एम्युलेटर को होस्ट नेटवर्क पर और होस्ट नेटवर्क को एम्युलेटर पर दिखाया जाता है.
  • अब एम्युलेटर को चालू करने के लिए, QEMU 2.12 के हिसाब से BIOS बाइनरी का इस्तेमाल किया जाता है.
  • वीडियो एन्कोडिंग और डिकोडिंग के लिए, ffmpeg के वर्शन को 3.4.5 पर अपग्रेड किया गया.
  • macOS पर QEMU के मुख्य लूप I/O का ओवरहेड काफ़ी कम कर दिया गया है. इसके लिए, select() पर आधारित मुख्य लूप को kqueue पर आधारित मुख्य लूप से बदल दिया गया है.
  • Logcat बफ़र का साइज़ बढ़ाकर 2 एमबी कर दिया गया है. इससे, एम्युलेटर के साथ logcat चलाने पर, अचानक EOF से जुड़ी समस्याओं को ठीक किया जा सकेगा.
  • एम्युलेटर अब डिफ़ॉल्ट रूप से LC_ALL=C एनवायरमेंट वैरिएबल एक्सपोर्ट करता है. इस बदलाव से, अलग-अलग स्थान-भाषाओं में एम्युलेटर चलाने से जुड़ी क्रैश और असंगतता की समस्याएं ठीक हो गई हैं.
  • अब परफ़ॉर्मेंस के आंकड़ों का इस्तेमाल करके, एम्युलेटर के सीपीयू और रैम के इस्तेमाल को ट्रैक किया जा सकता है. इन आंकड़ों को ज़्यादा कंट्रोल > सेटिंग > ऐडवांस > परफ़ॉर्मेंस के आंकड़े में जाकर ऐक्सेस किया जा सकता है. अगर एम्युलेटर, सीपीयू या रैम का बहुत ज़्यादा इस्तेमाल कर रहा है, तो इन आंकड़ों का इस्तेमाल करके समस्याओं का तुरंत पता लगाएं.
  • glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE अब एमुलेट किए गए GPU के बजाय, होस्ट किए गए GPU के नतीजे का इस्तेमाल करता है. इस बदलाव से उन समस्याओं को ठीक करने में मदद मिलती है जिनमें रीडबैक के लिए सही फ़ॉर्मैट न होने की वजह से, इमेज और ऐसेट नहीं दिखती हैं.
  • OpenGL ES एक्सटेंशन GL_EXT_texture_format_BGRA8888 और GL_APPLE_texture_format_BGRA8888 के लिए सपोर्ट जोड़ा गया. हालांकि, ऐसा तब होगा, जब ये एक्सटेंशन होस्ट के साथ काम करते हों.
  • Bugreport यूज़र इंटरफ़ेस (यूआई) में, डाइग्नोस्टिक इन्फ़ॉर्मेशन टूल की परफ़ॉर्मेंस के बारे में ज़्यादा जानकारी जोड़ी गई. इसके अलावा, इन कमांड का इस्तेमाल करके कंसोल से गड़बड़ी की रिपोर्ट ऐक्सेस की जा सकती हैं:
    • telnet localhost 5554
    • avd bugreport
  • Android Q सिस्टम इमेज पर, एम्युलेटर अपनी कम से कम रैम को 2 जीबी तक बढ़ा देता है.
  • जब भी OpenGL या हाइपरवाइज़र शुरू नहीं होता है, तब ज़्यादा लॉगिंग और प्रिंटिंग की सुविधा जोड़ी गई है.
  • अगर एम्युलेटर, एवीडी का एक साथ कई -read-only इंस्टेंस शुरू नहीं कर पाता है, तो अब एम्युलेटर, -read-only एवीडी को तीन सेकंड में तीन बार फिर से लॉन्च करने की कोशिश करता है. इस बदलाव से, इस बात की संभावना बढ़ जाती है कि अगर उस एवीडी के अन्य लिखने लायक़ इंस्टेंस पुरानी फ़ाइलों को साफ़ नहीं करते हैं, तो एम्युलेटर एक साथ -read-only एवीडी इंस्टेंस लॉन्च कर पाएगा.
  • आने वाली सिस्टम इमेज के लिए, एम्युलेटर अब Hardware Composer 2.0 के साथ काम करता है. इस बदलाव से, ज़्यादातर ऐनिमेशन चलाने पर ड्राइवर का ओवरहेड कम हो जाएगा.
  • अब एम्युलेटर बिल्ड, CMake/Ninja पर आधारित है.
  • एम्युलेटर के एक्सटेंडेड कंट्रोल के यूज़र इंटरफ़ेस (यूआई) में, कीबोर्ड शॉर्टकट टेबल में मौजूद डिवाइडर लाइनें वापस आ गई हैं.
  • उपयोगकर्ता अब हमारी टीम को, सीपीयू और रैम के इस्तेमाल की मेट्रिक देने के लिए ऑप्ट-इन कर सकते हैं. ये मेट्रिक, 10 सेकंड के अंतराल में दी जाती हैं. हम इन मेट्रिक का इस्तेमाल, एम्युलेटर के संसाधन इस्तेमाल करने से जुड़े डेटा को बेहतर बनाने के लिए करते हैं. इसमें हम अपने उपयोगकर्ताओं के अलग-अलग इस्तेमाल के उदाहरणों को शामिल करते हैं. इससे हमें एम्युलेटर को ज़्यादा असरदार और रिस्पॉन्सिव बनाने में मदद मिलती है.

Project Marble से जुड़ी सामान्य समस्याएं ठीक की गईं

इस अपडेट में, Project Marble पहल के तहत किए गए ये सामान्य सुधार भी शामिल हैं:

  • Android Q सिस्टम इमेज का इस्तेमाल करते समय, Intel GPU वाले सिस्टम पर दिखने वाले गलत फ़्रेम और फ़्रेम के हिलने से जुड़ी समस्याएं ठीक की गईं.
  • उन समस्याओं को ठीक किया गया है जिनमें Pixel 2 XL की स्किन (या नॉच या गोल कोनों वाली कोई भी स्किन) के साथ Android Q सिस्टम इमेज का इस्तेमाल करते समय, काली स्क्रीन दिखती थी.
  • उस समस्या को ठीक किया गया है जिसमें -partition-size कमांड लाइन विकल्प, डेटा पार्टीशन का साइज़ सेट नहीं करता था.
  • उस समस्या को ठीक किया गया है जिसमें कुछ मामलों में, Linx Emulator पर pulseaudio स्पिन होता था और पूरे सीपीयू कोर का इस्तेमाल करता था.
  • कंप्रेस की गई बनावटों को प्रोसेस करते समय, मेमोरी को तय सीमा से ज़्यादा ऐक्सेस करने से जुड़ी समस्याएं ठीक की गईं.
  • glTexSubImage2D में होस्ट पर होने वाली GL गड़बड़ियों को ठीक किया गया है. ये गड़बड़ियां, कुछ ग्रैलोक बफ़र (फ़ॉर्मैट RGB 565, RGB10A2, RGB(A)16F) अपडेट करते समय होती थीं.
  • Android Q की सिस्टम इमेज में स्नैपशॉट के साथ डिस्प्ले से जुड़ी समस्या को ठीक किया गया है. इसमें सूचना पैनल की ज्यामिति को इंस्टेंस डिवाइज़र की गलत सेटिंग के साथ रेंडर किया गया था.
  • लॉन्च के दौरान क्रैश होने और फ़्रीज़ होने की कुछ ऐसी समस्याओं को ठीक किया गया है जिन्हें दोहराना मुश्किल है. ये समस्याएं, Qt के सिग्नल खोने या स्टार्टअप के दौरान अस्थिर और अलग-अलग स्थितियों की वजह से होती थीं.
  • एक साथ कई अनुरोध मिलने पर होने वाली कई समस्याओं को ठीक किया गया है. अब हम ThreadSanitizer (TSAN) की मदद से, Linux इम्यूलेटर बना सकते हैं. इससे ऐसे बग का पता लगाना आसान हो जाता है जिन्हें ठीक करना मुश्किल होता है.
  • Linux का इस्तेमाल करने वाले लोगों के लिए: हमें पता चला है कि कुछ होस्ट कर्नल पर, मेहमान के तौर पर इस्तेमाल किए जा रहे Android कर्नल में गड़बड़ी हो सकती है. साथ ही, यह सामान्य हार्डवेयर की गड़बड़ी के साथ KVM से बाहर निकल सकता है. अब एम्युलेटर में ऐसा होने पर, abort() होगा, ताकि डीबग करने में आसानी हो. इससे पहले, एम्युलेटर सिर्फ़ हैंग हो जाता था.
  • Linux का इस्तेमाल करने वाले लोगों के लिए: सीआई सेटअप को आसानी से इस्तेमाल करने के लिए, stdout और stderr, दोनों को किसी फ़ाइल पर रीडायरेक्ट करने के लिए, -stdouterr-file <file-name> कमांड लाइन के नए विकल्प का इस्तेमाल किया जा सकता है.
  • SO_REUSEADDR का गलत तरीके से इस्तेमाल करने से जुड़ी समस्या को ठीक किया गया है. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें.
  • Windows Emulator में लंबे समय से आ रही एक समस्या को ठीक किया गया है. इस समस्या में, अगर उपयोगकर्ता नाम में स्पेस होते थे, तो ADB कमांड जैसी सब-प्रोसेस शुरू नहीं हो पाती थीं.
  • HAXM vCPU थ्रेड में RCU के इनिशियलाइज़ेशन के मौजूद न होने की समस्या को ठीक किया गया है. इस फ़िक्स से, कुछ क्रैश और रेस कंडीशन की समस्याओं को ठीक किया जा सकता है.
  • Android Q की हाल ही की सिस्टम इमेज का इस्तेमाल करके, स्नैपशॉट यूज़र इंटरफ़ेस (यूआई) से स्नैपशॉट सेव और लोड करने के कुछ पैटर्न में होने वाली क्रैश की समस्या को ठीक किया गया है.
  • उस समस्या को ठीक किया गया है जिसमें स्नैपशॉट से एम्युलेटर शुरू करने पर, वर्चुअल सीन कैमरा खाली दिखता था. ऐसा तब होता था, जब स्नैपशॉट सेव करते समय एआर मैक्रो चल रहा हो.
  • उस समस्या को ठीक किया गया है जिसमें रिमोट डेस्कटॉप सेटअप वाले कुछ उपयोगकर्ताओं को Linux पर एम्युलेटर लॉन्च करते समय काली स्क्रीन दिखती थी. इससे बचने के लिए, एम्युलेटर अब साफ़ तौर पर MESA_RGB_VISUAL को कॉन्फ़िगर करता है. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें.
  • एक समस्या को ठीक किया गया है. इसमें टीवी एवीडी पर रोटेट करने वाले बटन दिखते थे.
  • एक समस्या ठीक की गई है. इसमें अगर एम्युलेटर को हमेशा सबसे ऊपर सेट किया जाता था, तो एम्युलेटर को घुमाने पर हर बार एक्सटेंड किए गए कंट्रोल वाली विंडो दिखती थी.

फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए हार्डवेयर प्रोफ़ाइलें

एम्युलेटर में अब फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए हार्डवेयर प्रोफ़ाइलें शामिल हैं. इन नई हार्डवेयर प्रोफ़ाइलों का इस्तेमाल करने के लिए, आपको Android Studio 3.5 Canary 10 या इसके बाद के वर्शन का इस्तेमाल करना होगा.

AVD बनाने के लिए, फ़ोल्ड किए जा सकने वाले दो हार्डवेयर प्रोफ़ाइल का इस्तेमाल किया जा सकता है:

  • 7.3" फ़ोल्डेबल: अनफ़ोल्ड होने पर 1536x2152, फ़ोल्ड होने पर 4.6" 840x1960
  • 8" फ़ोल्ड किया जा सकने वाला डिवाइस: अनफ़ोल्ड होने पर 2200x2480, फ़ोल्ड होने पर 6.6" 1480x2480

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

  • फ़ोल्ड करें: Ctrl + F (macOS पर Command + F)
  • अनफ़ोल्ड करें: Ctrl + U (macOS पर Command + U)

एआर मैक्रो

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

ज़्यादा जानकारी के लिए, मैक्रो की मदद से एआर की सामान्य कार्रवाइयों को टेस्ट करना लेख पढ़ें.

Vulkan के साथ काम करता है (Windows, Linux)

Windows और Linux का इस्तेमाल करने वाले लोग, Android Emulator की मदद से Vulkan ऐप्लिकेशन की जांच कर सकते हैं. इसके लिए, उन्हें Vulkan 1.1 तक के वर्शन का इस्तेमाल करना होगा. हालांकि, इसके लिए उन्हें Vulkan 1.1 के साथ काम करने वाली सिस्टम इमेज (Vulkan 1.1 के लिए Android Q Beta 3 या इसके बाद का वर्शन, Vulkan 1.0 के लिए Android Q Beta 2) और Vulkan 1.1 के साथ काम करने वाले होस्ट जीपीयू का इस्तेमाल करना होगा. इनमें 2014 और इसके बाद के ज़्यादातर Intel, NVIDIA, और AMD जीपीयू शामिल हैं.

Vulkan की सुविधा चालू करने के लिए, आपको अपनी ~/.android/advancedFeatures.ini फ़ाइल में ये फ़ीचर फ़्लैग जोड़ने होंगे. अगर यह फ़ाइल मौजूद नहीं है, तो इसे बनाएं:

  • Vulkan = on
  • GLDirectMem = on

ROM डेवलपर के लिए शुरुआती सहायता

ROM डेवलपर, अब AOSP master ब्रांच पर sdk_phone_x86 या sdk_phone_x86_64 (userdebug, eng वैरिएंट) टारगेट करने वाले Vulkan-enabled एम्युलेटर को चला सकते हैं.

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

अगर Linux का इस्तेमाल किया जा रहा है, तो इन कमांड का इस्तेमाल करके इसे आज़माया जा सकता है:

mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -c -j12
. build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j12
emulator -no-snapshot -feature Vulkan,GLDirectMem

Vulkan की मदद से Skia रेंडरिंग

Vulkan के साथ काम करने वाले NVIDIA और AMD के जीपीयू, GL_EXT_memory_objects एक्सटेंशन के ज़रिए OpenGL के साथ ज़ीरो-कॉपी इंटरऑप की सुविधा भी देते हैं. एम्युलेटर, इस सुविधा का इस्तेमाल करके, Skia Vulkan API की मदद से Android यूज़र इंटरफ़ेस (यूआई) को पूरी तरह से रेंडर करता है.

अगर आपके पास NVIDIA या AMD का ऐसा जीपीयू है जो Vulkan के साथ काम करता है, तो यहां दिए गए कमांड का इस्तेमाल करके, Skia रेंडरिंग की जांच करें. इसके लिए, आपको Android Q Beta 3 और इसके बाद के वर्शन वाली सिस्टम इमेज का इस्तेमाल करना होगा:

adb shell
su
setprop debug.hwui.renderer skiavk
stop
start

macOS पर Vulkan के साथ काम करने की सुविधा

macOS के लिए, अब भी एक्सपेरिमेंटल तौर पर काम किया जा रहा है. हालांकि, एम्युलेटर में पहले से ही Swiftshader, MoltenVK, और libportability (gfx-rs) एपीआई शामिल हैं. इन एनवायरमेंट वैरिएबल को सेट करके, इन एपीआई को आज़माया जा सकता है:

  • Swiftshader: ANDROID_EMU_VK_ICD=swiftshader
  • MoltenVK: ANDROID_EMU_VK_ICD=moltenvk
  • libportability: ANDROID_EMU_VK_ICD=portability

पहले से मालूम समस्याएं

कभी-कभी HAXM, Vulkan कोहेरेंट मेमोरी को मेहमान के तौर पर इस्तेमाल किए जा रहे डिवाइस पर मैप नहीं कर पाता. इस वजह से, एम्युलेटर बंद हो जाता है. इस समस्या को HAXM के आने वाले अपडेट में ठीक कर दिया जाएगा.

gRPC स्ट्रीमिंग एम्युलेटर (Linux)

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

  • प्रोग्राम के हिसाब से, एम्युलेटर को इनपुट कमांड भेजने के लिए, इनमें से किसी एक तरीके का इस्तेमाल किया जाता है: adb शेल कमांड चलाना. इसमें ज़्यादा समय लग सकता है या telnet कंसोल का इस्तेमाल करना. यह ज़्यादा तेज़ है, लेकिन हो सकता है कि यह कुछ नेटवर्क कॉन्फ़िगरेशन के साथ काम न करे.
  • CI के उपयोगकर्ता अक्सर इम्यूलेटर को हेडलेस मोड में चलाते हैं. इससे ऐसी समस्याओं का पता लगाना मुश्किल हो सकता है जिनके लिए स्क्रीन का दिखना या इंटरैक्टिव होना ज़रूरी है.
  • रिमोट डेस्कटॉप का इस्तेमाल करने वाले लोग, होस्ट जीपीयू रेंडरिंग का इस्तेमाल करते समय अक्सर एम्युलेटर के साथ इंटरैक्ट नहीं कर पाते. ऐसा इसलिए होता है, क्योंकि जीपीयू रेंडरिंग अक्सर होस्ट के नॉन-वर्चुअल डिसप्ले से जुड़ी होती है.

इस समस्या को हल करने के लिए, Linux मशीन पर चलने वाला एम्युलेटर अब gRPC सेवा देता है. gRPC , आरपीसी के लिए एक सामान्य फ़्रेमवर्क है, जो एचटीटीपी पर काम करता है.

डिफ़ॉल्ट रूप से, एम्युलेटर की gRPC सेवा बंद होती है. हालांकि, इसे चालू किया जा सकता है. इसके लिए, यहां दिए गए कमांड लाइन विकल्प का इस्तेमाल करें. इसमें <port> वह पोर्ट है जिस पर एम्युलेटर को gRPC अनुरोधों को पूरा करना चाहिए. आम तौर पर, यह 5556 होता है:

-grpc <port>

सेवा शुरू होने के बाद, क्लाइंट से gRPC कमांड जारी किए जा सकते हैं. कमांड के मौजूदा सेट से, इनपुट इवेंट भेजे जा सकते हैं. साथ ही, स्क्रीनशॉट भी पाए जा सकते हैं. इन कमांड से, यहां दी गई समस्याओं को हल करने में मदद मिलती है:

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

उपलब्ध कमांड की पूरी सूची देखने के लिए, यह प्रोटोबफ़ देखें.

gRPC का इस्तेमाल शुरू करने में आपकी मदद करने के लिए, हमने कुछ सैंपल क्लाइंट दिए हैं. इन्हें रेफ़र किया जा सकता है.

फ़िलहाल, इसमें ये सैंपल शामिल हैं:

  • यह Go पर आधारित एक सेवा है. इसका इस्तेमाल इम्यूलेटर की स्थितियों के बारे में क्वेरी करने के लिए किया जा सकता है.
  • एक React ऐप्लिकेशन, जो स्क्रीनशॉट और इनपुट आरपीसी के ज़रिए रिमोट इंटरैक्टिविटी दिखाता है. इस सैंपल के लिए, protobuf का 3.7.0 या इसके बाद का वर्शन ज़रूरी है.
  • यह Python का एक सैंपल है. यह इम्यूलेटर के वीएम कॉन्फ़िगरेशन के बारे में क्वेरी करता है. इसके बाद, यह कई कमांड भेजता है.

28.0.25 (29 मार्च, 2019)

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

बिना डिसप्ले वाले एम्युलेटर का बिल्ड

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

इस समस्या को हल करने के लिए, हमने QEMU एक्ज़ीक्यूटेबल के साथ इम्यूलेटर लॉन्चर का एक वैरिएंट लॉन्च किया है. यह Qt पर निर्भर नहीं करता. Linux पर, अब भी libX11 का लिंक मौजूद है. हालांकि, हमें उम्मीद है कि हम इसे भी जल्द ही हटा देंगे.

हेडलेस एम्युलेटर का इस्तेमाल करने के लिए, एम्युलेटर को कमांड लाइन से सामान्य तरीके से चलाएं. हालांकि, एम्युलेटर बाइनरी इनवोकेशन को emulator-headless से बदलें. ज़्यादा जानकारी के लिए, 28.1.8 Canary रिलीज़ अपडेट देखें.

  • Android Q सिस्टम इमेज चलाने पर, Intel GPU में फ़्रेम के गलत तरीके से दिखने और फ़्रेम के हिलने की समस्या ठीक की गई.
  • उन समस्याओं को ठीक किया गया है जिनमें Pixel 2 XL की स्किन के साथ Android Q सिस्टम इमेज का इस्तेमाल करने पर, काली स्क्रीन दिखती थी.
  • अब इम्यूलेटर को चालू करने के लिए, BIOS के नए बाइनरी का इस्तेमाल किया जाता है. इस बदलाव से, "वीसीपीयू बंद करने का अनुरोध" वाली गड़बड़ियों को कम किया जा सकता है. ये गड़बड़ियां कभी-कभी Windows पर एम्युलेटर लॉन्च करते समय होती हैं.
  • "स्नैपशॉट से Android Q सिस्टम इमेज फिर से शुरू करने पर गलत डिसप्ले" समस्या को ठीक करने के लिए, बैकपोर्ट किया गया.
  • उपयोगकर्ताओं को "बिना अनुमति वाले" एम्युलेटर से जुड़ी समस्याएं आ रही थीं. ऐसा इसलिए हो रहा था, क्योंकि platform-tools 28.0.2 में ADB में ऐसा बदलाव किया गया था जो काम नहीं कर रहा था. अब एम्युलेटर के साथ, platform-tools 28.0.2 से ADB का सुरक्षित तरीके से इस्तेमाल किया जा सकता है. अगर आपको "बिना अनुमति वाले" एम्युलेटर से जुड़ी समस्याएं आ रही हैं, तो इन्हें हल करने के लिए यह तरीका अपनाएं:
    1. सभी एम्युलेटर बंद करें.
    2. ~/.android/adbkey और ~/.android/adbkey.pub, दोनों फ़ाइलें मिटाएं.
    3. यह कमांड चलाएं: adb kill-server
    4. यह कमांड चलाएं: adb devices
    5. AVD का डेटा वाइप करें.
    6. एम्युलेटर को फिर से लॉन्च करें.

28.0.23 (29 जनवरी, 2019)

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

होस्ट के लिए ऑडियो इनपुट की सुविधा डिफ़ॉल्ट रूप से बंद होती है

Reddit पर हाल ही में किए गए एक पोस्ट में बताया गया है कि गेस्ट Android OS हमेशा होस्ट के माइक्रोफ़ोन के ऑडियो का इस्तेमाल करेगा. इससे "Ok Google" की सुविधा अनचाहे तरीके से काम करेगी. इसके लिए, हमें अफ़सोस है. हम Android टीम के साथ मिलकर काम करेंगे, ताकि यह पक्का किया जा सके कि सिस्टम इमेज में भी हॉटवर्ड का पता लगाने की सुविधा बंद हो.

इस समस्या को हल करने के लिए, हमने ये बदलाव किए हैं:

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

सीपीयू के इस्तेमाल की जांच से जुड़े अपडेट

Project Marble की जांच के दौरान, हमें पता चला है कि एम्युलेटर पर सीपीयू का ज़्यादा इस्तेमाल, आम तौर पर इन तीन कैटगरी में आता है:

डिवाइस के इस्तेमाल में न होने पर: Play Store की इमेज में ऐप्लिकेशन अपने-आप अपडेट होने की सुविधा

हमें पता चला है कि कुछ समय के अंतराल पर, इंस्टॉल किए गए सभी ऐप्लिकेशन अपडेट हो जाते हैं. ऐसा तब भी होता है, जब उपयोगकर्ता ने लॉग इन न किया हो. इस प्रोसेस के दौरान, GMSCore और dex2oat में सीपीयू का इस्तेमाल, कोर की संख्या x 100% (आम तौर पर ~400%) तक पहुंच जाता है. Play Store ऐप्लिकेशन में, ऐप्लिकेशन के अपने-आप अपडेट होने की सुविधा बंद करके, इस समस्या को ठीक किया जा सकता है.

डिवाइस कुछ समय से इस्तेमाल में न होने पर: हॉटवर्ड पहचान

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

चालू होने पर, कभी-कभी इस्तेमाल न किए जाने पर: ऐनिमेशन

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

28.0.22 (21 दिसंबर, 2018)

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • हमने एक ऐसी समस्या को ठीक किया है जो लंबे समय से बनी हुई थी. इस समस्या में, कुछ सेटिंग में Quickboot सेव करने पर Mac Emulator रीबूट हो जाता था या कर्नेल पैनिक हो जाता था. (समस्या 120951634)
  • मैप की गई फ़ाइल को रैम स्नैपशॉट के तौर पर इस्तेमाल करने पर, अब एम्युलेटर बंद होने पर फ़ाइल मैपिंग को साफ़ तौर पर अनमैप करता है.

28.0.20 (11 दिसंबर, 2018)

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

  • Windows पर मौजूद उस समस्या को ठीक किया गया है जिसकी वजह से, Intel GPU के कुछ मॉडल में स्नैपशॉट लोड करने पर एम्युलेटर फ़्रीज़ हो जाता था.
  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से, ANDROID_SDK_HOME की गैर-स्टैंडर्ड जगह का इस्तेमाल करते समय unauthorized ADB डिवाइस की स्थिति में बदलाव हो जाता था.
  • Windows पर उस समस्या को ठीक किया गया है जिसकी वजह से, सीपीयू ऐक्सेलरेटर की सुविधा बंद होने पर सिस्टम इमेज बूट करते समय एम्युलेटर क्रैश हो जाता था.
  • पिक्सलेट किए गए एम्युलेटर डिसप्ले की समस्या ठीक की गई. अब डाउनसैंपलिंग की सुविधा काम करनी चाहिए.
  • macOS 10.14 और इसके बाद के वर्शन पर, एक समस्या ठीक की गई है. इसमें सुलभता से जुड़ी नई सुरक्षा सेटिंग के साथ इंटरैक्ट करने की वजह से, वर्चुअल सीन कैमरे के माउस लुक कंट्रोल बहुत ज़्यादा संवेदनशील हो जाते थे.
  • टाइमज़ोन की गिनती में हुई गड़बड़ी को ठीक किया गया है. इसकी वजह से, एम्युलेटर की घड़ी कभी-कभी बदल जाती थी.
  • cocos2d और Unreal Engine के अलग-अलग ऐप्लिकेशन में रेंडरिंग से जुड़ी गड़बड़ियों को ठीक किया गया.
  • एम्युलेटर में, वाई-फ़ाई पीयर-टू-पीयर के लिए सहायता जोड़ी गई. अगर Pie Play Store की नई इमेज का इस्तेमाल किया जा रहा है, तो अब दो एम्युलेटर वाई-फ़ाई के ज़रिए एक-दूसरे से सीधे कम्यूनिकेट कर सकते हैं. वाई-फ़ाई पीयर-टू-पीयर का इस्तेमाल करने के लिए, एक ही -wifi-server-port और -wifi-client-port आर्ग्युमेंट के साथ दो एवीडी शुरू करें:
    • emulator @<server-avd-name> -wifi-server-port 9999
    • emulator @<client-avd-name>-wifi-client-port 9999
  • Windows पर ज़्यादा वेबकैम के लिए सपोर्ट जोड़ा गया है. इसके लिए, किसी भी साइज़ के फ़्रेम को लिया जाता है और Android गेस्ट में कैमरे की सेटिंग के हिसाब से, उनके साइज़ को डाइनैमिक तरीके से बदला जाता है.

28.0.16 (नवंबर 2018)

इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.

संसाधन का उपयोग

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

इसके अलावा, हमने इन क्षेत्रों में संसाधन के इस्तेमाल को भी बेहतर बनाया है:

  • लंबे समय तक चलने वाले टेस्ट के दौरान, एम्युलेटर की मेमोरी का इस्तेमाल कम किया गया. अगर आपको लंबे समय तक चलने वाली जांच के दौरान मेमोरी के इस्तेमाल से जुड़ी समस्याएं अब भी आ रही हैं, तो कृपया Issue Tracker में एक समस्या बनाएं. इसमें इस्तेमाल के उदाहरण के बारे में बताएं.
  • ऐनिमेशन वाले ऐप्लिकेशन चलाने पर, सीपीयू का इस्तेमाल कम होता है.
  • Windows पर QEMU AIO कॉन्टेक्स्ट लीक होने की समस्या को ठीक किया गया है.

एक ही एवीडी के कई इंस्टेंस एक साथ चलाएं

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

एक ही समय में एक ही AVD के कई इंस्टेंस चलाने के लिए, -read-only फ़्लैग का इस्तेमाल करके कमांड लाइन से पहले इंस्टेंस के बाद कोई भी इंस्टेंस लॉन्च करें.

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

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

हम आपके सुझावों का स्वागत करते हैं. ये सुझाव, सामान्य इंटरैक्टिव या सीआई वर्कफ़्लो में इस्तेमाल होने वाले संभावित मामलों के बारे में होने चाहिए. कृपया Issue Tracker में समस्याएं बनाएं या उनके लिए वोट करें.

फ़ाइल के साथ सेव किए गए गेस्ट रैम के स्नैपशॉट

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

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

  • कमांड लाइन से एम्युलेटर लॉन्च करते समय, -no-snapshot-save या -read-only फ़्लैग का इस्तेमाल करें.
  • बेहतर कंट्रोल > स्नैपशॉट > सेटिंग पर जाएं. इसके बाद, क्या मौजूदा स्थिति को Quickboot में अपने-आप सेव होने देना है? को नहीं पर स्विच करें.
  • इस विकल्प को चुनने के बाद, आपको एम्युलेटर को रीस्टार्ट करना होगा. अगर एम्युलेटर को अपने-आप सेव होने के लिए सेट किया गया है, तो चेकपॉइंट सेट करने के लिए यह कमांड चलाएं:
    adb emu avd snapshot remap 0
    
    इस निर्देश को चलाने के बाद, एम्युलेटर का क्विकबूट स्नैपशॉट उस चेकपॉइंट पर बना रहेगा. अपने चेकपॉइंट से एम्युलेटर को लोड करने के लिए, इसी कमांड का फिर से इस्तेमाल करें.

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

क्विकबूट के काम करने के तरीके में यह एक बड़ा बदलाव है. इसलिए, हम आपसे यह जानने के लिए अनुरोध करते हैं कि क्या इससे क्विकबूट की परफ़ॉर्मेंस बेहतर हुई है. साथ ही, इसका इस्तेमाल करते समय आपको किस तरह की समस्याएं आ रही हैं. अगर आपको समस्याएं आ रही हैं, तो इस सुविधा को बंद किया जा सकता है. इसके लिए, आपको अपनी ~/.android/advancedFeatures.ini फ़ाइल में यह लाइन जोड़नी होगी:

QuickbootFileBacked = off

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

QEMU 2.12

हमने QEMU के अपने वर्शन को QEMU 2.9 से QEMU 2.12 पर रीबेस किया है. इस अपडेट में, QEMU में हुए ये बदलाव शामिल हैं:

यहां कुछ ऐसे अहम बदलावों के बारे में बताया गया है जिनसे Android Emulator पर असर पड़ता है:

  • x86: gdbstub अब SSE रजिस्टर का ऐक्सेस देता है.
  • डिस्क इमेज: इमेज लॉक करने की सुविधा जोड़ी गई है और यह डिफ़ॉल्ट रूप से चालू रहती है. जब तक होस्ट ओएफ़डी या पॉज़िक्स लॉकिंग की सुविधा के साथ काम करता है, तब तक एक से ज़्यादा QEMU प्रोसेस एक ही इमेज में नहीं लिख सकतीं. हालांकि, अगर विकल्पों में कोई और जानकारी दी गई है, तो ऐसा किया जा सकता है.
  • qemu-img: qemu-img resize, इमेज के नए हिस्सों के लिए पहले से मेमोरी तय करने की सुविधा देता है.
  • QCOW2 फ़ाइल का साइज़ कम करने की सुविधा अब qemu और qemu-img में उपलब्ध है.

सुलभता

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

ग्राफ़िक

  • मेमोरी ऐक्सेस करने पर कोई रोक नहीं लगाई जाती है, तो सुरक्षा का जोखिम हो सकता है. इस समस्या को ठीक कर दिया गया है. यह समस्या, OpenGL ES वर्टेक्स ऐरे पॉइंटर के लिए हो सकती है.
  • कुछ पुराने जीपीयू में OpenGL 2.1 या इससे ज़्यादा वर्शन काम नहीं करता था. यह ज़रूरी है. इसके अलावा, उनमें अन्य समस्याएं भी थीं. इन समस्याओं की वजह से, हो सकता है कि एम्युलेटर शुरू होने पर क्रैश हो जाए, फ़्रीज़ हो जाए या डिफ़ॉल्ट जीपीयू सेटिंग पर इसका इस्तेमाल न किया जा सके. अगर एमुलेटर को पता चलता है कि इन जीपीयू का इस्तेमाल किया जा रहा है, तो अब यह अपने-आप Swiftshader रेंडरर पर स्विच हो जाता है.
  • उस समस्या को ठीक किया गया है जिसकी वजह से, eglSwapBuffers के समय FBO != 0 बाइंड होने पर, एम्युलेटर सही फ़्रेमबफ़र पोस्ट नहीं करता था.
  • उस समस्या को ठीक किया गया है जिसकी वजह से वर्चुअल Android डिसप्ले सिर्फ़ सबसे ऊपर बाएं कोने में दिखता था. हमें लगता है कि ऐसा Qt एनवायरमेंट वैरिएबल के गलत तरीके से कॉन्फ़िगर होने की वजह से हुआ है. एम्युलेटर अब Qt स्केलिंग से जुड़े सभी एनवायरमेंट वैरिएबल को बदल देता है.
  • हमने उस समस्या को ठीक कर दिया है जिसमें स्नैपशॉट से GLES1 ऐप्लिकेशन लोड करते समय, कुछ स्थितियों में एम्युलेटर क्रैश हो जाता था.
  • OpenGL में एक साथ कई अनुरोध मिलने और रेंडर थ्रेड लॉन्च करने से जुड़ी समस्याओं को ठीक किया गया है. इनकी वजह से, डेटा दो बार फ़्री हो सकता था या खराब हो सकता था.
  • Android Emulator अब एपीआई लेवल 28 या उसके बाद के वर्शन का इस्तेमाल करने वाली सिस्टम इमेज के लिए, ASTC LDR कंप्रेस की गई टेक्सचर फ़ाइल (GL_KHR_texture_compression_astc_ldr) के साथ काम करता है.
  • ज़्यादातर नए जीपीयू में, अब GLESDynamicVersion फ़ीचर फ़्लैग का इस्तेमाल किए बिना, डिफ़ॉल्ट रूप से OpenGL ES 3.x के साथ एम्युलेटर लॉन्च किया जा सकता है.
  • -gpu guest (मेहमान के तौर पर इस्तेमाल किए जा रहे डिवाइस में सॉफ़्टवेयर रेंडरिंग) अब काम नहीं करता. एपीआई लेवल 28 या इससे ऊपर के सिस्टम इमेज अब अपने-आप Swiftshader का इस्तेमाल करने लगेंगी (-gpu swiftshader_indirect).
  • अगर एम्युलेटर को कमांड लाइन से -no-window फ़्लैग का इस्तेमाल करके लॉन्च किया जाता है, तो अब डिफ़ॉल्ट रेंडरर Swiftshader होता है.

जगह

  • अब एम्युलेटर, अक्षांश और देशांतर की पोज़िशन के साथ-साथ बेयरिंग को भी अपडेट कर सकता है. मैग्नेटोमीटर वर्चुअल सेंसर, GPX या KML फ़ाइल चलाने के दौरान होने वाली गतिविधि के आधार पर, मैग्नेटिक नॉर्थ के हिसाब से अपने-आप अडजस्ट हो जाता है.
  • अब डिवाइस की स्पीड को लोकेशन पेज पर सेट किया जा सकता है.
  • GPX या KML फ़ाइल चलाने पर, स्पीड अपने-आप सेट हो जाती है. साथ ही, वीडियो खत्म होने पर स्पीड शून्य पर सेट हो जाती है.
  • ऊंचाई अब -1,000 और +10,000 मीटर के बीच नहीं होनी चाहिए.
  • उस समस्या को ठीक किया गया है जिसकी वजह से वर्चुअल जीपीएस की जगह की जानकारी, समय-समय पर अपडेट नहीं होती थी. ऐसा तब होता था, जब एक्सटेंडेड कंट्रोल विंडो को कम से कम एक बार खोला नहीं जाता था.

कैमरा

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

Play Store

Play Store की इमेज में डिस्क स्पेस खत्म होने की समस्याओं को हल करने के लिए, अब एम्युलेटर, Play Store वाले नए एवीडी के साथ चलाने पर, userdata पार्टीशन का साइज़ अपने-आप बदलकर 6 जीबी कर देता है.

क्वालिटी में सामान्य सुधार और गड़बड़ियां ठीक की गई हैं

  • कुछ उपयोगकर्ताओं ने बताया है कि एम्युलेटर धीरे चल रहा है. हमें एक ऐसी वजह का पता चला है जिसकी वजह से, एम्युलेटर की अस्थायी डायरेक्ट्री में बहुत सारी पुरानी फ़ाइलें मौजूद होती हैं. इस समस्या को हल करने के लिए, अब एम्युलेटर उस डायरेक्ट्री में ADB liveness check फ़ाइलें सेव नहीं करता है. हालांकि, उस फ़ोल्डर का कॉन्टेंट मिटाने से भी समस्या हल हो सकती है. यह फ़ोल्डर, आपके ऑपरेटिंग सिस्टम के हिसाब से इनमें से किसी एक जगह पर मौजूद होता है:
    • Windows: C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
    • macOS या Linux: /tmp/android-<username>/*
  • अगर ज़रूरी रैम न होने की वजह से एम्युलेटर चालू नहीं हो पाता है, तो अब गड़बड़ी का मैसेज दिखता है. अगर Windows का इस्तेमाल किया जा रहा है और आपको लगता है कि रैम खाली है, लेकिन फिर भी एम्युलेटर शुरू नहीं हो पा रहा है, तो हो सकता है कि कमिट चार्ज की सीमा पार हो गई हो. इस समस्या को हल करने के लिए, एम्युलेटर से जुड़ी समस्या हल करने वाला पेज देखें.
  • -sysdir कमांड लाइन विकल्प, अब अनुमानित सिस्टम इमेज डायरेक्ट्री को सही तरीके से बदल देता है.
  • वर्चुअल मॉडेम अब मॉडल की गतिविधि की जानकारी +MAI क्वेरी के साथ काम करता है.
  • मेमोरी लीक, मेमोरी करप्शन, और सीपीयू के इस्तेमाल से जुड़ी कई समस्याएं ठीक की गईं. अगर आपको क्रैश होने, मेमोरी लीक होने या अन्य संसाधनों का ज़्यादा इस्तेमाल होने की समस्या आ रही है, तो कृपया Issue Tracker में जाकर समस्या की जानकारी दें.
  • macOS 10.14 पर फिर से दिखने वाली उस समस्या को ठीक किया गया है जिसमें एम्युलेटर के साथ ब्लूटूथ हेडसेट का इस्तेमाल करने पर, ऑडियो की क्वालिटी खराब हो जाती थी. ऐसा होने से रोकने के लिए, macOS पर चल रहा एम्युलेटर अब ब्लूटूथ ऑडियो का इस्तेमाल नहीं करता. (समस्या 37070892)
  • Windows पर उस समस्या को ठीक किया गया है जिसकी वजह से, एम्युलेटर की घड़ी सही टाइमज़ोन में नहीं होती थी.
  • Linux सिस्टम पर, हार्डड्राइव (एचडीडी) वाले इम्युलेटर के धीमे चलने और हैंग होने की समस्या ठीक की गई.
  • macOS पर स्टैक करप्ट होने की वजह बन सकने वाली कुछ कंपाइल चेतावनियों को ठीक किया गया है.
  • ऐसी समस्याओं को ठीक किया गया है जिनकी वजह से, हैंग होने की गुमराह करने वाली रिपोर्ट मिल सकती हैं.
  • थ्रेड पूल को डिस्ट्रॉय करने से जुड़ी समस्या को ठीक किया गया है. अगर कोई थ्रेड नहीं बनाई गई है, तो इसकी वजह से क्रैश हो सकता है.
  • macOS पर टाइमर के ठीक से काम न करने की समस्या को ठीक किया गया है. इस वजह से, टाइमर रुक जाते थे और अन्य समस्याएं होती थीं. अगर आपको macOS पर एम्युलेटर के हैंग होने की समस्या आ रही है, तो कृपया Issue Tracker में समस्या की जानकारी दें.
  • उस समस्या को ठीक किया गया है जिसमें एम्युलेटर को बंद करने पर यूज़र इंटरफ़ेस (यूआई) बंद हो जाता था, लेकिन एम्युलेटर बंद नहीं होता था.
  • कभी-कभी क्रैश होने की समस्याओं को ठीक किया गया है. इनमें /dev/urandom के बहुत ज़्यादा इंस्टेंस खोलने की वजह से बंद हो जाना भी शामिल है.
  • उस समस्या को ठीक किया गया है जिसकी वजह से, ADB को ज़बरदस्ती बंद करने पर, पहली बार के बाद एम्युलेटर शुरू नहीं हो पाता था.
  • MIPS बिल्ड को हटा दिया गया है. अगर आपको अब भी MIPS की ज़रूरत है, तो कृपया Issue Tracker में समस्या की जानकारी दें.
  • स्नैपशॉट लोड करने पर, ADB कनेक्शन खराब होने की समस्या को ठीक किया गया है.
  • स्नैपशॉट को फिर से शुरू करने पर, एम्युलेटर विंडो में इमेज के धुंधले दिखने या स्क्रीन से गायब होने की समस्या को ठीक किया गया है. ऐसा तब होता था, जब डिवाइस का ओरिएंटेशन, एवीडी के डिफ़ॉल्ट ओरिएंटेशन से अलग होता था.
  • स्नैपशॉट सेव करते समय क्रैश होने की समस्याओं को ठीक किया गया है.
  • Linux पर, btrfs फ़ाइल सिस्टम की वजह से इम्यूलेटर की स्पीड बहुत कम हो सकती है. ऐसा इसलिए होता है, क्योंकि इम्यूलेटर अपने-आप स्नैपशॉट सेव करता है और वर्चुअल डिस्क डिवाइसों के लिए कॉपी-ऑन-राइट का इस्तेमाल करता है. हमारा सुझाव है कि ~/.android/avd डायरेक्ट्री को खाली करें और खाली ~/.android/avd डायरेक्ट्री पर यह कमांड चलाएं:
    chattr +C
    
    इससे ऐसे फ़ोल्डर में नए स्नैपशॉट बनते हैं जहां कॉपी-ऑन-राइट की सुविधा बंद होती है.

HAXM 7.3.2

हम HAXM 7.3.2 के बारे में फिर से बताना चाहते हैं, क्योंकि इसे इंस्टॉल करना ज़रूरी है. ऐसा करने पर ही, हाल ही की सिस्टम इमेज, एम्युलेटर पर ठीक से चल पाएंगी. HAXM 7.3.2, स्टेबल चैनल में पहले से उपलब्ध होना चाहिए. इसे https://github.com/intel/haxm/releases से मैन्युअल तरीके से भी इंस्टॉल किया जा सकता है.

इस वर्शन में, HAXM से जुड़ी कुछ समस्याएं हल की गई हैं. यहां उनके बारे में बताया गया है:

  • Linux के हाल ही के कर्नल (>= 4.6) का इस्तेमाल करने वाले गेस्ट ओएस के रैंडम क्रैश की समस्या को ठीक किया गया है. उदाहरण के लिए, Ubuntu 18.04 (#39, #74).
  • x86 इंस्ट्रक्शन एम्युलेटर से जुड़ी गड़बड़ी को ठीक किया गया है. इसकी वजह से, होस्ट क्रैश हो सकता था (#93).

Windows के 32-बिट वर्शन के लिए सहायता बंद करना

ज़्यादा इस्तेमाल न किए जाने और रखरखाव की ज़्यादा लागत की वजह से, हम Windows पर चलने वाले Android Emulator के 32-बिट वर्शन को बंद करने का प्लान बना रहे हैं. हम Android Emulator के 32-बिट वर्शन को हटाने और बंद करने से पहले, ट्रांज़िशन प्लान लॉन्च करेंगे. हालांकि, हम इस बदलाव के बारे में आपके सुझाव/राय/शिकायत का इंतज़ार कर रहे हैं.

अगर आपको Windows पर चलने वाले Android Emulator के 32-बिट वर्शन की ज़रूरत है, तो कृपया हमें Issue Tracker में बताएं. साथ ही, हमें बताएं कि हम आने वाले समय में आपके साथ कैसे बेहतर तरीके से काम कर सकते हैं.

27.3.10 (अगस्त 2018)

इस अपडेट में, गड़बड़ी को ठीक करने के लिए यह बदलाव किया गया है:

रैम के साइज़ से जुड़ी कॉन्फ़िगरेशन की समस्या ठीक की गई

कुछ उपयोगकर्ताओं ने बताया है कि एम्युलेटर धीरे चल रहा है. हमें एक ऐसी वजह का पता चला है जिसकी वजह से, AVD की config.ini फ़ाइल में AVD के रैम साइज़ को गलत तरीके से सेट किया जा रहा था.

इस समस्या को कम करने के लिए, एम्युलेटर उन इमेज के लिए रैम का कम से कम लेवल बढ़ा देता है जो एपीआई लेवल 26 या उसके बाद के लेवल का इस्तेमाल करती हैं. यह लेवल, Android Studio के डिफ़ॉल्ट लेवल 1536 एमबी पर सेट होता है. अगर आपके एवीडी की config.ini फ़ाइल में hw.ramSize को मेगाबाइट में नहीं दिखाया जा रहा है, तो कृपया Issue Tracker में समस्या दर्ज करें. आपको config.ini फ़ाइल यहां मिलेगी:

~/.android/avd/<avdname>.avd/config.ini

27.3.9 (जुलाई 2018)

इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:

Windows Hypervisor Platform के लिए, गड़बड़ी के मैसेज को बेहतर बनाया गया

कुछ उपयोगकर्ताओं को यह पता लगाने में मुश्किल आ रही थी कि WHPX एम्युलेटर को चालू करने पर, Windows Hypervisor Platform (WHPX) शुरू क्यों नहीं हुआ. इन समस्याओं का पता लगाने में आपकी मदद करने के लिए, हमने गड़बड़ी के बारे में ज़्यादा जानकारी देने वाले मैसेज जोड़े हैं. -verbose फ़्लैग का इस्तेमाल करके, कमांड लाइन से एम्युलेटर को रन करके, गड़बड़ी के इन मैसेज को चालू किया जा सकता है.

सामान्य समस्याएं ठीक करना

  • कैमरा ऐप्लिकेशन में स्नैपशॉट लोड करते समय होने वाली OpenGL गड़बड़ियों को ठीक किया गया है.

27.3.8 (जुलाई 2018)

इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.

स्नैपशॉट

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

Android Studio 3.2 Canary 13 से, हर डिवाइस कॉन्फ़िगरेशन में वर्चुअल डिवाइस कॉन्फ़िगरेशन डायलॉग में मौजूद ऐडवांस सेटिंग में एक कंट्रोल शामिल होता है. इसकी मदद से, यह तय किया जा सकता है कि एवीडी शुरू करते समय, कौनसे एवीडी स्नैपशॉट को लोड करना है.

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

सेव किए गए हर स्नैपशॉट के नाम और जानकारी में बदलाव किया जा सकता है.

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

HAXM 7.2.0

HAXM 7.2.0 अब सभी चैनलों में उपलब्ध है.

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

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

27.2.9 (मई 2018)

इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.

स्क्रीन रिकॉर्डिंग

अब Android Emulator से वीडियो और ऑडियो रिकॉर्ड किया जा सकता है. साथ ही, रिकॉर्डिंग को WebM या ऐनिमेट किया गया GIF फ़ाइल फ़ॉर्मैट में सेव किया जा सकता है.

स्क्रीन रिकॉर्डिंग के कंट्रोल, ज़्यादा कंट्रोल विंडो के स्क्रीन रिकॉर्ड करें टैब में होते हैं.

अहम जानकारी: स्क्रीन रिकॉर्डिंग के कंट्रोल खोलने के लिए, Control + Shift + R (Mac पर Command + Shift + R) दबाएं.

स्क्रीन रिकॉर्डिंग शुरू करने के लिए, स्क्रीन रिकॉर्ड टैब में मौजूद रिकॉर्डिंग शुरू करें बटन पर क्लिक करें. रिकॉर्डिंग रोकने के लिए, रिकॉर्डिंग रोकें पर क्लिक करें.

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

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

adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm

स्क्रीनशॉट

कमांड लाइन से स्क्रीनशॉट लेने के लिए, इनमें से किसी एक कमांड का इस्तेमाल करें:

  • screenrecord screenshot [destination-directory]
  • adb emu screenrecord screenshot [destination-directory]

स्क्रीनशॉट, PNG फ़ॉर्मैट में सेव किए जाते हैं.

वर्चुअल सीन कैमरा और ARCore

ARCore की मदद से ऑगमेंटेड रिएलिटी (एआर) वाले ऐप्लिकेशन डेवलप और टेस्ट करना अब और भी आसान हो गया है. इसके लिए, नए वर्चुअल सीन कैमरे का इस्तेमाल करें. इससे आपको वर्चुअल एनवायरमेंट में एआर का अनुभव आज़माने का मौका मिलता है.

एम्युलेटर में वर्चुअल सीन कैमरा इस्तेमाल करने के बारे में जानकारी पाने के लिए, Android Emulator में एआर ऐप्लिकेशन चलाना लेख पढ़ें.

Pixel डिवाइस पर Google Play Store की इमेज

Pixel और Pixel 2 डिवाइस की इमेज के लिए, Google Play Store अब चालू हो गया है. Android Studio 3.2 और इसके बाद के वर्शन में, Play Store कॉलम में Google Play के लोगो के साथ, AVD Manager में यह जानकारी दी जाती है. Google Play Store की सुविधा वाले AVD में, ज़्यादा कंट्रोल डायलॉग में Google Play टैब होता है. इसमें एक बटन होता है, जिसकी मदद से डिवाइस पर Google Play services को आसानी से अपडेट किया जा सकता है.

स्नैपशॉट

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

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

Skia की मदद से रेंडर करना

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

फ़िलहाल, Skia का इस्तेमाल करने के लिए, आपको इसे साफ़ तौर पर चालू करना होगा.

Skia रेंडरिंग चालू करने के लिए, adb शेल में इन कमांड का इस्तेमाल करें:

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

कैमरा

Windows पर, Android Emulator अब वेबकैम के बैक एंड के तौर पर Media Foundation का इस्तेमाल करता है. इससे वेबकैम से कैप्चर किए गए वीडियो की परफ़ॉर्मेंस और फ़्रेम रेट में काफ़ी सुधार होता है. यह 720 पिक्सल 30 FPS तक होता है.

Mac पर, अब webcam0 और webcam1 का एक साथ इस्तेमाल किया जा सकता है.

अन्य चीज़ें

-phone-number-prefix कमांड-लाइन विकल्प को बदलकर -phone-number [number] कर दिया गया है. इससे पूरा फ़ोन नंबर सेट किया जा सकता है.

अब अंकों और अक्षरों वाले एसएमएस पतों का इस्तेमाल किया जा सकता है.

समाधान

  • Android Emulator का Linux वर्शन अब आधुनिक Clang C++ टूलचेन का इस्तेमाल करके बनाया गया है. इस बदलाव से, libGL और libstdc++ से जुड़ी गड़बड़ियों की वजह से एम्युलेटर के शुरू न होने की समस्या ठीक हो जाती है.
  • ऐप्लिकेशन के क्रैश होने और हैंग होने की कई वजहों को ठीक किया गया है.
  • डिस्क में ज़रूरत के मुताबिक जगह न होने की वजह से, क्रैश और हैंग होने की समस्याओं से बचने के लिए, अब एम्युलेटर स्टार्टअप के दौरान यह जांच करता है कि डिस्क में ज़रूरत के मुताबिक जगह है या नहीं. अगर डिस्क में कम से कम 2 जीबी जगह खाली नहीं है, तो एम्युलेटर शुरू नहीं होगा.
  • उस समस्या को ठीक किया गया है जिसकी वजह से कुछ Unity गेम रेंडर नहीं हो पा रहे थे.
  • डीएनएस से जुड़ी समस्या को ठीक किया गया है. इस समस्या की वजह से, एम्युलेटर नेटवर्क से कनेक्ट नहीं हो पा रहा था.
  • उस समस्या को ठीक किया गया है जिसकी वजह से, वर्चुअल डिवाइस कॉन्फ़िगरेशन डायलॉग के ज़रिए किसी एवीडी को असाइन की गई इंटरनल स्टोरेज में किए गए बदलाव काम नहीं कर रहे थे.
  • adb की कई प्रोसेस बनने और ठीक से बंद न होने की समस्या को ठीक किया गया है.
  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से रोटेट करने वाले बटन और यूज़र इंटरफ़ेस (यूआई) के अन्य हिस्से काम नहीं करते थे. ऐसा तब होता था, जब तक कि एक्सटेंडेड कंट्रोल विंडो खुली न हो.
  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से, होस्ट से कॉपी और चिपकाने की सुविधा तब तक काम नहीं करती थी, जब तक कि एक्सटेंडेड कंट्रोल डायलॉग को कम से कम एक बार न खोला गया हो.
  • फ़्रेमलेस एम्युलेटर के साइज़ बदलने वाले रेक्टैंगल को अपडेट किया गया है, ताकि यह एम्युलेटर की विज़ुअल थीम को बेहतर तरीके से फ़ॉलो कर सके.
  • फ़्लाइट मोड चालू होने पर, अब फ़ोन और एसएमएस की सुविधा ठीक से बंद हो जाती है.
  • स्नैपशॉट लोड करने के बाद, एसएमएस और सेल्युलर सुविधा के बंद होने की समस्या को ठीक किया गया है.
  • अब आपको झूठी चेतावनी वाले मैसेज नहीं मिलेंगे. जैसे, “Unable to open... \pstore.bin. Permission denied.”
  • Mac की कुछ स्क्रीन पर, AVD को फिर से सेट करने में आ रही समस्या को ठीक किया गया है.
  • Pixel 2 XL स्किन के साथ AVD चलाने पर, नए MacBook Pro कंप्यूटरों पर स्क्रीन के फ़्लिकर होने और खाली होने की समस्याएं ठीक की गईं.
  • बिना फ़्रेम वाले एम्युलेटर के चालू होने पर, ज़ूम किए गए मोड में स्विच करते समय खाली स्क्रीन की समस्याओं को ठीक किया गया.
  • ज़ूम इन करने पर, डिवाइस की स्किन और एम्युलेटर के कॉन्टेंट के स्क्रोल होने में अंतर आने की समस्या को ठीक किया गया है.

अगर आपको अब भी हैंग होने या अन्य समस्याएं आ रही हैं, तो कृपया समस्या की शिकायत करें.

27.1.12 (मार्च 2018)

इस अपडेट में, इन समस्याओं को ठीक किया गया है:

  • एम्युलेटर शुरू करने के बाद, ब्लूटूथ ऑडियो की क्वालिटी खराब हो जाती है. (समस्या 37095756)
  • एक एम्युलेटर को भेजी गई जगह की जानकारी, सभी एम्युलेटर को भेजी गई. (समस्या 73450633)
  • कंसोल का इस्तेमाल करके सेट की गई जीपीएस लोकेशन को, ग्राफ़िकल यूज़र इंटरफ़ेस में Extended Controls > Location का इस्तेमाल करके सेट की गई वैल्यू से बदल दिया गया था. (समस्या 73471760)

अगर आपको अब भी हैंग होने या अन्य समस्याएं आ रही हैं, तो कृपया समस्या की शिकायत करें.

इस अपडेट के साथ-साथ मौजूदा सिस्टम इमेज और Android Studio के झलक वर्शन की मदद से, Android Emulator का इस्तेमाल करके ARCore से बनाए गए ऑगमेंटेड रिएलिटी ऐप्लिकेशन चलाए जा सकते हैं. ज़रूरी शर्तों और निर्देशों के बारे में ज़्यादा जानने के लिए, Android Emulator में एआर ऐप्लिकेशन चलाना लेख पढ़ें.

27.1.10 (फ़रवरी 2018)

  • कैमरे से कैप्चर किए गए कॉन्टेंट का रिज़ॉल्यूशन

    अब अटैच किए गए वेबकैम से 720 पिक्सल वाले फ़्रेम कैप्चर किए जा सकते हैं.

    Android 8.1 (एपीआई लेवल 27) और इसके बाद के वर्शन की सिस्टम इमेज के साथ काम करने के लिए, अटैच किए गए किसी भी वेबकैम में 720 पिक्सल वाले फ़्रेम कैप्चर करने की सुविधा होनी चाहिए.

  • समाधान

    • उस समस्या को ठीक किया गया है जिसकी वजह से वेबकैम से कैप्चर की गई इमेज कभी-कभी खराब दिखती थी या पूरी तरह से हरी दिखती थी.
    • हमने उस समस्या को ठीक कर दिया है जिसकी वजह से, हैंग होने की कोई समस्या न होने पर भी यह मैसेज दिखता था: "emulator: ERROR: detected a hanging thread 'Qt event loop'. 15,000 मि॰से॰ तक कोई जवाब नहीं मिला".

अगर आपको अब भी हैंग होने या अन्य समस्याएं आ रही हैं, तो कृपया समस्या की शिकायत करें.

27.1.7 (फ़रवरी 2018)

  • फ़्रेमलेस एम्युलेटर विंडो:

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

  • AVD स्नैपशॉट के साथ काम करने को ज़्यादा असरदार बनाने के लिए, क्विक बूट की सुविधा में ये सुधार किए गए हैं:

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

    ज़्यादा जानकारी के लिए, क्विक बूट दस्तावेज़ देखें.

  • इमुलेटर को QEMU 2.9 का इस्तेमाल करने के लिए अपडेट किया गया है.

    कुछ अहम सुधारों में ये शामिल हैं:

    • बेहतर परफ़ॉर्मेंस के लिए, ऑप्टिमाइज़ किया गया I/O और ज़्यादा बेहतर I/O थ्रेड लॉकिंग.
    • QEMU 2.8 (26.1.4) के बाद से मौजूद गड़बड़ियों को ठीक किया गया.
    • HAXM के बैक एंड को लागू करने का नया तरीका.

    बदलावों की पूरी सूची QEMU 2.9 के बदलाव लॉग में देखें.

  • OpenGL ES 3.0 के मुताबिक Swiftshader लागू करना:

    इमुलेटर का Swiftshader रेंडरर अब OpenGL ES 3.0 के साथ पूरी तरह से काम करता है. Swiftshader रेंडरर के बारे में ज़्यादा जानने के लिए, एक्सटेंडेड कंट्रोल के सेटिंग > ऐडवांस सेक्शन पर जाएं.

  • समाधान

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

27.0.5 (जनवरी 2018)

  • Windows पर रेंडरिंग के लिए ANGLE अब डिफ़ॉल्ट रूप से बंद है.

    अगर ANGLE आपके लिए बेहतर काम करता है, तो कमांड लाइन फ़्लैग -gpu angle_indirect का इस्तेमाल करके, इसे फिर से चालू किया जा सकता है. इसके अलावा, एक्सटेंडेड कंट्रोल विंडो खोलें और सेटिंग > ऐडवांस पर जाएं. इसके बाद, OpenGL ES रेंडरर सेटिंग के लिए ANGLE D3D11 चुनें.

  • Shift+B दबाने पर कैपिटल B टाइप न होने की समस्या को ठीक किया गया है.

27.0.2 (दिसंबर 2017)

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

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

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

    • हां: एम्युलेटर बंद करने पर, क्विक बूट स्नैपशॉट हमेशा सेव करें. यह डिफ़ॉल्ट विकल्प है.
    • नहीं: क्विक बूट स्नैपशॉट कभी सेव न करें; हमेशा कोल्ड बूट करें.
    • पूछें: एम्युलेटर बंद करते समय, यह प्रॉम्प्ट करें कि क्विक बूट स्नैपशॉट को सेव करना है या नहीं.

    आपने जो विकल्प चुना है वह सिर्फ़ मौजूदा समय में खुले हुए एवीडी पर लागू होगा.

    ज़्यादा जानकारी के लिए, क्विक बूट का दस्तावेज़ देखें.

  • Mac OpenGL ES 3 के लिए सहायता जोड़ी गई है. यह एपीआई लेवल 24 और इसके बाद के वर्शन, Google API, और x86 ABI का इस्तेमाल करने वाली सिस्टम इमेज के लिए है.

  • OpenGL ES 2+ ऐप्लिकेशन में ज़्यादा स्थिरता के लिए, अगर उपलब्ध हो, तो अब एम्युलेटर OpenGL कोर प्रोफ़ाइल का इस्तेमाल करता है.

  • Swiftshader / ANGLE के साथ रेंडर करने के नए विकल्प:

    • -gpu swiftshader_indirect: Swiftshader का ज़्यादा तेज़ और ज़्यादा स्टेबल वर्शन. यह Quick Boot के साथ काम करता है.
    • -gpu angle_indirect (सिर्फ़ Windows के लिए): ANGLE D3D का ज़्यादा स्टेबल वर्शन. यह क्विक बूट के साथ भी काम करता है.

    -gpu swiftshader और -gpu angle के पुराने विकल्पों का इस्तेमाल अब नहीं किया जा सकता. एक्सटेंडेड कंट्रोल विंडो में, सेटिंग > ऐडवांस में OpenGL ES रेंडरर सेटिंग के लिए"SwiftShader " और"ANGLE " विकल्प अब *_indirect वर्शन का इस्तेमाल करते हैं.

  • कई अन्य गड़बड़ियां ठीक की गईं.

26.1.4 (अगस्त 2017)

यह एक छोटी रिलीज़ है. इसमें गड़बड़ियों को ठीक किया गया है. साथ ही, जीपीयू कॉन्फ़िगरेशन में ये सुधार किए गए हैं:

  • ANGLE रेंडरर पर चलने के दौरान बूट ऐनिमेशन चालू करें
  • ANGLE रेंडरर पर चलने के दौरान GLES3 को बंद करें

26.1.3 (अगस्त 2017)

यह एक छोटी रिलीज़ है. इसमें गड़बड़ियां ठीक की गई हैं, परफ़ॉर्मेंस में सुधार किए गए हैं, और सुविधाओं में छोटे-मोटे बदलाव किए गए हैं.

  • Android 8.0 की नई सिस्टम इमेज का इस्तेमाल करने के लिए, अब इस वर्शन की ज़रूरत होगी. ये Treble के साथ काम करते हैं और इनमें अलग-अलग vendor.img पार्टीशन होते हैं.
  • HAXM 6.2.0 का नया वर्शन अब उपलब्ध है. इसे SDK Manager में देखा जा सकता है. इसमें ये अपडेट शामिल हैं:
    • मेमोरी के इस्तेमाल को बेहतर बनाया गया है. HAXM की ओर से पिन की गई मेमोरी का पीक वर्किंग सेट, अब एवीडी की रैम के साइज़ के बराबर नहीं है. इसके बजाय, मेमोरी को ज़रूरत के हिसाब से पेज में बांटा जाता है. इससे कम रैम वाले कंप्यूटरों पर, एम्युलेटर को ज़्यादा भरोसेमंद तरीके से चलाने में मदद मिलेगी.
    • HAXM 6.2.0 वाला एम्युलेटर, अब macOS पर तेज़ी से बूट हो सकता है. इससे, लंबे समय तक चलने वाली शुरुआती प्रोसेस को स्किप किया जा सकता है.
  • GPU कॉन्फ़िगरेशन में सुधार
    • बूट करते समय काली स्क्रीन दिखने की समस्या ठीक की गई. ऐसा तब होता था, जब मेहमान के तौर पर सॉफ़्टवेयर रेंडरिंग की जाती थी. इस समस्या को ठीक करने के लिए, Swiftshader की मदद से होस्ट के तौर पर सॉफ़्टवेयर रेंडरिंग की सुविधा को वापस लाया गया. एपीआई लेवल 19 से 25 के लिए, Google API वाली सिस्टम इमेज के नए वर्शन में गेस्ट-साइड रेंडरिंग की सुविधा काम करनी चाहिए.
    • उस समस्या को ठीक किया गया है जिसमें पुराने Intel GPU का पता चलने पर, एम्युलेटर को सॉफ़्टवेयर रेंडरर पर स्विच कर दिया जाता था. हालांकि, एम्युलेटर असल में डिसक्रीट जीपीयू पर चल रहा था. किन जीपीयू को ANGLE या Swiftshader रेंडरिंग का इस्तेमाल करने के लिए स्विच किया जाएगा, यह इस तरह तय किया जाता है:
      • Intel के पुराने iGPU में, OpenGL और ANGLE D3D, दोनों ड्राइवर से जुड़ी समस्याएं हैं. Intel HD Graphics 3xxx और इससे पुराने वर्शन वाले ग्राफ़िक्स कार्ड का इस्तेमाल करने वाले लोग, Swiftshader का इस्तेमाल करेंगे.
      • कुछ उपयोगकर्ताओं ने बताया कि वे एपीआई लेवल 25 की इमेज का इस्तेमाल नहीं कर पा रहे हैं. इसकी वजह यह है कि "Pixel Launcher काम नहीं कर रहा है" बग की वजह से ऐसा हो रहा है. ऐसा लगता है कि Intel HD 4xxx के कुछ मॉडल में ड्राइवर से जुड़ी समस्या है. इसलिए, उन्हें अपने-आप ANGLE का इस्तेमाल करने के लिए स्विच कर दिया जाएगा.
    • जीपीयू इम्यूलेशन से बेहतर नतीजे पाने के लिए, हमारा सुझाव है कि आप NVIDIA या AMD के डिसक्रीट जीपीयू या Intel के नए जीपीयू (Iris, HD 5xxx, HD 5xx/6xx) का इस्तेमाल करें.
    • हमने उस समस्या को ठीक कर दिया है जिसकी वजह से, एवीडी को hw.gpu.mode=host के साथ कॉन्फ़िगर करने पर एम्युलेटर शुरू नहीं हो पाता था. ऐसा तब होता था, जब एम्युलेटर को रिमोट डेस्कटॉप क्लाइंट में लॉन्च किया जाता था.
    • "OpenGL ES एपीआई लेवल (डिवाइस को रीस्टार्ट करना ज़रूरी है)" सेटिंग के बारे में ज़्यादा जानकारी दी गई है. साथ ही, अगर आपको समस्याएं आ रही हैं या आपको OpenGL ES के निचले एपीआई लेवल पर टेस्ट करना है, तो OpenGL ES 3 से OpenGL ES 2 पर डाउनग्रेड करने का विकल्प जोड़ा गया है.
    • Mesa रेंडरर अब काम नहीं करता; hw.gpu.mode=mesa अब होस्ट पर Swiftshader का इस्तेमाल करने के लिए अपने-आप स्विच हो जाएगा.
  • macOS के लिए किए गए सुधार:
    • इमुलेटर अब macOS 10.13 High Sierra के साथ पूरी तरह से काम करता है. इसके लिए, Hypervisor.Framework या HAXM 6.2.0 का इस्तेमाल किया जा सकता है.
    • macOS पर, 32-बिट x86 इमेज के लिए Hypervisor.framework अब डिफ़ॉल्ट रूप से चालू होता है. इससे परफ़ॉर्मेंस बेहतर होती है और macOS के साथ काम करने की सुविधा मिलती है. अगर आपको इसमें कोई समस्या आ रही है, तो कृपया गड़बड़ी की रिपोर्ट सबमिट करें और HVF = off को ~/.android/advancedFeatures.ini में जोड़ें. अगर यह फ़ाइल मौजूद नहीं है, तो इसे बनाएं.
    • Hypervisor.framework का इस्तेमाल करते समय, इंटरनेट न होने या डीबगर अटैच न हो पाने की समस्याओं को ठीक किया गया है.
    • वेबकैम कैप्चर की परफ़ॉर्मेंस और कंपैटिबिलिटी को बेहतर बनाने के लिए, QTKit पर आधारित कैमरा कैप्चर को AVFoundation पर आधारित बफ़र किए गए कैमरा कैप्चर से बदल दिया गया है.
  • कुछ सिस्टम इमेज में वाई-फ़ाई के लिए सहायता जोड़ी गई है. फ़िलहाल, यह सुविधा सिर्फ़ एपीआई लेवल 25 के लिए उपलब्ध है. "AndroidWifi" नाम का ऐक्सेस पॉइंट उपलब्ध है और Android इससे अपने-आप कनेक्ट हो जाता है. कमांड लाइन पैरामीटर -feature -Wifi का इस्तेमाल करके एम्युलेटर को चलाने पर, वाई-फ़ाई की सुविधा बंद की जा सकती है.
  • कुछ उपयोगकर्ताओं ने शिकायत की है कि तय साइज़ वाली Play Store सिस्टम इमेज में स्टोरेज की जगह कम है. इसलिए, हमने डिफ़ॉल्ट रूप से साइज़ को 800 एमबी से बढ़ाकर 2 जीबी कर दिया है.
  • गड़बड़ी की रिपोर्ट करने वाले यूज़र इंटरफ़ेस (यूआई) पेज को सीधे सेटिंग पेज से खोलने के लिए, कीबोर्ड शॉर्टकट (Ctrl+Shift+U) जोड़ा गया है.
  • उस समस्या को ठीक किया गया है जिसमें Intel x86 EPT वाला पुराना सीपीयू इस्तेमाल करने पर, एक से ज़्यादा कोर कॉन्फ़िगर होने पर इम्यूलेटर बूट नहीं होता था. हालांकि, इस सीपीयू में UG की सुविधा नहीं होती थी.
  • उस समस्या को ठीक किया गया है जिसमें अगर इम्यूलेटर, Xen हाइपरवाइज़र में चल रहा होता था, तो HyperV का पता गलत तरीके से लगाया जाता था.
  • इस वर्शन में, Linux के कुछ कॉन्फ़िगरेशन में एम्युलेटर के शुरू होने पर क्रैश होने की समस्या को ठीक किया गया है.

26.1.2 (जुलाई 2017)

इस रिलीज़ में नई सुविधाएं जोड़ी गई हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है.

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

  • मेहमान मोड वाले GPU के लिए वीएनसी की सुविधा जोड़ी गई है, ताकि एम्युलेटर को रिमोट से देखा और कंट्रोल किया जा सके. उदाहरण के लिए, एम्युलेटर को लॉन्च किया जा सकता है और वीएनसी को पोर्ट 5901 पर सुनने की अनुमति दी जा सकती है. इसके लिए, यह तरीका अपनाएं:

    1. लागू करें: emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
    2. पोर्ट 5901 से कनेक्ट करने के लिए, कोई वीएनसी व्यूअर खोलें. जैसे, tightvnc viewer.

      • Mac में पहले से मौजूद स्क्रीन शेयरिंग क्लाइंट का इस्तेमाल करने के लिए, एम्युलेटर लॉन्च करते समय वीएनसी पासवर्ड की ज़रूरत होती है. पासवर्ड सेट करने के लिए, इस कमांड का इस्तेमाल करें:

        emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio

        इसके बाद, कंसोल में change vnc password डालें और पासवर्ड डालें.

    फ़िलहाल, Android O पर वीएनसी मोड काम नहीं करता.

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

  • एम्युलेटर और वर्चुअल सेंसर पैनल में जायरोस्कोप सेंसर जोड़ा गया. इसके लिए, ऐसी सिस्टम इमेज की ज़रूरत होती है जिसमें जायरोस्कोप की सुविधा काम करती हो. फ़िलहाल, यह सुविधा एपीआई लेवल 24 और 25 पर काम करती है.

  • Windows पर Qemu DNS की सूची में, होस्ट के लिए पसंदीदा DNS जोड़ा गया है. ऐसा तब किया जाता है, जब होस्ट पर कई वर्चुअल नेटवर्क इंटरफ़ेस, कई DNS पते उपलब्ध कराते हैं. हालांकि, ये पते एम्युलेटर के लिए काम नहीं करते.

  • macOS 10.10 और इसके बाद के वर्शन पर, सर्वर फ़्लैग के ज़रिए 32-बिट x86 इमेज के लिए, macOS Hypervisor.Framework की एक्सपेरिमेंटल सुविधा जोड़ी गई है. इससे बूट होने में लगने वाला समय और परफ़ॉर्मेंस बेहतर होगी.

    • अगर आपको इसमें समस्याएं आ रही हैं, तो HVF = off में ~/.android/advancedFeatures.ini लाइन जोड़ें.
  • OpenGL ES 3.x अब सिस्टम इमेज और होस्ट GPU के लिए डिफ़ॉल्ट रूप से चालू है. ये OpenGL ES 3 के साथ काम करते हैं. फ़िलहाल, सिर्फ़ Android O (एपीआई लेवल 26) और Windows/Linux होस्ट, OpenGL ES 3 के साथ काम करते हैं.

    • अगर आपको OpenGL ES 3 में समस्याएं आ रही हैं, तो ~/.android/advancedFeatures.ini में GLESDynamicVersion = off लाइन जोड़ें.
  • एम्युलेटर अब सभी रेंडरिंग के लिए, ऑफ़स्क्रीन OpenGL FBO का इस्तेमाल करता है. हालांकि, फ़ाइनल डिसप्ले इमेज पोस्ट करने के लिए इसका इस्तेमाल नहीं किया जाता. इससे अलग-अलग प्लैटफ़ॉर्म पर, कलर कंसिस्टेंसी से जुड़ी समस्याओं को ठीक करने में मदद मिलेगी.

  • एम्युलेटर के अचानक धीमे हो जाने की समस्याओं से जुड़ा डेटा इकट्ठा करने के बाद, हमें पता चला है कि यह समस्या, Intel के पुराने OpenGL ड्राइवर और Windows के अपडेट के बीच किसी इंटरैक्शन की वजह से हो सकती है. इसलिए, Intel HD 4000, 3000, 2000 (और इनसे जुड़े जीपीयू) का इस्तेमाल करने वाले लोगों के लिए, रेंडरिंग को डिफ़ॉल्ट रूप से D3D रेंडरर (ANGLE) या Swiftshader (सॉफ़्टवेयर रेंडरर) पर सेट कर दिया गया है.

26.0.0 (मार्च 2017)

यह रिलीज़, एपीआई लेवल 26 के साथ काम करती है. इसमें परफ़ॉर्मेंस में कई सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं.

माइनर वर्शन 26.0.3 (मई 2017)

  • इस अपडेट में, ऑनलाइन अपडेट किए जा सकने वाले फ़ीचर फ़्लैग जोड़े गए हैं. इनकी मदद से, हार्डवेयर कॉन्फ़िगरेशन से जुड़ी समस्याओं को तुरंत हल किया जा सकता है. इससे Google, सर्वर-साइड फ़्लैग अपडेट करके, उपयोगकर्ता के कॉन्फ़िगरेशन पर निर्भर करने वाली सुविधाओं और गड़बड़ियों को ठीक कर सकता है. अगर आपको किसी खास हार्डवेयर से जुड़ी समस्याएं दिखती हैं, तो कृपया गड़बड़ी की शिकायत करें, ताकि हम समस्या की जांच कर सकें.
  • Android Wear API लेवल 25 सिस्टम इमेज के लिए, रोटरी इनपुट की नई सुविधा उपलब्ध है. Wear डिवाइस पर रोटरी इनपुट डायल की सुविधा का इस्तेमाल करने के लिए, बड़ी की गई विंडो में रोटरी इनपुट टैब पर क्लिक करें.
  • क्रैश रिपोर्टिंग डायलॉग का साइज़ अब बदला जा सकता है. साथ ही, यह अब क्रैश रिपोर्ट कब भेजनी है सेटिंग को बिना किसी इनपुट के पूछें पर रीसेट नहीं करता है.
  • अब 32-बिट वाले एम्युलेटर के लिए, एवीडी की रैम का ज़्यादा से ज़्यादा साइज़ 512 एमबी से कम या उसके बराबर होना चाहिए. इससे एम्युलेटर को 2 जीबी वर्चुअल पते की जगह में जगह खत्म होने से रोका जा सकेगा.
  • एम्युलेटर इमेज में अब ऐब्सलूट पाथ का इस्तेमाल किया जा सकता है.
  • Google Play Store की इमेज के लिए, बड़ी की गई विंडो में एक नया टैब जोड़ता है. यह Play सेवाएं का वर्शन दिखाता है. साथ ही, Play सेवाएं के अपडेट की जांच करने के लिए एक बटन दिखाता है.
  • यह सुविधा, Emulator Settings पेज पर OpenGL रेंडरर चुनने के लिए एक ड्रॉपडाउन जोड़ती है. अगर आपको Windows मशीन पर OpenGL ड्राइवर से जुड़ी समस्याएं आ रही हैं, तो ANGLE (D3D11) या ANGLE (D3D9) विकल्पों का इस्तेमाल करके देखें. इसके लिए, आपको मशीन को रीस्टार्ट करना होगा. अगर आपको Windows के अलावा किसी अन्य मशीन पर OpenGL ड्राइवर से जुड़ी समस्याएं आ रही हैं, तो Swiftshader सॉफ़्टवेयर रेंडरर का इस्तेमाल करके देखें. इसके लिए, आपको मशीन को रीस्टार्ट करना होगा.
  • जब एम्युलेटर को exit और minimize, दोनों कमांड मिलती हैं, तो इससे बाहर निकलते समय होने वाली क्रैश की समस्या को ठीक किया गया है.
  • Mac मशीन पर डिसप्ले बदलते समय, स्केलिंग से जुड़ी समस्या को ठीक करता है. (समस्या 268296)
  • इस अपडेट में, उस समस्या को ठीक किया गया है जिसमें स्लीप मोड से होस्ट कंप्यूटर को फिर से शुरू करने पर या एम्युलेटर के लंबे समय तक चलने पर, एम्युलेटर सीपीयू का 300% इस्तेमाल करता है और उसे होल्ड करता है.
  • एम्युलेटर बंद होने पर क्रैश होने की समस्या को ठीक किया गया है.

HAXM v6.1.1 (मार्च 2017) के साथ अपडेट

ध्यान दें: HAXM v6.1.1, 30 मार्च से Mac उपयोगकर्ताओं के लिए SDK मैनेजर के ज़रिए उपलब्ध है. यह Windows उपयोगकर्ताओं के लिए जल्द ही उपलब्ध होगा.

Android Emulator का 26.0.0 वर्शन, HAXM v6.1.1 के साथ काम करता है. इसमें ये अपडेट शामिल हैं:

  • इस विकल्प से, परफ़ॉर्मेंस मॉनिटरिंग यूनिट (पीएमयू) इम्यूलेशन चालू होता है. (समस्या 223377)
  • Mac पर VirtualBox और Docker के साथ एक साथ काम करने से जुड़ी समस्याओं को ठीक किया गया है. (समस्या 197915)
  • Windows पर Intel VT-x का पता न चलने पर, इंस्टॉलर को दिखने वाले गड़बड़ी के मैसेज में बदलाव किया गया है. आम तौर पर, ऐसा Hyper-V चालू होने की वजह से होता है.
  • Hyper-V पर आधारित Windows VM में, Android Emulator को तेज़ी से चलाने की सुविधा जोड़ी गई है. इस अपडेट के लिए, यह ज़रूरी है कि होस्ट Hyper-V इंस्टेंस (वह इंस्टेंस जो Windows VM/गेस्ट को मैनेज करता है) में, नेस्टेड वर्चुअलाइज़ेशन की सुविधा चालू हो और Hyper-V का नया वर्शन इस्तेमाल किया जा रहा हो. Hyper-V को मेहमान Hyper-V इंस्टेंस (Windows VM) में बंद किया जाना चाहिए.

डिपेंडेंसी

  • Android SDK प्लैटफ़ॉर्म-टूल का अपडेट 25.0.4 या उसके बाद का अपडेट.
  • Android SDK Tools का 26.0.0 या इसके बाद का वर्शन.

नई सुविधाएं और गड़बड़ियां ठीक की गईं

  • एपीआई लेवल 26 के साथ काम करता है.
  • GLES 2.0 के साथ पूरी तरह से काम करता है. डेस्कटॉप OpenGL ड्राइवर के साथ काम करने वाले होस्ट GPU के लिए, अब एम्युलेटर, Android CTS dEQP-GLES2 mustpass सूची के 100% टेस्ट पास करता है. इसे एपीआई लेवल 24 x86 इमेज (रिविज़न 11 और उसके बाद के वर्शन) के लिए रिलीज़ किया गया है. इसे जल्द ही सभी सिस्टम इमेज के लिए उपलब्ध कराया जाएगा.
  • वीडियो चलाने की बेहतर परफ़ॉर्मेंस. अब एम्युलेटर, सभी वीडियो कलर बफ़र को होस्ट/गेस्ट की शेयर की गई मेमोरी में सेव करता है. साथ ही, ज़रूरी फ़ाइनल YUV को आरजीबी में बदलने की प्रोसेस, जीपीयू में करता है. अब ज़्यादातर सिस्टम में 1080p30 की सुविधा उपलब्ध होनी चाहिए. इसे एपीआई लेवल 24 x86 इमेज (रिविज़न 11 और उसके बाद के वर्शन) के लिए रिलीज़ किया गया है. इसे जल्द ही सभी सिस्टम इमेज के लिए उपलब्ध कराया जाएगा.
  • अब एम्युलेटर, बंद होने पर adb devices सूची से खुद को सही तरीके से अनरजिस्टर करता है. साथ ही, Linux मशीनों पर खुले हुए टीसीपी पोर्ट बंद करता है.
  • adb कनेक्शन अब ज़्यादा भरोसेमंद हैं. चल रहे एम्युलेटर का पता अब तेज़ी से चल जाता है. साथ ही, अब यह “ऑफ़लाइन” या “अनुमति नहीं है” स्टेटस में नहीं जाता.

25.3.0 (मार्च 2017)

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

माइनर वर्शन 25.3.1 (मार्च 2017)

  • कुछ जीपीयू कॉन्फ़िगरेशन पर क्रैश होने की समस्या को ठीक किया गया है. इसके लिए, GLAsyncSwap को डिफ़ॉल्ट रूप से बंद कर दिया गया है. इस सुविधा को 25.3.0 वर्शन में जोड़ा गया था. इससे गेम और वीडियो के लिए, फ़्रेम टाइमिंग और फ़्रेम प्रति सेकंड को बेहतर बनाया जा सकता है. हालांकि, इससे कुछ अनजान मशीन कॉन्फ़िगरेशन पर एम्युलेटर काम नहीं करता. इसे मैन्युअल तरीके से चालू किया जा सकता है. इसके लिए, android_sdk/emulator/lib/advancedFeatures.ini फ़ाइल खोलें और GLAsyncSwap = on सेट करें.

डिपेंडेंसी

  • Android SDK प्लैटफ़ॉर्म-टूल का अपडेट 24 या उसके बाद का अपडेट.
  • Android SDK के टूल का वर्शन 25.3.0.

नई सुविधाएं और गड़बड़ियां ठीक की गईं

  • इमुलेशन इंजन को QEMU 2.7 पर अपडेट किया गया है. इसमें हाल ही में ठीक की गई सभी गड़बड़ियां, बेहतर परफ़ॉर्मेंस, और नई सुविधाएं शामिल हैं.
  • IPv6 के लिए नई सुविधा.
  • अब इम्यूलेटर, होस्ट पर प्योर सॉफ़्टवेयर रेंडरर के तौर पर SwiftShader का इस्तेमाल करता है.
  • Android Pipe की परफ़ॉर्मेंस में सुधार: Android Pipe, एम्युलेटर और Android OS के बीच कम्यूनिकेशन का मुख्य चैनल है. अब यह पहले से ज़्यादा तेज़ है. इसमें कम समय लगता है और यह मल्टी-थ्रेडिंग की बेहतर परफ़ॉर्मेंस देता है. इससे एमुलेटर की परफ़ॉर्मेंस में कई तरह के सुधार होते हैं. जैसे:
    • ADB पुश/पुल की स्पीड बेहतर हुई.
    • 3D ऐक्सलरेशन की बेहतर सुविधा.
    • एम्युलेटर की परफ़ॉर्मेंस बेहतर हुई.
    • ग्राफ़िक्स की बेहतर परफ़ॉर्मेंस.
  • अब इम्यूलेटर, मेहमान के अनुरोध करने पर GPU-साइड बफ़र (glBindBuffers / glBufferData) का इस्तेमाल करता है. इससे कुछ ऐप्लिकेशन में सीपीयू का ओवरहेड कम हो जाता है.
  • ऑडियो की बेहतर सुविधा.
  • डिस्क I/O की बेहतर स्पीड: अब एम्युलेटर, डिस्क I/O को डिस्पैच करने के लिए अलग-अलग थ्रेड का इस्तेमाल करता है. इससे लेटेंसी कम होती है और थ्रूपुट बेहतर होता है (~1.5 गुना सीक्वेंशियल I/O स्पीड, ~5 गुना रैंडम ऐक्सेस I/O स्पीड). इससे डिस्क में फ़्लश होने वाले डेटा की संख्या भी कम हो जाती है. इससे फ़िज़िकल डिवाइस पर लोड काफ़ी कम हो जाता है.
  • अब Windows मशीन पर डिस्क बूट के लिए, एम्युलेटर स्पार्स फ़ाइलों का इस्तेमाल करता है. इससे, पहले बूट और "डेटा मिटाएं" बूट, दोनों की स्पीड बढ़ जाती है. AVD बनाते या रीसेट करते समय, अब एम्युलेटर डिस्क पर 2 जीबी या उससे ज़्यादा डेटा के बजाय 100 से 200 एमबी डेटा लिखता है.
  • जीयूआई में कई तरह के सुधार:
    • अब एम्युलेटर, Qt 5.7.0 का इस्तेमाल करता है. इसमें गड़बड़ियां ठीक की गई हैं और परफ़ॉर्मेंस में सुधार किए गए हैं.
    • यूज़र इंटरफ़ेस (यूआई) को शुरू करने के दौरान, अब सभी एम्युलेटर एक्ज़ीक्यूटेबल को Qt प्लगिन के तौर पर लोड करने की कोशिश नहीं की जाती. इसलिए, इसमें पहले से काफ़ी कम समय लगता है. खास तौर पर, एचडीडी पर.
    • अब यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करना ज़्यादा तेज़ और आसान हो गया है. इसमें ये शामिल हैं: रोटेशन, विंडो का साइज़ बदलना, और एक्सटेंड किए गए कंट्रोल विंडो को लोड करना और बंद करना.

OpenXR™ और OpenXR लोगो, The Khronos Group Inc. के ट्रेडमार्क हैं. इन्हें चीन, यूरोपियन यूनियन, जापान, और यूनाइटेड किंगडम में ट्रेडमार्क के तौर पर रजिस्टर किया गया है.