Android Emulator, Android Studio के साथ शामिल है.
एम्युलेटर के 25.3.0 से पहले के वर्शन, Android SDK के टूल के हिस्से के तौर पर उपलब्ध कराए गए थे.
यह पक्का करने के लिए कि आपके पास नया वर्शन है, अपडेट के लिए एसडीके मैनेजर देखें.
Android Emulator के पिछले वर्शन डाउनलोड करने के लिए, Emulator का डाउनलोड संग्रह देखें.
एम्युलेटर के 25.3.0 से पहले के वर्शन के रिलीज़ नोट के लिए, Android SDK के टूल के रिलीज़ नोट देखें.
Android Emulator के सबसे नए वर्शन में कौनसी समस्याएं ठीक की गई हैं, यह जानने के लिए ठीक की गई समस्याएं देखें.
आम तौर पर होने वाली समस्याओं और उन्हें हल करने के तरीके जानने के लिए, कृपया एम्युलेटर से जुड़ी समस्या हल करना लेख पढ़ें.
37.2.13 पैच (28 अक्टूबर, 2026)
- [गड़बड़ी ठीक की गई]समस्या #568480829 OpenGL ES इम्यूलेशन में होस्ट मेमोरी लीक की समस्या को ठीक किया गया है. इसमें, गेस्ट Android ऐप्लिकेशन या प्रोसेस के बंद होने पर, ग्राफ़िक कॉन्टेक्स्ट, सरफ़ेस, और फ़्रेम बफ़र रिलीज़ नहीं किए जा रहे थे.
Next Generation Android Emulator (झलक)
Android Studio Rabbit 3 Canary 1 और इसके बाद के वर्शन में, हमारे अगली पीढ़ी के Android Emulator की झलक उपलब्ध है. ज़रूरी शर्तें पूरी करने वाले वर्चुअल डिवाइसों के लिए, इसे डिफ़ॉल्ट रूप से इस्तेमाल किया जाता है.
हमारे लेगसी QEMU 2 फ़ोर्क से आधुनिक अपस्ट्रीम QEMU (v11+) पर अपग्रेड करने पर, नए इंजन में इंजन/यूज़र इंटरफ़ेस (यूआई) प्रोसेस को अलग करने की सुविधा मिलती है. इसे बहुत अच्छी क्वालिटी और परफ़ॉर्मेंस के लिए डिज़ाइन किया गया है.
डेवलपर को ये फ़ायदे मिलेंगे:
- सिस्टम चालू होने में कम समय लगता है और सीपीयू/मेमोरी का ओवरहेड कम होता है
- इंजन और यूज़र इंटरफ़ेस (यूआई) की प्रोसेस को अलग-अलग करके, सेशन की परफ़ॉर्मेंस को बेहतर बनाया गया
- अपडेट किए गए virtio हार्डवेयर मॉडल और Vulkan ग्राफ़िक्स के साथ आधुनिक वर्चुअलाइज़ेशन
शुरू करने के लिए, एपीआई लेवल 37.0 या इसके बाद के वर्शन पर चलने वाला फ़ोन एवीडी बनाएं. इसके बाद, उसे Android Studio Canary से लॉन्च करें. फ़िलहाल, मौजूदा एवीडी, क्लासिक एम्युलेटर इंजन पर आसानी से चलते रहेंगे.
37.2.12 स्टेबल (1 अक्टूबर, 2026)
[गड़बड़ी ठीक की गई]समस्या #537802959 macOS (Apple Silicon): ImageTransport MMAP के साथ gRPC streamScreenshot, एम्युलेटर इंजन को क्रैश कर देता है / बिना किसी सूचना के फ़्रेम लिखना बंद कर देता है
[गड़बड़ी ठीक की गई]समस्या #507078580 एम्युलेटर, macOS को स्लीप मोड में जाने से रोकता है
[गड़बड़ी ठीक की गई]समस्या #506475581 दो से ज़्यादा चैनलों (लूपबैक, मल्टी-आउटपुट) वाले ऑडियो इंटरफ़ेस का इस्तेमाल करने पर, macOS में ऑडियो के खराब होने और स्टार्टअप के दौरान चरचराहट की आवाज़ आने की समस्या को ठीक किया गया
37.1.11 स्टेबल (30 जुलाई, 2026)
Android Emulator हाइपरवाइज़र ड्राइवर (एईएचडी), 31 दिसंबर, 2026 को बंद हो जाएगा. इस ट्रांज़िशन में मदद करने के लिए, Android Studio अब Windows उपयोगकर्ताओं को AEHD से Windows Hypervisor Platform (WHPX) पर स्विच करने में मदद करता है. WHPX का इस्तेमाल करके वीएम ऐक्सेलिरेशन को कॉन्फ़िगर करने के बारे में जानकारी पाने के लिए, WHPX का इस्तेमाल करके वीएम ऐक्सेलिरेशन को कॉन्फ़िगर करना लेख पढ़ें.

Pixel 10a एवीडी जोड़ा गया
एपीआई 37 सिस्टम इमेज को चलाने के लिए ज़रूरी नए Vulkan एक्सटेंशन के लिए सहायता जोड़ी गई
[गड़बड़ी ठीक की गई]समस्या #324465986 बिना स्टोरेज वाले एम्युलेटर पर स्नैपशॉट लेते समय, स्टोरेज खत्म होने की गड़बड़ी नहीं दिखती
[गड़बड़ी ठीक की गई]समस्या #526671872 config.ini में एवीडी रैम और वीएम हीप साइज़ के कॉन्फ़िगरेशन के लिए, यूनिट के सफ़िक्स (जैसे, "6G", "32M") इस्तेमाल करने की सुविधा जोड़ी गई
[गड़बड़ी ठीक की गई]समस्या #325814592 macOS 14 में एक समस्या आई थी. इसमें कैमरा चालू करने के बाद, इम्यूलेटर फ़्रीज़ हो जाता था और बहुत धीरे काम करता था
36.6.11 स्टेबल (2 जून, 2026)
एपीआई 37 से, एवीडी की वीएम के लिए इस्तेमाल की जाने वाली कम से कम मेमोरी (रैम) को बढ़ाकर 4 जीबी कर दिया गया है.
Android 17 (एपीआई 37) में ज़्यादा मेमोरी की ज़रूरत होती है. इसलिए, फ़ोन के Android वर्चुअल डिवाइसों (एवीडी) के लिए, अब कम से कम 4 जीबी रैम होना ज़रूरी है. अगर आपके एवीडी को कम मेमोरी के साथ कॉन्फ़िगर किया गया है, तो एम्युलेटर कम से कम 4 जीबी मेमोरी असाइन करने के लिए, सेटिंग को अपने-आप बदल देगा. इससे रनटाइम से जुड़ी संभावित समस्याओं से बचा जा सकेगा.
एम्युलेटर में "एनवायरमेंट" कैमरा मोड जोड़ा गया है, ताकि वर्चुअल सीन के बैकग्राउंड को कॉन्फ़िगर किया जा सके. ये सीन, एवीडी की environment.ini फ़ाइल में तय किए जाते हैं. साथ ही, इन्हें रनटाइम के दौरान डाइनैमिक तौर पर फिर से लोड किया जा सकता है.
उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, स्नैपशॉट मिटाने के बाद भी स्टैंडअलोन एम्युलेटर में स्नैपशॉट की झलक दिखती थी.
[गड़बड़ी ठीक की गई]समस्या #506475581 macOS पर एम्युलेटर ऑडियो में काफ़ी गड़बड़ी होती है. ऐसा तब होता है, जब दो से ज़्यादा चैनलों (लूपबैक, मल्टी-आउटपुट) वाले ऑडियो इंटरफ़ेस का इस्तेमाल किया जाता है
[गड़बड़ी ठीक की गई]समस्या #516455370 macOS 26.3 पर एम्युलेटर को बंद करते समय, मेमोरी लीक होने की एक बड़ी समस्या को ठीक किया गया. यह समस्या, Hypervisor.framework एपीआई के इस्तेमाल किए गए संसाधनों को खाली करने से जुड़ी थी.
36.5.11 पैच (23 अप्रैल, 2026)
- [गड़बड़ी ठीक की गई]समस्या #492228020 Intel जीपीयू पर हार्डवेयर/ऑटो ग्राफ़िक्स रेंडरिंग का इस्तेमाल करने पर, Android Emulator में काली स्क्रीन दिखती है
36.5.10 स्टेबल (2 अप्रैल, 2026)
इस अपडेट में, यह सुविधा और गड़बड़ियां ठीक करने के तरीके शामिल हैं:
Android Emulator की मदद से, मल्टी-डिवाइस इंटरैक्शन की जांच करना
Android Emulator में अब एक नया नेटवर्किंग स्टैक शामिल है. इससे मल्टी-डिवाइस टेस्टिंग को बेहतर बनाया जा सकता है. साथ ही, एक ही होस्ट पर कई एवीडी इंस्टेंस को कनेक्ट करने के लिए, मैन्युअल तरीके से पोर्ट फ़ॉरवर्डिंग करने की ज़रूरत नहीं पड़ती. एवीडी अब एक-दूसरे को अपने-आप ढूंढ सकते हैं और कम्यूनिकेट कर सकते हैं. ऐसा लगता है कि वे एक ही वर्चुअल नेटवर्क पर हैं. इससे, Wi-Fi Direct और नेटवर्क सर्विस डिस्कवरी जैसे प्रोटोकॉल का इस्तेमाल करके, पीयर-टू-पीयर इंटरैक्शन की आसानी से जांच की जा सकती है.
इस नए नेटवर्किंग स्टैक से डेवलपर को कई अहम फ़ायदे मिलते हैं:
- ज़ीरो-कॉन्फ़िगरेशन: अब पोर्ट फ़ॉरवर्डिंग या adb कमांड की स्क्रिप्टिंग को मैन्युअल तरीके से करने की ज़रूरत नहीं है.
- आसान पीयर-टू-पीयर: एम्युलेटर के बीच, वाई-फ़ाई डायरेक्ट और नेटवर्क सर्विस डिस्कवरी जैसे ज़रूरी प्रोटोकॉल पहले से मौजूद होते हैं.
- बेहतर स्थिरता: यह लेगसी स्टैक में मौजूद, स्थिरता से जुड़ी पुरानी समस्याओं को हल करता है. जैसे, डेटा मिटना (समस्या #150758736) और कनेक्शन ड्रॉप होना (समस्या #449817856).
शुरू करने के लिए, Android Studio के एसडीके मैनेजर में जाकर, Android Emulator को नए वर्शन पर अपडेट करें. ज़्यादा जानकारी के लिए, दस्तावेज़ यहां उपलब्ध है.
अन्य सुविधाएं और गड़बड़ियां ठीक करना
नए Pixel एवीडी जोड़े गए हैं. इनमें Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, और Pixel 10 Pro Fold शामिल हैं
वेबकैम को उपयोगकर्ता के लिए आसान नामों के तौर पर लिस्ट किया गया है. साथ ही, Linux पर आने वाली उस समस्या को ठीक किया गया है जिसमें एम्युलेटर, कनेक्ट किए गए सभी वेबकैम का पता लगाने और उन्हें लिस्ट करने में विफल हो जाता था
[गड़बड़ी ठीक की गई]समस्या #333628462 macOS पर crashpad_handler प्रोसेस, सीपीयू का बहुत ज़्यादा इस्तेमाल करती है
36.4.10 पैच (9 मार्च, 2026)
- [गड़बड़ी ठीक की गई]समस्या #489369080 Panda 2 पर अपडेट करने के बाद, टीवी एम्युलेटर पर कर्सर घुमाने पर क्रैश होने की समस्या को ठीक किया गया
36.4.9 स्टेबल (10 फ़रवरी, 2026)
यूज़र इंटरफ़ेस में जीपीयू चुनने की प्रोसेस को आसान बनाने के लिए, Android Emulator के ऐडवांस कंट्रोल में अब हार्डवेयर और सॉफ़्टवेयर के खास विकल्प शामिल हैं. कमांड लाइन का इस्तेमाल करने वाले लोग, अब '-gpu software' विकल्प का इस्तेमाल करके, अपने सिस्टम के लिए उपलब्ध सबसे अच्छे GLES और Vulkan सॉफ़्टवेयर रेंडरिंग बैकएंड चुन सकते हैं
Lavapipe को डिफ़ॉल्ट ग्राफ़िक्स सॉफ़्टवेयर रेंडरर के तौर पर चालू किया गया, ताकि सभी प्लैटफ़ॉर्म पर Vulkan के साथ काम करने की क्षमता को बेहतर बनाया जा सके
Vulkan में किए गए सुधार:
- एम्युलेटर के साथ बंडल किए गए Vulkan लोडर को अपडेट किया गया
- Vulkan बैकएंड पर, अमान्य इस्तेमाल के कई मामलों को ठीक किया गया
- नई सिस्टम इमेज पर ग्राफ़िक्स सूची के एम्युलेशन के साथ, systemui पर SkiaVk का इस्तेमाल करने की सुविधा जोड़ी गई है
- होस्ट पर GL के इस्तेमाल को बंद करने के लिए, Vulkan कंपोज़िशन की सुविधा जोड़ी गई. यह सुविधा, एक्सआर इमेज के लिए डिफ़ॉल्ट रूप से चालू होती है. इसे '-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 के साथ चलने पर, टचस्क्रीन इवेंट के दौरान एम्युलेटर के क्रैश होने की समस्या को ठीक किया गया.
36.2.12 पैच (13 अक्टूबर, 2025)
- Windows पर क्रैश होने की समस्या को ठीक किया गया. यह समस्या तब होती थी, जब सॉफ़्टवेयर रेंडरिंग मोड में Vulkan ऐप्लिकेशन लॉन्च किया जाता था
36.2.11 स्टेबल (9 अक्टूबर, 2025)
एम्युलेटर से HAXM की सुविधा हटा दी गई है. HAXM की मदद से एवीडी बनाने की कोशिश करने पर, आपको एक बैनर दिखेगा. इसमें बताया जाएगा कि हाइपरवाइज़र मौजूद नहीं है. साथ ही, एईएचडी इंस्टॉल करने के लिए, कार्रवाई करने का लिंक दिखेगा.

HAXM को अनइंस्टॉल करने के बारे में जानने के लिए, HAXM को अनइंस्टॉल करना लेख पढ़ें.
Intel GPU के लिए OpenGL ES 3.0 का इस्तेमाल करने की सुविधा जोड़ी गई, ताकि ड्राइवर क्रैश न हो
[गड़बड़ी ठीक की गई]समस्या #340322888 डिवाइस में स्टोरेज खाली न होने पर, एवीडी चालू नहीं किया जा सकता
[गड़बड़ी ठीक की गई]समस्या #150758736 एम्युलेटर में टीसीपी कनेक्शन पर, कभी-कभी सिंगल-बाइट डेटा लीक होने की समस्या को ठीक किया गया
[गड़बड़ी ठीक की गई]समस्या #434774381 i7-11850H पर WHPX का इस्तेमाल करके, Windows 11 पर एपीआई 36 और 35 (शायद इससे ज़्यादा) के लिए क्विक बूट के बाद, गेस्ट कर्नेल क्रैश हो गया
36.1.9 स्टेबल (31 जुलाई, 2025)
[गड़बड़ी ठीक की गई]समस्या #419157428 उपयोगकर्ता नाम या एवीडी पाथ में UTF-8 वर्णों की वजह से, एम्युलेटर को शुरू होने में समस्या आ सकती है
[गड़बड़ी ठीक की गई]समस्या #423670833 btrfs फ़ाइल सिस्टम पर Android Emulator क्रैश हो जाता है
ध्यान दें: अगर आपको X11 पर एम्युलेटर लॉन्च करने में समस्याएं आ रही हैं, तो सॉफ़्टवेयर रेंडरिंग का इस्तेमाल करें. सॉफ़्टवेयर रेंडरिंग को कॉन्फ़िगर करने का तरीका जानने के लिए, ग्राफ़िक एक्सेलरेशन को कॉन्फ़िगर करना लेख पढ़ें.
35.6.11 स्टेबल (24 जून, 2025)
एक्सआर इम्यूलेशन के लिए, Windows और Linux पर एएमडी और Nvidia जीपीयू की सुविधा को बेहतर बनाया गया है
एक्सआर एवीडी को Android Studio की रन विंडो में एम्बेड करके चलाया जा सकता है
Windows पर क्रैश रिपोर्ट की जानकारी को बेहतर बनाया गया है, ताकि एम्युलेटर का पूरा डंप चालू किया जा सके
[गड़बड़ी ठीक की गई]समस्या #410485043 Android Emulator XR डिवाइस, Vulkan से जुड़ी गड़बड़ी की वजह से क्रैश हो जाता है
[गड़बड़ी ठीक की गई]समस्या #388718417 libndk_translation.so बंद हो जाता है और Arm64AesEncode में क्रैश हो जाता है
35.5.10 स्टेबल (6 मई, 2025)
सीपीयू के साथ काम करने की सुविधा की जांच करने के लिए, गड़बड़ी के मैसेज जोड़े गए हैं. जैसे, डिस्क में ज़रूरत के मुताबिक स्टोरेज न होना
Vulkan की मेमोरी मैनेज करने और गलत इस्तेमाल के उदाहरणों से जुड़ी गड़बड़ियां ठीक की गईं
टर्मिनल पर चलाते समय, Vulkan स्नैपशॉट की सुविधा की जांच की जाती है और उसे सही तरीके से स्किप किया जाता है
VK_KHR_multiview एक्सटेंशन और A1R5G5B5 टेक्सचर फ़ॉर्मैट के लिए सहायता जोड़ी गई
Pixel 9a एवीडी जोड़ा गया
35.4.9 स्टेबल (25 फ़रवरी, 2025)
मेहमान GLES ड्राइवर की सेटिंग के लिए, एक्सटेंडेड कंट्रोल में ड्रॉप-डाउन मेन्यू जोड़ा गया
[गड़बड़ी ठीक की गई]समस्या #389330750 Ñ वर्ण वाले एम्युलेटर को एसएमएस भेजने पर, मैसेज अलग-अलग हिस्सों में बंट जाता है
[गड़बड़ी ठीक की गई]समस्या #382180488 Vulkan डिवाइसों का पता न चलने की वजह से, "emuglConfig_get_vulkan_hardware_gpu_support_info" फ़ंक्शन क्रैश हो रहा है
ध्यान दें: Android XR एम्युलेटर, सिर्फ़ Studio के Canary वर्शन में उपलब्ध है
35.3.11 स्टेबल (9 जनवरी, 2025)
[गड़बड़ी ठीक की गई]समस्या #368059211 कार सर्विस एपीआई का इस्तेमाल करके, Android Auto OS से वीएचएएल को प्रोग्राम के हिसाब से ऐक्सेस नहीं किया जा सकता
[गड़बड़ी ठीक की गई]समस्या #348598513 एम्युलेटर में, मल्टी-थ्रेडेड लॉक में थ्रेड-असुरक्षित सार्वजनिक तरीका मौजूद है, जिसकी ज़रूरत नहीं है
[गड़बड़ी ठीक की गई]समस्या #356896486 -feature -Vulkan के साथ चलने पर, Vulkan एपीआई कॉल को पूरी तरह से बंद करें
35.4.4 Canary (12 दिसंबर, 2024)
नया Android XR एम्युलेटर
हमने हेडसेट के लिए, 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 जीबी या इससे ज़्यादा रैम
- 8 या इससे ज़्यादा कोर
पहले से मालूम समस्याएं
एम्युलेटर - स्टेबिलिटी और परफ़ॉर्मेंस:
- Windows के कुछ कॉन्फ़िगरेशन पर, बूट होने या ऐप्लिकेशन चलाने के दौरान सिस्टम लॉक या क्रैश हो सकता है. कृपया पक्का करें कि Windows Hypervisor Platform (WHPX) चालू हो. इसके लिए, WHPX को चालू करने के लिए Android Studio डेवलपर की गाइड में दिया गया तरीका अपनाएं.
- लैपटॉप को सस्पेंड-रीज़्यूम साइकल (जैसे, लैपटॉप को बंद करना और खोलना) के बाद, एवीडी या यूज़र इंटरफ़ेस (यूआई) एलिमेंट के काम न करने जैसी समस्याएं.
- ऐप्लिकेशन को "होम स्क्रीन मोड" से "फ़ुल स्क्रीन मोड" पर स्विच करने पर, कभी-कभी क्रैश होने की समस्या
- Gemini API अभी उपलब्ध नहीं हैं. इसलिए, Gemini API का स्टार्टर टेंप्लेट ऐप्लिकेशन क्रैश हो जाएगा.
एम्युलेटर - इनपुट और आउटपुट को सिम्युलेट करना:
- ऐसा हो सकता है कि खोजने और बदलाव करने वाले फ़ील्ड के लिए वर्चुअल कीपैड, फ़ील्ड ऑफ़ व्यू (कैमरे से दिख रहा व्यू) में सिर्फ़ कुछ हद तक दिखे
माउस और कीबोर्ड का इस्तेमाल करके, एलिमेंट को z-डायरेक्शन (स्क्रीन के अंदर और बाहर) में नहीं ले जाया जा सकता
एवीडी माइक्रोफ़ोन होस्ट के ऑडियो इनपुट में गड़बड़ी होने पर, एवीडी रीबूट और क्रैश हो सकता है.
कभी-कभी आवाज़ में स्टैटिक या खराब आवाज़ सुनाई देती है.
कैमरे को वर्चुअल लिविंग रूम से बाहर ले जाने पर, रेंडरिंग से जुड़ी गड़बड़ियां दिखती हैं.
Windows कॉन्फ़िगरेशन में, सामान्य से ज़्यादा गहरे रंग दिखते हैं.
macOS पर एम्युलेटर को कुछ समय तक इस्तेमाल न करने और स्क्रीन लॉक करने के बाद, ऑडियो काम नहीं करता. (एम्युलेटर को रीस्टार्ट करने पर, यह वापस आ जाएगा.)
होस्ट मशीन के वाई-फ़ाई बदलने पर, इंटरनेट कनेक्शन टूट जाता है.
कैप्स लॉक चालू होने पर भी, अंग्रेज़ी के छोटे अक्षर टाइप हो रहे हैं.
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 मॉडल का असल साइज़, स्केल की कम से कम और ज़्यादा से ज़्यादा सीमाओं से कम या ज़्यादा है, तो 1:1 असल साइज़ की सुविधा ठीक से काम नहीं करेगी. फ़िलहाल, ये सीमाएं क्रमशः 20 सें॰मी॰ और 70 मी॰ पर सेट हैं
- लोड होने के बाद, 3D मॉडल पहले फ़्रेम पर जंप कर सकता है
35.2.10 (1 अक्टूबर, 2024)
- Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, और Pixel 9 Pro Fold के लिए नए Pixel एवीडी जोड़े गए
- Vanilla Ice Cream (एपीआई 35) के लिए, टैबलेट सिस्टम की नई इमेज जोड़ी गई
35.1.20 (29 अगस्त, 2024)
- Pixel 8a एवीडी जोड़ा गया
- फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए, कई गड़बड़ियां ठीक की गईं
- Qt अपडेट और Qt से जुड़े क्रैश और हैंग होने की समस्याओं को ठीक किया गया
- [गड़बड़ी ठीक की गई] Vulkan का इस्तेमाल करने वाले ऐप्लिकेशन के क्रैश होने और फ़्रीज़ होने की समस्या को Windows पर ठीक किया गया
34.2.16 (9 जुलाई, 2024)
- [गड़बड़ी ठीक की गई] Pixel Fold को फ़ोल्ड/अनफ़ोल्ड करने के दौरान, यूज़र इंटरफ़ेस (यूआई) के फ़्रीज़ होने की समस्या को ठीक किया गया
- [गड़बड़ी ठीक की गई] Mac M1 पर, Android वर्शन को एपीआई 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 के स्टेबल पैच 1 के साथ टेस्ट किया गया.
- [गड़बड़ी ठीक की गई] एम्बेड किए गए एम्युलेटर पर स्नैपशॉट कभी-कभी हैंग हो जाता है
- [गड़बड़ी ठीक की गई] स्नैपशॉट पर 'नहीं' और 'रद्द करें' बटन ठीक से काम नहीं कर रहे हैं
- [गड़बड़ी ठीक की गई] डायरेक्शनल पैड के बटन काम नहीं कर रहे हैं
- [गड़बड़ी ठीक की गई] Windows पर आने वाली उस समस्या को ठीक किया गया है जिसकी वजह से कुछ मामलों में एम्युलेटर शुरू नहीं हो पाता था. ऐसा तब होता था, जब ANGLE के साथ जीपीयू मोड का इस्तेमाल किया जाता था. साथ ही, लॉग में “जीएल एम्युलेशन को शुरू नहीं किया जा सका” गड़बड़ी का मैसेज दिखता था. ध्यान दें कि
-gpu swangle_indirectविकल्प के साथ कमांड लाइन से एम्युलेटर शुरू करने पर, इस वर्शन में अब भी यह गड़बड़ी हो सकती है. अगर आपको इस वर्शन के साथ सॉफ़्टवेयर ग्राफ़िक्स रेंडरिंग का इस्तेमाल करके, Windows पर कमांड लाइन से एम्युलेटर को अब भी चालू करना है, तो कृपया-gpu swiftshader_indirectका इस्तेमाल करें - [गड़बड़ी ठीक की गई] कीबोर्ड पर जगह की जानकारी के शॉर्टकट से, ऐसा मैप लोड होता था जिसका इस्तेमाल नहीं किया जा सकता था
- [गड़बड़ी ठीक की गई] जगह की जानकारी सेट करते समय, "रूट सेव करें" डायलॉग बॉक्स नहीं दिखता था
34.2.13 (30 अप्रैल, 2024)
Android Studio Jellyfish के स्टेबल वर्शन के साथ टेस्ट किया गया.
- Qt 6.5.3 पर अपडेट करना
- मई के आखिर में, एम्युलेटर के एक्सटेंडेड कंट्रोल में जगह की जानकारी की सुविधाओं के लिए इस्तेमाल किए गए Google Maps API के अपडेट के साथ काम करने की सुविधा.
- क्रैश की ऐसी समस्याओं को ठीक करना जिनका असर ज़्यादा पड़ता है
- Pixel एवीडी से जुड़ी समस्याओं के लिए कई समाधान
- सॉफ़्टवेयर रेंडरिंग के लिए इस्तेमाल की जाने वाली ग्राफ़िक्स लाइब्रेरी को अपडेट करना
- [गड़बड़ी ठीक की गई]समस्या 225541819 Chrome को चालू करने पर, x86_64 पर एम्युलेटर क्रैश हो जाता है
- [गड़बड़ी ठीक की गई]समस्या 314614435
-http-proxyस्विच को गलत तरीके से पार्स किया गया है
34.1.20 (1 अप्रैल, 2024)
Android Studio Iguana के स्टेबल वर्शन के साथ टेस्ट किया गया.
- [गड़बड़ी ठीक की गई] समस्या #314614435: उस समस्या को ठीक किया गया है जिसमें
-http-proxyस्विच को गलत तरीके से पार्स किया जाता है
34.1.19 (7 मार्च, 2024)
Android Studio Iguana के स्टेबल वर्शन के साथ टेस्ट किया गया.
- [गड़बड़ी ठीक की गई] समस्या #312677259: विंडो का साइज़ बदलने के बाद, एम्बेड किए गए एम्युलेटर में स्क्रीन फ़्रीज़ होने की समस्या को ठीक किया गया.
34.1.18 (29 फ़रवरी, 2024)
Android Studio Iguana के स्टेबल वर्शन के साथ टेस्ट किया गया.
- एम्युलेटर में ये डिवाइस जोड़े गए हैं:
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- gRPC इंटिग्रेशन टेस्ट: gRPC एंडपॉइंट अब एम्युलेटर में चल रहे इंस्ट्रुमेंटेड टेस्ट के लिए उपलब्ध हैं. इससे असल स्थितियों की जांच की जा सकेगी. इस सुविधा की मदद से, डेवलपर Android इंस्ट्रुमेंटेशन टेस्ट के अंदर से, Android Emulator पर होस्ट किए गए gRPC एंडपॉइंट के साथ सुरक्षित तरीके से इंटरैक्ट कर सकते हैं.
- कई गड़बड़ियां ठीक की गईं
- गड़बड़ी ठीक करना: फ़ोल्ड किए जा सकने वाले डिवाइसों की उपयोगिता में सुधार
- गड़बड़ी ठीक करना: रोटेशन के बाद, एम्युलेटर की पोज़िशन अडजस्ट करना
- क्रैश की समस्याएं ठीक करना
33.1.24 (28 दिसंबर, 2023)
इसकी जांच, Android Studio Hedgehog के स्टेबल वर्शन और Iguana के बीटा 1 वर्शन के साथ की गई है.
- एम्युलेटर के वेबकैम से जुड़ी उस समस्या को ठीक किया गया है जिसकी वजह से, स्क्रीन को mp4 फ़ॉर्मैट में रिकॉर्ड नहीं किया जा सकता था.
- स्क्रीन रिकॉर्डिंग के दौरान, Pixel Fold एवीडी को अनफ़ोल्ड करने पर, एम्युलेटर के क्रैश होने की समस्या को ठीक किया गया.
- उस समस्या को ठीक किया गया है जिसमें 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 का इस्तेमाल करते समय, एम्युलेटर वेबकैम के क्रैश होने की समस्या को ठीक किया गया
- [गड़बड़ी ठीक की गई] समस्या #293503871 एम्युलेटर को रीस्टार्ट करने पर, 'माइक्रोफ़ोन' सेटिंग सेव न होने की समस्या को ठीक किया गया
- [गड़बड़ी ठीक की गई] समस्या #270386314 ऐनिमेशन से जुड़ी गड़बड़ी को ठीक किया गया. इसमें एवीडी स्क्रीन को छोटा करने के बाद भी साइडबार खुला रहता था
- [गड़बड़ी ठीक की गई] समस्या #154896775 गड़बड़ी की जानकारी सबमिट करने वाले टूल को ठीक करना
32.1.15 (29 अगस्त, 2023)
Android Studio Giraffe Patch 1 और Hedgehog Canary 16 के साथ टेस्ट किया गया.
- AAE एम्युलेटर में सेंसर के लिए, GAS की हार्डवेयर से जुड़ी ज़रूरी शर्तों का पालन करना
- [गड़बड़ी ठीक की गई] समस्या #266201208 एपीआई 33 पर हिब्रू भाषा में एसएमएस नहीं भेजा जा रहा है
- [गड़बड़ी ठीक की गई] समस्या #257097404 एपीआई 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 "ऐसा हो सकता है कि Mac M1 मशीनों पर, एपीआई 30 के बाद के Android वर्शन, एम्युलेटर में सही तरीके से शुरू न हों"
32.1.13 (22 मई, 2023)
इसकी जांच Android Studio Hedgehog Canary 2, Giraffe Beta 1, और Flamingo Stable के साथ की गई है.
- Pixel Fold और Pixel Tablet के एवीडी के लिए सहायता जोड़ें.
- gLinux के क्रैश होने की समस्या को ठीक किया गया.
- [गड़बड़ी ठीक की गई] समस्या #215231636 "एपीआई 30 से ऊपर के एपीआई वाला एम्युलेटर, Intel के 12th जनरेशन प्रोसेसर में काम नहीं कर रहा है".
- [गड़बड़ी ठीक की गई] समस्या #275397905 कर्सर के फ़ोकस को एम्युलेटर में बार-बार अंदर और बाहर ले जाने पर, Android Emulator M1 के क्रैश होने की समस्या.
- अगर नए एम्युलेटर के क्रैश होने की रिपोर्ट मौजूद है, तो एवीडी लॉन्च करने में समस्या आती है. ज़्यादा जानकारी के लिए, एम्युलेटर से जुड़ी समस्या हल करना लेख पढ़ें.
32.1.12 (21 मार्च, 2023)
Android Studio Giraffe Canary 10, Flamingo RC, और Electric Eel Patch 2 के साथ टेस्ट किया गया.
- [गड़बड़ी ठीक की गई] समस्या #267647323 Android Studio से शुरू किए गए एम्युलेटर पर नेटवर्क काम नहीं करता
- [गड़बड़ी ठीक की गई] समस्या #268498686 एम्युलेटर की स्क्रीन फ़्लिकर कर रही है
- [गड़बड़ी ठीक की गई] समस्या #270034824 वर्शन 33.1.1 पर अपडेट करने के बाद, एम्युलेटर की परफ़ॉर्मेंस खराब हो गई
- [गड़बड़ी ठीक की गई] समस्या #225541819 Chrome को चालू करने पर, x86_64 पर एम्युलेटर क्रैश हो जाता है
- [गड़बड़ी ठीक की गई] समस्या #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 में लॉग इन करते समय, एवीडी के क्रैश होने की समस्या को ठीक किया गया.
31.3.13 (27 अक्टूबर, 2022)
Android Studio Dolphin, Electric Eel Beta 2, और Flamingo Canary 5 के साथ टेस्ट किया गया.
- [गड़बड़ी ठीक की गई] समस्या #249948338: टाइम ज़ोन पैरामीटर काम नहीं कर रहा है
- [गड़बड़ी ठीक की गई] समस्या #249366543: एपीआई 31 के बाद, एम्युलेटर -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 पर एपीआई 33 एवीडी लॉन्च करने में आने वाली गड़बड़ी को ठीक किया गया.
- [गड़बड़ी ठीक करना] समस्या #243053479: एम्युलेटर को अपडेट करने के बाद, नेटवर्क की स्पीड कम होना
- [गड़बड़ी ठीक की गई] समस्या #244617627: Windows और Linux पर Maps में जगह की जानकारी काम नहीं कर रही है
- [गड़बड़ी ठीक की गई] समस्या #232971796: एक्सटेंडेड कंट्रोल > फ़ोन पेज पर मौजूद “डिवाइस को कॉल करें” बटन काम नहीं कर रहा था
- Android Emulator को minigbm पर अपडेट करना
- बिल्ड स्क्रिप्ट को Python3 पर माइग्रेट करना
31.3.10 (18 अगस्त, 2022)
Android Studio Dolphin Beta 5 और Electric Eel Canary 9 के साथ टेस्ट किया गया.
एम्युलेटर को अब अलग से डाउनलोड किया जा सकता है. अगर आपको इस नए स्टेबल रिलीज़ में कोई समस्या आ रही है या यह क्रैश हो रहा है, तो कृपया बग की शिकायत करें. साथ ही, एम्युलेटर डाउनलोड आर्काइव से, पहले से काम कर रहा कोई वर्शन डाउनलोड करें.
इस अपडेट में ये सुधार और बदलाव शामिल हैं:
- Windows पर यूनिकोड पाथ के लिए बेहतर सहायता
- एम्युलेटर को बंद करने की प्रोसेस को बेहतर बनाया गया है, ताकि उसी एवीडी को फिर से लॉन्च किया जा सके.
- फ़ोल्ड किए जा सकने वाले एवीडी डिज़ाइन और डिफ़ॉल्ट सेटिंग को अपडेट किया गया
- Wear एम्युलेटर के बटन अपडेट किए गए
- gRPC ऑडियो स्ट्रीमिंग की सुविधा को बेहतर बनाया गया है
- एम्युलेटर कंसोल में, साइज़ बदलने की सुविधा देने वाला कमांड जोड़ा गया
- एपीआई 31 के लिए Chrome से जुड़ी समस्या को ठीक करना
- [गड़बड़ी ठीक की गई] 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" के साथ avd क्रैश हो जाएगा
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 के साथ ठीक से काम नहीं कर रहा था.
- [गड़बड़ी ठीक की गई] इवेंट माउस कंसोल कमांड काम नहीं कर रहा था.
- लोकल एवीडी बनाने के लिए, केवीएम की जांच जोड़ी गई.
31.1.3 (18 जनवरी, 2022)
इस अपडेट में ये सुधार और बदलाव शामिल हैं:
- Fuchsia के लिए कंसोल पोर्ट चालू किए गए.
- एक से ज़्यादा डिसप्ले वाली विंडो का साइज़ बदलते समय, ओरिएंटेशन को अनदेखा कर दिया जाता है.
- वाई-फ़ाई: एमएटी मैक पते के आधार पर, यूनीकास्ट पैकेट को फ़िल्टर करने की सुविधा जोड़ी गई है.
- वाई-फ़ाई: vmnet का इस्तेमाल करने पर, क्रैश होने की समस्या को ठीक किया गया.
30.9.5 (15 दिसंबर, 2021)
इस अपडेट में ये सुधार और बदलाव शामिल हैं:
- विंडो का साइज़ बदलकर, डेस्कटॉप या टैबलेट के साइज़ के मुताबिक करने की सुविधा जोड़ी गई.
- साथ काम करने वाले होस्ट डिवाइसों से मल्टी-टच इनपुट की सुविधा जोड़ी गई.
- VirtioWifi: टैप नेटवर्क के लिए सहायता जोड़ी गई.
- Wear OS की सिस्टम इमेज के लिए, रोटरी इनपुट की सुविधा चालू की गई.
- gRPC ऑडियो कॉन्फ़िगरेशन से जुड़ी समस्या को ठीक किया गया.
- SensorReplay Emulator Playback को अपडेट किया गया, ताकि स्टैंडर्ड Android सेंसर काम कर सकें.
- यूएसबी पासथ्रू की मदद से, यूएसबी का इस्तेमाल करके एम्युलेटर को सहायक डिवाइसों और डिवाइसों से कनेक्ट किया गया.
30.4.5 (23 फ़रवरी, 2021)
इस अपडेट में ये सुधार और बदलाव शामिल हैं:
- macOS: ऑडियो इनपुट में आवाज़ खराब होने की समस्याएं ठीक की गईं.
- यूज़रस्पेस में virtio-vsock के लिए सहायता जोड़ी गई.
- आने वाले समय में, सिस्टम इमेज में logcat और kernel मैसेज के लिए virtio-console का इस्तेमाल किया जाएगा.
- Vulkan रेंडरिंग की स्पीड बढ़ाएं.
- टेस्ट फ़ेलियर होने पर, स्नैपशॉट डीबगिंग की सुविधा जोड़ी गई.
- virtio-gpu: नई ब्लॉब रिसॉर्स enum के साथ काम करने के लिए, परिभाषाएं अपडेट की गईं.
- 'asg' टाइप के ग्राफ़िक्स ट्रांसपोर्ट के लिए, स्नैपशॉट की सुविधा जोड़ी गई.
- macOS: macOS SDK 11.1 और इसके बाद के वर्शन के लिए, ऐप्लिकेशन बनाने की सुविधा जोड़ी गई.
- सिस्टम की नई इमेज पर, KVMclock डिफ़ॉल्ट रूप से चालू रहता है.
- Wear एम्युलेटर में, धड़कन की दर मापने वाले सेंसर के लिए सहायता जोड़ी गई.
- libportability Vulkan बैकएंड को हटाया गया.
- मॉडेम सिम्युलेटर में ज़्यादा सुविधाओं के लिए सहायता जोड़ी गई.
30.0.26 (16 अगस्त, 2020)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं, मौजूदा सुविधाओं को बेहतर बनाया गया है, और गड़बड़ियां ठीक की गई हैं.
वर्चुअल हिंज सेंसर और 3D व्यू के साथ, फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए सहायता
फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए, हिंज सेंसर की सुविधा जोड़ी गई. इसके लिए, Android 11 सिस्टम इमेज और एवीडी कॉन्फ़िगरेशन की ज़रूरत होगी. फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए, 3D व्यू और हिंज पैरामीटर को अब फ़ोल्ड किए जा सकने वाले डिवाइसों के मौजूदा प्रीसेट के साथ इंटिग्रेट कर दिया गया है. उदाहरण के लिए, नीचे दिए गए कोड का इस्तेमाल, 7.3 फ़ोल्ड किए जा सकने वाले एवीडी की
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 होस्ट में क्रॉस कंपाइलेशन के साथ काम करता है. इससे arm64 सिस्टम इमेज को केवीएम वर्चुअलाइज़ेशन के साथ चलाया जा सकता है. फ़िलहाल, सिर्फ़
-gpu swiftshader_indirect(Swiftshader arm64 होस्ट रेंडरिंग) का इस्तेमाल किया जा सकता है. हालांकि, होस्ट जीपीयू libEGL/libGLESv2 लाइब्रेरी के साथ काम करने वाले सेट का भी इस्तेमाल किया जा सकता है. इसके लिए, lib64/gles_swiftshader को उनसे बदलें और फिर-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_aarch64Apple Silicon के लिए सहायता उपलब्ध कराने की प्रोसेस जारी है.
virtio-gpu की सुविधा
- होस्ट की ओर से, virtio-gpu होस्ट के कोहेरेंट ब्लॉब रिसॉर्स के लिए सहायता जोड़ी गई.
- एम्युलेटर रेंडरिंग के काम करने के तरीके की वजह से, अब हम वीसीपीयू थ्रेड में 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 pipe एंडपॉइंट को हटा दिया गया है.
- वीडियो के लिए CUDA VPx डिकोड अब उपलब्ध है. हालांकि, इसके लिए ज़रूरी है कि हार्डवेयर में CUDA VPx डिकोड उपलब्ध हो. इसके लिए, एनवायरमेंट वैरिएबल
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1का इस्तेमाल किया जाता है. - macOS पर, SSE 4.1 और 4.2 अब Android गेस्ट से उपलब्ध हैं.
- macOS पर, INVTSC अब डिफ़ॉल्ट रूप से चालू है. इससे, गेस्ट ओएस से समय के मेज़रमेंट को ज़्यादा सटीक बनाया जा सकता है.
- अब हम मेट्रिक में ट्रैक करते हैं कि उपयोगकर्ता ने कौनसा एक्सटेंडेड कंट्रोल पैनल चुना है.
- Linux एम्युलेटर अब केवीएम पैरा-वर्चुअलाइज़्ड क्लॉक का इस्तेमाल करता है. ऐसा तब होता है, जब गेस्ट कर्नेल वर्शन >= 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>
वर्टिकल स्क्रीन स्पेस को सेव करना आसान बनाने के लिए, हमने Extended Controls > Settings में मौजूदा एवीडी के लिए, डिवाइस फ़्रेम को छिपाने का विकल्प जोड़ा है. सभी एवीडी के लिए, डिवाइस फ़्रेम को दुनिया भर में छिपाने के लिए, हमने
NoDeviceFrameफ़ीचर फ़्लैग उपलब्ध कराया है. इसे कमांड लाइन से-feature NoDeviceफ़्रेम के साथ एम्युलेटर को लॉन्च करके चालू किया जा सकता है. इसके अलावा, इसे लॉक करने के लिए,NoDeviceFrame = onको~/.android/advancedFeatures.iniमें जोड़ें. अगर यह फ़ाइल पहले से मौजूद नहीं है, तो इसे बनाएं.मोबाइल नेटवर्क वाले पेज पर, डेटा खर्च की सीमा तय करने की सुविधा को चालू और बंद करने के लिए, ड्रॉप-डाउन आइटम जोड़ा गया है. हालांकि, यह सुविधा सिस्टम की उन पुरानी इमेज के लिए काम नहीं करती जिनमें 5G डेटा खर्च की सीमा तय करने की सुविधा को टॉगल करने की सुविधा नहीं है.
- इसके लिए, कंसोल कमांड भी जोड़ा गया है:
gsm meter on|off
- इसके लिए, कंसोल कमांड भी जोड़ा गया है:
टूलचेन / बिल्ड को C++17 पर अपग्रेड किया गया.
ठीक की गई गड़बड़ियां: एम्बेड किया गया एम्युलेटर
- अब क्लिपबोर्ड काम करना चाहिए.
- एम्युलेटर में, अंग्रेज़ी के बड़े अक्षरों को छोटे अक्षरों के तौर पर डिलीवर करने की समस्या को ठीक किया गया.
- Windows में यूनिकोड पाथ से कंसोल टोकन लोड होने की समस्या को ठीक किया गया.
- Linux पर
SO_REUSEPORTगड़बड़ी का मैसेज ठीक किया गया. - हमने स्नैपशॉट के खराब होने की समस्या को ठीक कर दिया है. यह समस्या, gRPC के ज़रिए स्नैपशॉट के निर्देश भेजने के साथ-साथ, Android Studio में एम्बेड किए गए एम्युलेटर में स्नैपशॉट सेव करने वाले बटन को दबाने पर होती थी.
Studio में एम्बेड किए गए Linux एम्युलेटर का इस्तेमाल करते समय, हमें पता चला कि अगर इसे Chrome रिमोट डेस्कटॉप के ज़रिए किया जाता है, तो एक गड़बड़ी होती है. इसकी वजह से,
XDG_RUNTIME_DIRसेट नहीं होता. साथ ही, एम्युलेटर की डिस्कवरी फ़ाइलों कोXDG_RUNTIME_DIRमें रखे जाने की वजह से, एम्बेड किया गया एम्युलेटर नहीं दिखता. Chrome के समस्या ट्रैकर में, इससे जुड़ी समस्या की स्थिति देखी जा सकती है.इस समस्या को हल करने के लिए, एम्युलेटर अब उपयोगकर्ता के यूआईडी:
/run/user/<uid>के आधार पर, किसी दूसरी डायरेक्ट्री में मौजूद डिस्कवरी फ़ाइलों का इस्तेमाल करता है.एम्बेड किया गया एम्युलेटर: गोल कोनों/नॉच वाले डिवाइसों का लेआउट अब सही तरीके से बदल जाता है, ताकि कोनों और नॉच के लिए जगह बनाई जा सके. इसके लिए, उन एम्युलेटर को कोल्ड बूट करना ज़रूरी है.
gRPC एंडपॉइंट से अब डिवाइस पर एसएमएस भेजे जा सकते हैं.
सामान्य गड़बड़ियां ठीक करना
- हमने देखा है कि Riot Vanguard के चालू होने पर, Windows एम्युलेटर को चलाने में समस्याएं आती हैं. Windows एम्युलेटर अब Vanguard एंटी-चीट का पता लगाता है. Vanguard का पता चलने पर, चेतावनी वाला मैसेज पॉप-अप होता है.
- Windows पर
FD_SETSIZEगड़बड़ी को ठीक किया गया. लूपबैक सर्वर से नॉन-ब्लॉकिंग कनेक्शन बनाने के लिए, अब हमselect()के बजायWSAEventSelect()का इस्तेमाल करते हैं. - Linux एम्युलेटर में F16C सीपीयूआईडी सुविधा जोड़ी गई. साथ ही, एनडीके ट्रांसलेशन की मदद से कुछ ARM64 ऐप्लिकेशन चलाने में आने वाली समस्याएं ठीक की गईं. macOS/Windows के लिए, इस सुविधा पर काम जारी है.
- टाइमस्टैंप के हिसाब से, gpx/kml रूट प्लेबैक को ठीक किया गया.
- MacOs के लिए, लॉन्च के समय बाउंस होने वाले आइकॉन की समस्या को ठीक किया गया.
- अगर
config.iniमेंhw.audioInput=noऔरhw.audioOutput=noहै, तो एम्युलेटर ऑडियो अब पूरी तरह से बंद हो गया है. - एक समस्या को ठीक किया गया है. इसमें, अगर एक्सटेंडेड कंट्रोल विंडो खुली थी, लेकिन ऐक्टिव नहीं थी, तो एम्युलेटर विंडो को छोटा करने पर, एक्सटेंडेड कंट्रोल विंडो दिखती रहती थी. ऐसा एम्युलेटर विंडो का साइज़ बदलने पर होता था. हम आने वाले समय में, इस सुविधा को पूरी तरह से हटा देंगे.
- एम्युलेटर के चालू होने पर, वाई-फ़ाई से कनेक्ट न होने की समस्या को ठीक किया गया.
- हमने उस गड़बड़ी को ठीक कर दिया है जिसमें एम्युलेटर के लंबे या अनिश्चित टाइम आउट वाले शेल कमांड जारी करने पर, ऐप्लिकेशन बंद करने के दौरान हैंग हो जाता था.
- pc-bios को अपडेट किया गया है. इसमें
-initrdको पास की गई बड़ी इमेज को बेहतर तरीके से सपोर्ट करने के लिए, गड़बड़ियां ठीक की गई हैं. पिछले BIOS में बहुत ही खराब तरीका इस्तेमाल किया गया था. -wifi-server-portविकल्प का इस्तेमाल करने पर, ऐप्लिकेशन बंद होने के दौरान क्रैश होने की समस्या को ठीक किया गया.- अगर
-propको ऐसे विकल्प पास किए जाते हैं जो काम नहीं करते, तो एम्युलेटर अब चेतावनी दिखाता है. (सिर्फ़ qemu.* प्रॉपर्टी काम करती हैं). - Windows पर एम्युलेटर बनाते समय, फ़ाइलों में डेटा लिखने में होने वाली गड़बड़ियों की संभावना कम होनी चाहिए. ज़्यादा जानकारी के लिए, Windows बिल्ड के निर्देश देखें.
- फ़ोल्ड किए जा सकने वाले एवीडी के लिए, ज़ूम बटन को बंद कर दिया गया है. इसकी वजह से समस्याएं आ रही थीं.
- एम्युलेटर अब डिवाइस के रीबूट होने के बाद, बूट होने में लगने वाले समय की सही जानकारी देता है.
- Linux: अगर केवीएम की अनुमतियां पूरी नहीं हैं, तो एम्युलेटर अब डीबग करने के निर्देश ज़्यादा तेज़ी से दिखाता है.
- उस समस्या को ठीक किया गया है जिसकी वजह से एम्युलेटर, बिना ऐक्सेलरेटर के हाल ही की सिस्टम इमेज को बूट नहीं कर पा रहा था.
- बूट-कंप्लीट डिटेक्टर से शुरू होने पर, मेमोरी के खराब होने या क्रैश होने की समस्या को ठीक किया गया.
- स्क्रीन रिकॉर्डिंग के लंबे सेशन के दौरान होने वाली मेमोरी लीक की समस्या को ठीक किया गया.
- 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है. - कुछ जीपीयू ड्राइवर पर 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 में एम्युलेटर चलाना
Android Emulator को अब सीधे Android Studio में चलाया जा सकता है. इस सुविधा का इस्तेमाल करके, स्क्रीन पर जगह बचाई जा सकती है. साथ ही, हॉटकी का इस्तेमाल करके, एम्युलेटर और एडिटर विंडो के बीच तेज़ी से नेविगेट किया जा सकता है. इसके अलावा, IDE और एम्युलेटर वर्कफ़्लो को एक ही ऐप्लिकेशन विंडो में व्यवस्थित किया जा सकता है.
फ़्रीफ़ॉर्म विंडो मोड
अब ऐसा एवीडी बनाया जा सकता है जिसमें फ़्रीफ़ॉर्म विंडो मोड चालू हो. इसके लिए, Android Studio में वर्चुअल डिवाइस बनाते समय, 13.5 इंच वाली फ़्रीफ़ॉर्म टैबलेट हार्डवेयर प्रोफ़ाइल चुनें. इस हार्डवेयर प्रोफ़ाइल के लिए, Android 11 डेवलपर के लिए झलक 3 या इसके बाद के वर्शन वाली सिस्टम इमेज की ज़रूरत होती है.
पहले से मालूम समस्याएं
फ़िलहाल, फ़्रीफ़ॉर्म विंडो का साइज़ बदलने की सुविधा काम नहीं कर रही है. ऐसा विंडो मैनेजर को फ़ोकस ट्रांसफ़र करने में आ रही समस्याओं की वजह से हो रहा है. इस समस्या को Android 11 सिस्टम इमेज की आने वाली रिलीज़ में ठीक कर दिया जाएगा.
30.0.0 (19 फ़रवरी, 2020)
इस अपडेट में, Android 11 (एपीआई लेवल 30) की सिस्टम इमेज शामिल हैं. साथ ही, एआरएम बाइनरी को चलाने पर बेहतर परफ़ॉर्मेंस मिलती है.
Android 11 की सिस्टम इमेज
अब Android 11 पर काम करने वाला एवीडी बनाया जा सकता है. इसके लिए, एपीआई लेवल 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डीएलएल पर निर्भर करता है. - Linux: gRPC API में logcat की सुविधा जोड़ी गई. gRPC के बारे में ज़्यादा जानकारी के लिए, gRPC स्ट्रीमिंग एम्युलेटर (Linux) देखें.
- एम्युलेटर में अब 32-बिट x86 गेस्ट (
qemu-system-i386) के लिए, हेडलेस बिल्ड शामिल है. इस सुविधा की मदद से, एपीआई लेवल 26 और उससे पहले के लेवल के लिए, x86 32-बिट इमेज को हेडलेस बिल्ड के साथ चलाया जा सकता है. ध्यान दें कि एपीआई 27 और उसके बाद के वर्शन वाले 32-बिट x86 गेस्ट के लिए, एम्युलेटर 64-बिट इंजन (qemu-system-x86_64) का इस्तेमाल करता है. ऐसा इसलिए, क्योंकि इन सिस्टम इमेज में, यूज़रस्पेस 32-बिट का होता है, लेकिन कर्नेल 64-बिट का होता है. Android Studio, एम्युलेशन इंजन चुनने के लिए कर्नेल का इस्तेमाल करता है. - अब
ANDROID_QT_LIB_PATHएनवायरमेंट वैरिएबल का इस्तेमाल करके, कस्टम Qt लाइब्रेरी पाथ तय किए जा सकते हैं. - अगर QEMU1 की एक्ज़ीक्यूटेबल फ़ाइलें (
emulator[64]-[x86|arm|etc]) एम्युलेटर डायरेक्ट्री में मौजूद हैं, तो अब QEMU1 का इस्तेमाल करने वाली पिछली बाइनरी के साथ एम्युलेटर को चलाया जा सकता है. - Windows: उस समस्या को ठीक किया गया है जिसकी वजह से कभी-कभी एम्युलेटर, "vCPU shutdown request" मैसेज के साथ शुरू नहीं हो पाता था.
- Vulkan में, कंप्रेस किए गए एम्युलेटेड टेक्सचर में, पाइपलाइन बैरियर की वजह से आ रही समस्या को ठीक किया गया.
- चंक्ड ट्रांसफ़र एन्कोडिंग का इस्तेमाल करने पर, एचटीटीपी प्रॉक्सी अनुरोधों में होने वाली गड़बड़ी को ठीक किया गया. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें.
29.0.9 (7 मई, 2019)
इस अपडेट में यह गड़बड़ी ठीक की गई है:
- Windows: उस समस्या को ठीक किया गया है जिसकी वजह से एम्युलेटर पर वर्चुअल सीन कैमरा और वेबकैम काम नहीं कर रहा था.
29.0.8 (6 मई, 2019)
इस अपडेट में ये सुधार और बदलाव शामिल हैं:
- एक से ज़्यादा वर्चुअल हार्डवेयर डिसप्ले के लिए सहायता जोड़ी गई है. ऐसा तब होता है, जब हर डिसप्ले की गिनती करने और उसे सेट करने के लिए कोई गेस्ट सर्विस मौजूद हो. एम्युलेटर सिस्टम इमेज के आने वाले अपडेट में, कई वर्चुअल हार्डवेयर डिसप्ले शामिल किए जाएंगे.
- कमांड लाइन का एक नया विकल्प जोड़ा गया:
-delay-adb. यह विकल्प, एडीबी पैकेट की प्रोसेसिंग को तब तक रोकता है, जब तक कि गेस्ट ओएस बूटिंग (कोल्ड बूट से) पूरी नहीं कर लेता. इस विकल्प से उन समस्याओं को हल करने में मदद मिलती है जो सीआई एनवायरमेंट में एम्युलेटर का इस्तेमाल करने पर हो सकती हैं. इस एनवायरमेंट में, एम्युलेटर को रीबूट किया जाता है और एक ही समय पर डीडीएमएस का इस्तेमाल किया जाता है. - स्नैपशॉट लोड होने पर होने वाली गड़बड़ी को ठीक किया गया. इस गड़बड़ी की वजह से,
glIsRenderbufferगलत वैल्यू दिखाता था. - Android गेस्ट के रीबूट होने पर, पुरानी स्थिति से जुड़ी कुछ समस्याएं ठीक की गईं.
- Windows: उन समस्याओं को ठीक किया गया है जिनकी वजह से एम्युलेटर शुरू नहीं हो पा रहा था. ऐसा तब होता था, जब Windows के उपयोगकर्ता नाम में ASCII के बाहर के वर्ण या स्पेस शामिल होते थे.
पहले से मालूम समस्याएं
- Automotive सिस्टम इमेज के लिए, स्नैपशॉट का यूज़र इंटरफ़ेस (यूआई) बंद है. इसकी वजह यह है कि फ़िलहाल, इन सिस्टम इमेज के लिए स्नैपशॉट की सुविधा उपलब्ध नहीं है.
29.0.6 (1 मई, 2019)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं, मौजूदा सुविधाओं को बेहतर बनाया गया है, और गड़बड़ियां ठीक की गई हैं.
QEMU1 और 32-बिट Windows के लिए सहायता बंद करना
एम्युलेटर को बेहतर तरीके से मैनेज करने के लिए, अब हम QEMU1 और 32-बिट Windows बाइनरी उपलब्ध नहीं कराते. अगर Windows 32-बिट का इस्तेमाल किया जा रहा है, तो 29.0.6 वर्शन पर अपग्रेड नहीं किया जा सकता.
Android Q सिस्टम इमेज के लिए ज़रूरी शर्तें
अगर आपको Android Q सिस्टम इमेज का इस्तेमाल करने वाला कोई एवीडी चलाना है, तो आपको वर्शन 29.0.6 (रिलीज़ के लिए तैयार यह वर्शन) या इसके बाद के वर्शन का इस्तेमाल करना होगा.
Project Marble में किए गए सुधार
इस अपडेट के साथ, हम Project Marble पर काम करना जारी रखेंगे. इस पहल का एलान, नवंबर 2018 में Android डेवलपर समिट में किया गया था. पिछले वर्शन में Project Marble में किए गए अन्य सुधारों के बारे में ज़्यादा जानने के लिए, Android Emulator: Project Marble में किए गए सुधार देखें.
इस अपडेट के लिए, Project Marble के तहत हमने ज़्यादातर काम, एम्युलेटर के रिसॉर्स के इस्तेमाल को कम करने के लिए किया. जैसे, एम्युलेटर के इस्तेमाल में न होने पर, सीपीयू के इस्तेमाल को कम करना. हमने कुछ ऐसे बदलाव भी किए हैं जिनसे एम्युलेटर को अलग-अलग तरह के एनवायरमेंट में इस्तेमाल करना आसान हो गया है. साथ ही, हमने क्वालिटी से जुड़ी सामान्य समस्याओं को भी ठीक किया है.
यहां दिए गए सेक्शन में, Project Marble में किए गए उन सुधारों के बारे में बताया गया है जो इस अपडेट में शामिल हैं:
होस्ट के ऑडियो से जुड़ी सेटिंग में सुधार
वर्शन 28.0.3 से, एम्युलेटर डिफ़ॉल्ट रूप से होस्ट से ऑडियो इनपुट को ब्लॉक करता है.
अगर आपको होस्ट के ऑडियो डेटा का इस्तेमाल करना है, तो एक्सटेंडेड कंट्रोल > माइक्रोफ़ोन पर जाकर, वर्चुअल माइक्रोफ़ोन, होस्ट के ऑडियो इनपुट का इस्तेमाल करता है विकल्प को चालू करें. एम्युलेटर को रीस्टार्ट करने पर, यह विकल्प अपने-आप बंद हो जाता है.
अगर कमांड लाइन का इस्तेमाल किया जा रहा है, तो -allow-host-audio विकल्प का इस्तेमाल करके भी होस्ट ऑडियो को चालू किया जा सकता है. साथ ही, होस्ट ऑडियो डेटा को चालू या बंद करने के लिए, यहां दिए गए ADB कमांड का इस्तेमाल किया जा सकता है:
adb emu avd hostmiconadb emu avd hostmicoff
हेडलेस एम्युलेटर बिल्ड के लिए सुधार
वर्शन 28.0.25 से, एम्युलेटर में हेडलेस बिल्ड का विकल्प शामिल है. इसे यूज़र इंटरफ़ेस (यूआई) के बिना चलाया जा सकता है. हेडलेस बिल्ड का इस्तेमाल करके, Docker और लगातार इंटिग्रेशन (सीआई) वर्कफ़्लो के लिए एम्युलेटर सेट अप किया जा सकता है.
इस अपडेट के साथ, हमने और सुधार किए हैं, ताकि एम्युलेटर कम से कम डिपेंडेंसी के साथ चल सके. Linux पर, हेडलेस बिल्ड में अब pulseaudio या libX11 लाइब्रेरी शामिल नहीं होती हैं. सिस्टम पर निर्भर शेयर की गई ऐसी लाइब्रेरी जो एम्युलेटर के साथ पैकेज नहीं की गई हैं, उन्हें इस सूची में कम कर दिया गया है:
Linux-vdso.so.1Libutil.so.1Libm.so.6Libdl.so.2Librt.so.1Libpthread.so.0Libgcc_s.so.1Libc.so.6ld-linux-x86-64.so.2
Qt यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी को 5.12 एलटीएस पर अपग्रेड किया गया
इस अपडेट में, Qt 5.12 एलटीएस रिलीज़ के ये सुधार शामिल हैं:
- सिस्टम की कुछ इमेज शुरू करते समय, Qt के
libpngडिकोडिंग में क्रैश होने से बचने के लिए, एम्युलेटर अब PNG इमेज को डिकोड करने के लिए,libpngकी अपनी कॉपी का इस्तेमाल करता है. - Linux के कुछ इंस्टॉल में, Qt पर निर्भर कुछ लाइब्रेरी के काम न करने वाले वर्शन मौजूद होते हैं. इनसे जुड़ी समस्याओं को हल करने के लिए, अब हम एम्युलेटर के साथ
libfreetype,libsoftokn,libsqlite3, औरlibxkbcommonको पैकेज करते हैं. - एम्युलेटर अब मॉनिटर के डाइमेंशन पाने के लिए, प्लैटफ़ॉर्म की नेटिव विंडोइंग लाइब्रेरी का इस्तेमाल करता है. पहले, यह 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- इस एनवायरमेंट वैरिएबल की मदद से, सीपीयू और रैम, दोनों के इस्तेमाल को ट्रैक किया जा सकता है. रैम के इस्तेमाल को ट्रैक करने की सुविधा, ग्राफ़िक के इस्तेमाल और कुल रेज़िडेंट मेमोरी के बीच अंतर करती है.
ANDROID_EMU_TRACING=1- यह एनवायरमेंट वैरिएबल, हर बार इनपुट या ग्राफ़िक्स ऑपरेशन में ज़्यादा समय (एक मिलीसेकंड से ज़्यादा) लगने पर प्रिंट करने की सुविधा चालू करता है.
- हम इस एनवायरमेंट वैरिएबल का इस्तेमाल, उन समस्याओं का पता लगाने के लिए भी कर रहे हैं जो Windows उपयोगकर्ताओं को macOS या Linux उपयोगकर्ताओं की तुलना में, ज़्यादा जैंक (ड्रॉप किए गए फ़्रेम) के साथ हुई हैं.
Project Marble में किए गए सामान्य सुधार
इस अपडेट में, Project Marble के तहत किए गए ये सामान्य सुधार भी शामिल हैं:
- अब कंसोल के इन कमांड का इस्तेमाल करके, एम्युलेटर पर सभी वीसीपीयू को तुरंत रोका जा सकता है:
adb emu avd pauseadb emu avd resume
- OpenGL ड्रॉइंग के ओवरहेड को काफ़ी कम किया गया. इस सुधार से, एम्युलेटर में ऐनिमेशन चलने के दौरान सीपीयू का इस्तेमाल कम होता है.
- Mainline QEMU के e1000 वर्चुअल नेटवर्क डिवाइस के लिए, सहायता की सुविधा फिर से शुरू की गई. इस डिवाइस का इस्तेमाल करके, ब्रिज किए गए नेटवर्क एनवायरमेंट में एम्युलेटर को सेट अप किया जा सकता है. ब्रिज किए गए नेटवर्क एनवायरमेंट में, एम्युलेटर को होस्ट नेटवर्क पर दिखाया जाता है. साथ ही, होस्ट नेटवर्क को एम्युलेटर पर दिखाया जाता है.
- एम्युलेटर को चालू करने के लिए, अब QEMU 2.12 के साथ काम करने वाली BIOS बाइनरी का इस्तेमाल किया जाता है.
- वीडियो एन्कोडिंग और डिकोडिंग के लिए,
ffmpegवर्शन को 3.4.5 पर अपग्रेड किया गया. select()पर आधारित मुख्य लूप कोkqueueपर आधारित मुख्य लूप से बदलकर, macOS पर QEMU मुख्य लूप I/O के ओवरहेड को काफ़ी कम किया गया.- एम्युलेटर के साथ Logcat चलाते समय, अचानक ईओएफ़ की गड़बड़ी से जुड़ी समस्याओं को हल करने के लिए, Logcat बफ़र साइज़ को बढ़ाकर 2 एमबी कर दिया गया है.
- एम्युलेटर अब डिफ़ॉल्ट रूप से,
LC_ALL=Cएनवायरमेंट वैरिएबल को एक्सपोर्ट करता है. इस बदलाव से, अलग-अलग जगहों पर एम्युलेटर को चलाने से जुड़ी क्रैश और काम न करने की समस्याएं ठीक हो गई हैं. - अब एम्युलेटर के सीपीयू और रैम के इस्तेमाल को ट्रैक किया जा सकता है. इसके लिए, परफ़ॉर्मेंस के आंकड़े देखें. इन्हें ऐक्सेस करने के लिए, ज़्यादा कंट्रोल > सेटिंग > ऐडवांस > परफ़ॉर्मेंस के आंकड़े पर जाएं. अगर एम्युलेटर बहुत ज़्यादा सीपीयू या रैम का इस्तेमाल कर रहा है, तो इन आंकड़ों का इस्तेमाल करके समस्याओं का तुरंत पता लगाएं.
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPEअब एम्युलेट किए गए जीपीयू के बजाय, होस्ट जीपीयू के नतीजे का इस्तेमाल करता है. इस बदलाव से, उन समस्याओं को ठीक करने में मदद मिलती है जिनमें रीडबैक के लिए गलत फ़ॉर्मैट की वजह से, इमेज और ऐसेट नहीं दिखती हैं.- OpenGL ES एक्सटेंशन
GL_EXT_texture_format_BGRA8888औरGL_APPLE_texture_format_BGRA8888के लिए सहायता जोड़ी गई. हालांकि, इसके लिए ज़रूरी है कि होस्ट इन एक्सटेंशन के साथ काम करता हो. - गड़बड़ी की रिपोर्ट के यूज़र इंटरफ़ेस (यूआई) में, गड़बड़ी की ज़्यादा जानकारी जोड़ी गई. इसके अलावा, इन कमांड का इस्तेमाल करके, कंसोल से गड़बड़ी की रिपोर्ट ऐक्सेस की जा सकती हैं:
telnet localhost 5554avd bugreport
- Android Q सिस्टम इमेज पर, एम्युलेटर अपनी रैम का साइज़ बढ़ाकर कम से कम 2 जीबी कर देता है.
- जब भी OpenGL या हाइपरवाइज़र को शुरू नहीं किया जा सका, तब ज़्यादा लॉगिंग और प्रिंटिंग जोड़ी गई.
- अगर एम्युलेटर, एवीडी के साथ-साथ
-read-onlyइंस्टेंस को शुरू नहीं कर पाता है, तो एम्युलेटर अब तीन सेकंड में तीन बार-read-onlyएवीडी को फिर से लॉन्च करने की कोशिश करता है. इस बदलाव से, एम्युलेटर के एक साथ-read-onlyइंस्टेंस लॉन्च करने की संभावना बढ़ जाती है. ऐसा तब होता है, जब उस एवीडी के अन्य राइटेबल इंस्टेंस, पुरानी फ़ाइलों को मिटाने का काम पूरा नहीं कर पाते. - आने वाली सिस्टम इमेज के लिए, एम्युलेटर अब हार्डवेयर कंपोज़र 2.0 के साथ काम करता है. इस बदलाव से, ज़्यादातर ऐनिमेशन चलाते समय ड्राइवर ओवरहेड कम होना चाहिए.
- एम्युलेटर बिल्ड अब CMake/Ninja पर आधारित है.
- एम्युलेटर के एक्सटेंडेड कंट्रोल यूज़र इंटरफ़ेस (यूआई) में, कीबोर्ड शॉर्टकट टेबल में डिवाइडर लाइनें वापस आ गई हैं.
- उपयोगकर्ता अब हर 10 सेकंड के अंतराल पर, हमारी टीम को सीपीयू और रैम के इस्तेमाल की मेट्रिक देने के लिए ऑप्ट-इन कर सकते हैं. हम इन मेट्रिक का इस्तेमाल, एम्युलेटर के संसाधन के इस्तेमाल से जुड़े डेटा को बेहतर बनाने के लिए करते हैं. इसके लिए, हम अपने उपयोगकर्ताओं के अलग-अलग इस्तेमाल के उदाहरणों का इस्तेमाल करते हैं. इससे हमें एम्युलेटर को ज़्यादा असरदार और रिस्पॉन्सिव बनाने में मदद मिलती है.
Project Marble से जुड़ी सामान्य समस्याओं को ठीक करना
इस अपडेट में, Project Marble के तहत की गई ये सामान्य गड़बड़ियां भी ठीक की गई हैं:
- Android Q सिस्टम इमेज का इस्तेमाल करते समय, Intel जीपीयू वाले सिस्टम पर दिखने वाले गलत फ़्रेम और झटके लगने की समस्याओं को ठीक किया गया.
- Pixel 2 XL स्किन (या ऐसी कोई भी स्किन जिसमें नॉच या गोल कोने हों) के साथ Android Q सिस्टम इमेज का इस्तेमाल करने पर, काली स्क्रीन दिखने की समस्याएं ठीक की गईं.
- उस समस्या को ठीक किया गया है जिसमें
-partition-sizeकमांड लाइन विकल्प, डेटा पार्टिशन का साइज़ सेट नहीं करता था. - उस समस्या को ठीक कर दिया गया है जिसकी वजह से Linux एम्युलेटर पर pulseaudio, कुछ स्थितियों में स्पिन होता था और पूरे सीपीयू कोर का इस्तेमाल करता था.
- कंप्रेस किए गए टेक्सचर को प्रोसेस करते समय, मेमोरी ऐक्सेस की सीमा से बाहर होने की समस्याओं को ठीक किया गया.
glTexSubImage2Dमें होस्ट पर होने वाली GL गड़बड़ियों को ठीक किया गया. ये गड़बड़ियां, कुछ gralloc बफ़र (RGB 565, RGB10A2, RGB(A)16F फ़ॉर्मैट वाले) को अपडेट करते समय होती थीं.- Android Q सिस्टम इमेज में स्नैपशॉट के साथ डिसप्ले की समस्या को ठीक किया गया है. इसमें नोटिफ़िकेशन शेड की ज्यामिति को गलत इंस्टेंस डिविज़र सेटिंग के साथ रेंडर किया गया था.
- लॉन्च के समय क्रैश और फ़्रीज़ होने की कुछ ऐसी समस्याओं को ठीक किया गया है जिन्हें फिर से दोहराना मुश्किल था. ये समस्याएं, Qt के सिग्नल खोने या स्टार्टअप के दौरान अस्थिर और असंगत स्थितियों की वजह से हुई थीं.
- एक साथ कई काम करने से जुड़ी कई समस्याओं को ठीक किया गया. अब हम ThreadSanitizer (TSAN) की मदद से, Linux एम्युलेटर बना सकते हैं. इससे उन गड़बड़ियों का आसानी से पता लगाया जा सकता है जिन्हें फिर से जनरेट करना मुश्किल होता है.
- Linux उपयोगकर्ताओं के लिए: हमें पता चला है कि कुछ होस्ट कर्नेल पर, गेस्ट Android कर्नेल में गड़बड़ी हो सकती है. साथ ही, केवीएम में हार्डवेयर से जुड़ी सामान्य गड़बड़ी की वजह से, यह बंद हो सकता है. डीबग करने की सुविधा को बेहतर बनाने के लिए, ऐसा होने पर एम्युलेटर अब
abort()हो जाएगा. पहले, एम्युलेटर हैंग हो जाता था. - Linux उपयोगकर्ताओं के लिए: सीआई सेटअप को आसानी से इस्तेमाल करने के लिए, नए
-stdouterr-file <file-name>कमांड लाइन विकल्प का इस्तेमाल किया जा सकता है. इससे,stdoutऔरstderr, दोनों को किसी फ़ाइल पर रीडायरेक्ट किया जा सकता है. - उस समस्या को ठीक कर दिया गया है जिसमें
SO_REUSEADDRका गलत इस्तेमाल किया गया था. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें. - Windows एम्युलेटर में लंबे समय से आ रही एक समस्या को ठीक किया गया है. इस समस्या की वजह से, अगर उपयोगकर्ता नाम में स्पेस होता था, तो एडीबी कमांड जैसी सब-प्रोसेस शुरू नहीं हो पाती थीं.
- HAXM vCPU थ्रेड में, आरसीयू के शुरू न होने की समस्या को ठीक किया गया. इस समस्या को ठीक करने से, कुछ क्रैश और रेस कंडिशन को ठीक किया जा सकता है.
- Android Q के हाल ही के सिस्टम इमेज का इस्तेमाल करके, स्नैपशॉट यूज़र इंटरफ़ेस (यूआई) से स्नैपशॉट सेव करने और लोड करने के कुछ पैटर्न के साथ होने वाली क्रैश की समस्या को ठीक किया गया.
- उस समस्या को ठीक किया गया है जिसमें एम्युलेटर को स्नैपशॉट से शुरू करने पर, वर्चुअल सीन कैमरा खाली दिखता था. ऐसा तब होता था, जब स्नैपशॉट सेव करते समय कोई एआर मैक्रो चल रहा हो.
- उस समस्या को ठीक किया गया है जिसकी वजह से, रिमोट डेस्कटॉप सेटअप वाले कुछ उपयोगकर्ताओं को Linux पर एम्युलेटर लॉन्च करते समय काली स्क्रीन दिखती थी. इससे बचने के लिए, एम्युलेटर अब साफ़ तौर पर
MESA_RGB_VISUALको कॉन्फ़िगर करता है. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें. - एक समस्या को ठीक किया गया है, जिसमें टीवी एवीडी पर स्क्रीन को घुमाने वाले बटन दिखते थे.
- एक समस्या को ठीक किया गया है. इसमें, अगर एम्युलेटर को हमेशा सबसे ऊपर सेट किया जाता था, तो एम्युलेटर को घुमाने पर हर बार एक्सटेंडेड कंट्रोल विंडो दिखती थी.
फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए हार्डवेयर प्रोफ़ाइलें
एम्युलेटर में अब फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए हार्डवेयर प्रोफ़ाइलें शामिल हैं. इन नई हार्डवेयर प्रोफ़ाइलों का इस्तेमाल करने के लिए, आपके पास Android Studio 3.5 Canary 10 या इसके बाद का वर्शन होना चाहिए.
एवीडी बनाने के लिए, फ़ोल्ड किए जा सकने वाले दो हार्डवेयर प्रोफ़ाइलों का इस्तेमाल किया जा सकता है:
- 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 के लिए Android Q Beta 3 या इसके बाद का वर्शन, Vulkan 1.0 के लिए Android Q Beta 2) और होस्ट जीपीयू के साथ काम करने वाले वर्शन का इस्तेमाल करें. इसमें 2014 और उसके बाद के Intel, NVIDIA, और AMD के ज़्यादातर जीपीयू शामिल हैं.
Vulkan की सुविधा चालू करने के लिए, आपको अपनी ~/.android/advancedFeatures.ini फ़ाइल में ये फ़ीचर फ़्लैग जोड़ने होंगे. अगर यह फ़ाइल मौजूद नहीं है, तो इसे बनाएं:
Vulkan = onGLDirectMem = on
ROM डेवलपर के लिए शुरुआती सहायता
AOSP master ब्रांच पर sdk_phone_x86 या sdk_phone_x86_64 (userdebug, eng वैरिएंट) टारगेट बनाने वाले ROM डेवलपर, अब Vulkan की सुविधा वाला एम्युलेटर चला सकते हैं.
यह सुविधा, फ़िलहाल एक्सपेरिमेंट के तौर पर उपलब्ध है. यह मुख्य रूप से उन डेवलपर के लिए है जो सिस्टम इमेज, ड्राइवर, और गेम इंजन पर काम करते हैं. कई एक्सटेंशन अब भी मौजूद नहीं हैं.
हालांकि, HOST_COHERENT मेमोरी काम करती है. अब आपको Vulkan API ट्यूटोरियल के सैंपल चलाने में कोई समस्या नहीं आएगी.
अगर Linux का इस्तेमाल किया जा रहा है, तो इन कमांड का इस्तेमाल करके इसे आज़माया जा सकता है:
mkdir aosp-mastercd aosp-masterrepo init -u https://android.googlesource.com/platform/manifest -b master --depth=1repo sync -c -j12. build/envsetup.shlunch sdk_phone_x86_64-userdebugmake -j12emulator -no-snapshot -feature Vulkan,GLDirectMem
Vulkan के साथ Skia रेंडरिंग
Vulkan के साथ काम करने वाले NVIDIA और AMD के जीपीयू, GL_EXT_memory_objects एक्सटेंशन के ज़रिए OpenGL के साथ ज़ीरो-कॉपी इंटरऑप के साथ भी काम करते हैं. एम्युलेटर इस सुविधा का इस्तेमाल करके, Skia Vulkan API की मदद से Android यूज़र इंटरफ़ेस (यूआई) को रेंडर करने का पूरा तरीका उपलब्ध कराता है.
अगर आपके पास Vulkan के साथ काम करने वाला NVIDIA या AMD जीपीयू है, तो Skia रेंडरिंग की जांच करने के लिए, यहां दिए गए कमांड का इस्तेमाल करें. इसके लिए, आपके पास सिस्टम इमेज (Android Q बीटा 3 और इसके बाद के वर्शन) होनी चाहिए:
adb shellsusetprop debug.hwui.renderer skiavkstopstart
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 शेल कमांड चलाने पड़ते हैं. इनमें ज़्यादा ओवरहेड हो सकता है. इसके अलावा, टेलनेट कंसोल का इस्तेमाल किया जा सकता है. यह ज़्यादा तेज़ होता है, लेकिन हो सकता है कि यह कुछ नेटवर्क कॉन्फ़िगरेशन के साथ काम न करे.
- सीआई (CI) के उपयोगकर्ता अक्सर हेडलेस मोड में एम्युलेटर चलाते हैं. इससे उन समस्याओं को नोटिस करना मुश्किल हो सकता है जिनके लिए स्क्रीन का दिखना या इंटरैक्टिव होना ज़रूरी है.
- रिमोट डेस्कटॉप का इस्तेमाल करने वाले लोग, होस्ट जीपीयू रेंडरिंग का इस्तेमाल करते समय अक्सर एम्युलेटर से इंटरैक्ट नहीं कर पाते. ऐसा इसलिए होता है, क्योंकि जीपीयू रेंडरिंग अक्सर होस्ट के नॉन-वर्चुअल डिसप्ले से जुड़ी होती है.
इस समस्या को हल करने के लिए, Linux मशीन पर चलने के दौरान एम्युलेटर अब gRPC सेवा उपलब्ध कराता है. gRPC , आरपीसी के लिए एक सामान्य फ़्रेमवर्क है, जो एचटीटीपी पर काम करता है.
डिफ़ॉल्ट रूप से, एम्युलेटर gRPC सेवा बंद होती है. हालांकि, इस सेवा को चालू करने के लिए, कमांड लाइन के इस विकल्प का इस्तेमाल किया जा सकता है. इसमें <port> वह पोर्ट है जिस पर एम्युलेटर को gRPC अनुरोधों को पूरा करना चाहिए (आम तौर पर 5556):
-grpc <port>
सेवा शुरू होने के बाद, क्लाइंट से gRPC कमांड जारी किए जा सकते हैं. कमांड के मौजूदा सेट से, इनपुट इवेंट भेजे जा सकते हैं और स्क्रीनशॉट भी पाए जा सकते हैं. इन कमांड से, इन समस्याओं को हल करने में मदद मिलती है:
- एचटीटीपी पर कम ओवरहेड के साथ, एम्युलेटर को इनपुट कमांड भेजे जा सकते हैं. एचटीटीपी की मदद से, अन्य नेटवर्क कॉन्फ़िगरेशन में भी निर्देश भेजे जा सकते हैं.
- स्क्रीनशॉट लेने के निर्देश भेजकर, मौजूदा स्क्रीन के बारे में क्वेरी की जा सकती है. भले ही, एम्युलेटर हेडलेस मोड में चल रहा हो. इंटरैक्टिविटी के लिए, इनपुट इवेंट को एम्युलेटर पर वापस भी भेजा जा सकता है.
- रिमोट डेस्कटॉप के उपयोगकर्ता, जीपीयू की मदद से रेंडरिंग की सुविधा का इस्तेमाल करके, मुख्य डिसप्ले पर एम्युलेटर को हेडलेस मोड में चला सकते हैं. इसके लिए, उन्हें gRPC का इस्तेमाल करके स्क्रीनशॉट लेने होंगे और एम्युलेटर से इंटरैक्ट करने के लिए इनपुट इवेंट भेजने होंगे.
उपलब्ध कमांड की पूरी सूची देखने के लिए, यह protobuf देखें.
gRPC का इस्तेमाल शुरू करने में आपकी मदद करने के लिए, हमने कुछ सैंपल क्लाइंट उपलब्ध कराए हैं. इन्हें देखा जा सकता है.
फ़िलहाल, इसमें ये सैंपल शामिल हैं:
- यह Go पर आधारित सेवा है. इसका इस्तेमाल, इम्यूलेटर की स्थितियों के बारे में क्वेरी करने के लिए किया जा सकता है.
- एक React ऐप्लिकेशन, जो स्क्रीनशॉट और इनपुट आरपीसी के ज़रिए रिमोट इंटरैक्टिविटी दिखाता है. इस सैंपल के लिए, protobuf का 3.7.0 या इसके बाद का वर्शन ज़रूरी है.
- Python का एक सैंपल, जो एम्युलेटर के वीएम कॉन्फ़िगरेशन के बारे में क्वेरी करता है. इसके बाद, कमांड की एक सीरीज़ भेजता है.
28.0.25 (29 मार्च, 2019)
इस अपडेट में ये सुधार और बदलाव शामिल हैं:
बिना डिसप्ले वाला एम्युलेटर बिल्ड
एम्युलेटर को डॉकर और अन्य लगातार इंटिग्रेशन (सीआई) वर्कफ़्लो के साथ सेट अप करना मुश्किल रहा है. इसकी वजह यह है कि सिस्टम से यह उम्मीद की जाती है कि वह Qt के साथ-साथ, शेयर की गई लाइब्रेरी डिपेंडेंसी (अन्य समस्याओं के साथ) के साथ काम कर सके.
इस समस्या को हल करने के लिए, हमने सबसे पहले QEMU एक्ज़ीक्यूटेबल के साथ एम्युलेटर लॉन्चर का एक वैरिएंट लॉन्च किया है. यह वैरिएंट, Qt पर निर्भर नहीं करता. Linux पर, अब भी libX11 का लिंक मौजूद है. हालांकि, हमें उम्मीद है कि हम इसे भी जल्द ही हटा देंगे.
हेडलेस एम्युलेटर का इस्तेमाल करने के लिए, एम्युलेटर को कमांड लाइन से सामान्य तरीके से चलाएं. हालांकि, एम्युलेटर बाइनरी को शुरू करने के लिए, emulator-headless का इस्तेमाल करें. ज़्यादा जानकारी के लिए, 28.1.8 Canary रिलीज़ अपडेट देखें.
- Android Q सिस्टम इमेज चलाते समय, Intel के जीपीयू पर फ़्रेम के झिलमिलाने और गलत फ़्रेम दिखने की समस्या को ठीक किया गया.
- Pixel 2 XL स्किन के साथ Android Q सिस्टम इमेज का इस्तेमाल करने पर, काली स्क्रीन दिखने की समस्याएं ठीक की गईं.
- एम्युलेटर को चालू करने के लिए, अब BIOS की नई बाइनरी का इस्तेमाल किया जाता है. इस बदलाव से, "vCPU shutdown request" गड़बड़ियों को कम करने में मदद मिल सकती है. ये गड़बड़ियां कभी-कभी Windows पर एम्युलेटर लॉन्च करते समय होती हैं.
- "स्नैपशॉट से Android Q सिस्टम इमेज को फिर से शुरू करने पर, गलत डिसप्ले दिखने" की समस्या को ठीक करने के लिए, बैकपोर्ट किया गया.
- प्लैटफ़ॉर्म-टूल 28.0.2 में एडीबी में किए गए बदलाव की वजह से, उपयोगकर्ताओं को "बिना अनुमति वाले" एम्युलेटर से जुड़ी समस्याएं आ रही थीं. अब एम्युलेटर के साथ, platform-tools 28.0.2 से एडीबी का सुरक्षित तरीके से इस्तेमाल किया जा सकता है. अगर आपको "बिना अनुमति वाले" एम्युलेटर से जुड़ी समस्याएं आ रही हैं, तो उन्हें हल करने के लिए यह तरीका अपनाएं:
- सभी एम्युलेटर से बाहर निकलें.
~/.android/adbkeyऔर~/.android/adbkey.pub, दोनों फ़ाइलें मिटाएं.- यह कमांड चलाएं:
adb kill-server - यह कमांड चलाएं:
adb devices - एवीडी का डेटा मिटाएं.
- एम्युलेटर को फिर से लॉन्च करें.
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)
इस अपडेट में ये सुधार और बदलाव शामिल हैं:
- हमने एक पुरानी समस्या को ठीक किया है. इसमें कुछ सेटिंग में, Mac एम्युलेटर क्विकबूट सेव करने पर रीबूट हो जाता था या कर्नेल पैनिक की समस्या आती थी. (समस्या 120951634)
- रैम स्नैपशॉट के तौर पर मैप की गई फ़ाइल का इस्तेमाल करते समय, एम्युलेटर अब बाहर निकलने पर फ़ाइल मैपिंग को साफ़ तौर पर अनमैप कर देता है.
28.0.20 (11 दिसंबर, 2018)
इस अपडेट में ये सुधार और बदलाव शामिल हैं:
- Windows पर आने वाली उस समस्या को ठीक किया गया है जिसकी वजह से Intel जीपीयू के कुछ मॉडल पर, स्नैपशॉट लोड होने के दौरान एम्युलेटर फ़्रीज़ हो जाता था.
- उस समस्या को ठीक किया गया है जिसकी वजह से, स्टैंडर्ड के मुताबिक न होने वाली
ANDROID_SDK_HOMEजगह का इस्तेमाल करने पर,unauthorizedएडीबी डिवाइस की स्थिति दिखती थी. - Windows पर आने वाली एक समस्या को ठीक किया गया है. इसकी वजह से, सीपीयू ऐक्सेलरेटर बंद होने पर सिस्टम इमेज को बूट करने के दौरान एम्युलेटर क्रैश हो जाता था.
- एम्युलेटर के डिसप्ले में पिक्सल दिखने की समस्या को ठीक किया गया. अब डाउनसैंपलिंग की सुविधा काम करनी चाहिए.
- macOS 10.14 और इसके बाद के वर्शन पर आने वाली एक समस्या को ठीक किया गया है. इसमें, सुलभता की नई सुरक्षा सेटिंग के साथ इंटरैक्शन की वजह से, वर्चुअल सीन कैमरे के माउस लुक कंट्रोल की संवेदनशीलता बहुत ज़्यादा हो सकती थी.
- टाइमज़ोन कैलकुलेशन में होने वाली गड़बड़ी को ठीक किया गया. इसकी वजह से, एम्युलेटर की घड़ी कभी-कभी बदल सकती थी.
- Cocos2d और Unreal Engine के अलग-अलग ऐप्लिकेशन में रेंडरिंग से जुड़ी गड़बड़ियों को ठीक किया गया.
- एम्युलेटर में, वाई-फ़ाई पीयर-टू-पीयर के लिए सहायता जोड़ी गई.
अगर Pie Play Store की नई इमेज का इस्तेमाल किया जा रहा है, तो दो एम्युलेटर अब वाई-फ़ाई के ज़रिए सीधे एक-दूसरे से कनेक्ट हो सकते हैं. वाई-फ़ाई पीयर-टू-पीयर का इस्तेमाल करने के लिए, एक ही
-wifi-server-portऔर-wifi-client-portआर्ग्युमेंट वाले दो एवीडी चालू करें:emulator @<server-avd-name> -wifi-server-port 9999emulator @<client-avd-name>-wifi-client-port 9999
- Windows पर ज़्यादा वेबकैम के लिए सहायता जोड़ी गई है. इसके लिए, काम न करने वाले फ़्रेम साइज़ को लिया जाता है और उन्हें डाइनैमिक तौर पर रीसाइज़ किया जाता है, ताकि वे Android गेस्ट में कैमरे की सेटिंग के मुताबिक फ़िट हो सकें.
28.0.16 (नवंबर 2018)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं, मौजूदा सुविधाओं को बेहतर बनाया गया है, और गड़बड़ियां ठीक की गई हैं.
संसाधन का उपयोग
एम्युलेटर अब कम रैम का इस्तेमाल करता है. खास तौर पर, एपीआई लेवल 28 या इसके बाद के वर्शन वाली सिस्टम इमेज का इस्तेमाल करते समय. इन सिस्टम इमेज में, गेस्ट-साइड ग्राफ़िक ड्राइवर के लिए मेमोरी के इस्तेमाल को बेहतर बनाया गया है.
इसके अलावा, हमने इन मामलों में भी संसाधन के इस्तेमाल को बेहतर बनाया है:
- लंबे समय तक चलने वाले टेस्ट के दौरान, एम्युलेटर की मेमोरी का इस्तेमाल कम हुआ. अगर आपको लंबे समय तक चलने वाले टेस्ट के दौरान, मेमोरी के इस्तेमाल से जुड़ी समस्याएं अब भी आ रही हैं, तो कृपया Issue Tracker में जाकर, अपने इस्तेमाल के उदाहरण के बारे में बताएं.
- ऐनिमेशन वाले ऐप्लिकेशन इस्तेमाल करते समय, सीपीयू का कम इस्तेमाल.
- उस समस्या को ठीक किया गया है जिसकी वजह से Windows पर QEMU एआईओ कॉन्टेक्स्ट लीक हो सकता था.
एक ही एवीडी के कई इंस्टेंस एक साथ चलाना
अब एक ही एवीडी के कई इंस्टेंस लॉन्च किए जा सकते हैं और उन्हें एक साथ चलाया जा सकता है. पहले इंस्टेंस के बाद लॉन्च किए गए इंस्टेंस, रीड-ओनली मोड में होते हैं. साथ ही, उनसे बाहर निकलने पर, गेस्ट वर्चुअल डिस्क में किए गए बदलाव खारिज कर दिए जाते हैं.
एक ही एवीडी के कई इंस्टेंस एक साथ चलाने के लिए, पहले इंस्टेंस के बाद किसी भी इंस्टेंस को कमांड लाइन से लॉन्च करें. इसके लिए, -read-only फ़्लैग का इस्तेमाल करें.
यह सुविधा, Android इमेज के उन हिस्सों से जुड़ी QCOW2 फ़ाइलों को कॉपी करके उपलब्ध कराई जाती है जिनमें बदलाव किया जा सकता है. डिस्क में बचे स्टोरेज को मैनेज करने में आपकी मदद करने के लिए, हमने qemu-img कमांड लाइन टूल भी बंडल किया है. इससे आपको कई इंस्टेंस लॉन्च करने से पहले, QCOW2 फ़ाइलों को प्री-कमिट करने की सुविधा मिलती है.
इसके अलावा, फ़ाइल-बैक्ड गेस्ट रैम स्नैपशॉट सुविधा के साथ इस्तेमाल करने पर, कई एवीडी इंस्टेंस, प्राइमरी एवीडी क्विकबूट स्नैपशॉट को कॉपी-ऑन-राइट गेस्ट रैम के सामान्य सोर्स के तौर पर शेयर करते हैं. इस प्रॉपर्टी का मतलब है कि इंस्टेंस, अपनी रैम का ज़्यादातर हिस्सा शेयर करते हैं. इस सुविधा का इस्तेमाल करके, ऐसे टेस्ट चलाएं जिन्हें एक साथ कई डिवाइसों पर चलाने की ज़रूरत होती है.
हम आपके सामान्य इंटरैक्टिव या सीआई वर्कफ़्लो के हिस्से के तौर पर, इस्तेमाल के संभावित उदाहरणों के बारे में आपके सुझाव, शिकायत या राय की सराहना करते हैं. कृपया Issue Tracker में समस्याएं बनाएं या उन्हें अपवोट करें.
फ़ाइल-बैक्ड गेस्ट रैम स्नैपशॉट
गेस्ट रैम को फ़ाइल के तौर पर पहले से तय और मैप करके, एम्युलेटर अब रनटाइम के दौरान क्विकबूट स्नैपशॉट सेव कर सकता है. इसके लिए, उसे बाहर निकलने पर सारा काम करने की ज़रूरत नहीं पड़ती. अगर आपको एम्युलेटर बंद करते समय, सेव होने में ज़्यादा समय लगता है, तो क्विकबूट की परफ़ॉर्मेंस को बेहतर बनाने के लिए इस सुविधा को चालू करें. डिफ़ॉल्ट रूप से, क्विकबूट का स्नैपशॉट, बाहर निकलने पर सेव हो जाता है. साथ ही, हर बार फिर से लोड होता है. यह किसी असली डिवाइस को निलंबित करने और चालू करने जैसा है.
Android गेस्ट रैम अब डिफ़ॉल्ट रूप से अपने-आप सेव हो जाती है. इसलिए, अगर आपको डिवाइस की कोई स्थिति तय करनी है और उस स्थिति से बार-बार लोड करना है, तो आपको एम्युलेटर को हर सेशन के बाद बदलावों को खारिज करने के लिए कहना होगा. ऐसा करने के लिए, ये तरीके अपनाएं:
- एम्युलेटर को कमांड लाइन से लॉन्च करते समय,
-no-snapshot-saveया-read-onlyफ़्लैग का इस्तेमाल करें. - Extended Controls > Snapshots > Settings पर जाएं. इसके बाद, Auto-save current state to Quickboot? को No पर स्विच करें.
- इस विकल्प को चुनने के बाद, आपको एम्युलेटर को रीस्टार्ट करना होगा. अगर एम्युलेटर को अपने-आप सेव होने के लिए सेट किया गया है, तो चेकपॉइंट सेट करने के लिए यह कमांड चलाएं:
इस निर्देश को चलाने के बाद, एम्युलेटर का क्विकबूट स्नैपशॉट उस चेकपॉइंट पर रहेगा. अपने चेकपॉइंट से एम्युलेटर को लोड करने के लिए, वही कमांड फिर से चलाएं.adb emu avd snapshot remap 0
स्नैपशॉट यूज़र इंटरफ़ेस (यूआई) के ज़रिए लिए गए और लोड किए गए स्नैपशॉट, पहले की तरह ही काम करते हैं. इनमें कोई फ़ाइल मैपिंग नहीं होती.
क्विकबूट की सुविधा के काम करने के तरीके में यह एक बड़ा बदलाव है. इसलिए, हमें इस बारे में आपके सुझाव, राय या शिकायत जानकर खुशी होगी कि इससे क्विकबूट की परफ़ॉर्मेंस बेहतर हुई है या नहीं. साथ ही, इसका इस्तेमाल करते समय आपको किस तरह की समस्याएं आ रही हैं. अगर आपको समस्याएं आ रही हैं, तो अपनी ~/.android/advancedFeatures.ini फ़ाइल में यह लाइन जोड़कर, इस सुविधा को बंद किया जा सकता है:
QuickbootFileBacked = off
जब एम्युलेटर को किसी स्नैपशॉट से शुरू किया जाता है (-snapshot कमांड लाइन विकल्प का इस्तेमाल करके या AVD मैनेजर में किसी स्नैपशॉट से लॉन्च करके), तो एम्युलेटर, क्विकबूट स्नैपशॉट के लिए अपने-आप सेव होने की सुविधा और बाहर निकलने पर क्विकबूट स्नैपशॉट सेव करने की सुविधा, दोनों को बंद कर देता है. इससे, Quickboot स्नैपशॉट के अनजाने में ओवरराइट होने की संभावना कम हो जाती है. साथ ही, फ़ाइल-बैक्ड Quickboot स्नैपशॉट का इस्तेमाल न करने वाले धीमे फ़ॉलबैक पाथ से बचा जा सकता है.
QEMU 2.12
हमने QEMU के अपने वैरिएंट को QEMU 2.9 से QEMU 2.12 पर रीबेस किया है. इस अपडेट में, QEMU में किए गए ये बदलाव शामिल हैं:
- https://wiki.qemu.org/ChangeLog/2.10
- https://wiki.qemu.org/ChangeLog/2.11
- https://wiki.qemu.org/ChangeLog/2.12
यहां कुछ ऐसे अहम बदलावों के बारे में बताया गया है जिनका असर Android Emulator पर पड़ता है:
- x86:
gdbstubअब SSE रजिस्टर का ऐक्सेस देता है. - डिस्क इमेज: इमेज लॉक करने की सुविधा जोड़ी गई है और यह डिफ़ॉल्ट रूप से चालू रहती है. जब तक होस्ट, OFD या posix लॉकिंग की सुविधा देता है, तब तक एक से ज़्यादा 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 में अब ASTC एलडीआर कंप्रेस किए गए टेक्सचर (
GL_KHR_texture_compression_astc_ldr) का इस्तेमाल किया जा सकता है. यह सुविधा, एपीआई लेवल 28 या इसके बाद के वर्शन का इस्तेमाल करने वाली सिस्टम इमेज के लिए उपलब्ध है. - ज़्यादातर आधुनिक जीपीयू, अब
GLESDynamicVersionफ़ीचर फ़्लैग का इस्तेमाल किए बिना, डिफ़ॉल्ट रूप से चालू किए गए OpenGL ES 3.x के साथ एम्युलेटर को लॉन्च कर सकते हैं. -gpu guest(मेहमान के लिए सॉफ़्टवेयर रेंडरिंग) को बंद कर दिया गया है. एपीआई लेवल 28 या इसके बाद के वर्शन के लिए, सिस्टम इमेज अब Swiftshader (-gpu swiftshader_indirect) का इस्तेमाल करने के लिए अपने-आप स्विच हो जाती हैं.- अगर एम्युलेटर को
-no-windowफ़्लैग का इस्तेमाल करके कमांड लाइन से लॉन्च किया जाता है, तो डिफ़ॉल्ट रेंडरर अब Swiftshader होगा.
जगह
- एम्युलेटर अब अक्षांश और देशांतर की पोज़िशन के साथ-साथ, बेयरिंग को भी अपडेट कर सकता है. मैग्नेटोमीटर वर्चुअल सेंसर, जीपीएक्स या केएमएल फ़ाइल को चलाते समय गतिविधि का अनुमान लगाकर, मैग्नेटिक नॉर्थ के हिसाब से खुद को डाइनैमिक तरीके से अडजस्ट करता है.
- डिवाइस की स्पीड को अब जगह की जानकारी वाले पेज पर सेट किया जा सकता है.
- GPX या KML फ़ाइल को चलाते समय, स्पीड अपने-आप सेट हो जाती है. साथ ही, फ़ाइल के खत्म होने पर स्पीड शून्य पर सेट हो जाती है.
- अब ऊंचाई को -1,000 और +10,000 मीटर के बीच सीमित नहीं किया गया है.
- उस समस्या को ठीक किया गया है जिसकी वजह से वर्चुअल जीपीएस की जगह की जानकारी समय-समय पर अपडेट नहीं होती थी. ऐसा तब तक होता था, जब तक कि एक्सटेंडेड कंट्रोल विंडो को कम से कम एक बार न खोला जाए.
कैमरा
Windows पर, अब ज़्यादा वेबकैम काम करते हैं. इसकी वजह यह है कि एम्युलेटर, वेबकैम से डिलीवर किए गए कैमरा फ़्रेम का साइज़ डाइनैमिक तौर पर बदलता है. इस सुविधा की मदद से, फ़्रेम डिलीवरी में होने वाली गड़बड़ियों की वजह से एम्युलेटर को हैंग होने से भी रोका जा सकता है.
Play Store
Play Store की इमेज के लिए, डिस्क में बचा स्टोरेज खत्म होने की समस्याओं को हल करने के लिए, एम्युलेटर अब Play Store के नए एवीडी के साथ चलने पर, उपयोगकर्ता के डेटा के पार्टिशन का साइज़ अपने-आप 6 जीबी कर देता है.
क्वालिटी को बेहतर बनाने के लिए सामान्य सुधार और गड़बड़ियां ठीक की गई हैं
- कुछ उपयोगकर्ताओं ने बताया कि एम्युलेटर धीमे चल रहा है. हमें एक संभावित वजह का पता चला है. ऐसा तब होता है, जब एम्युलेटर की अस्थायी डायरेक्ट्री में बहुत सारी पुरानी फ़ाइलें मौजूद हों. इस समस्या को हल करने के लिए, एम्युलेटर अब उस डायरेक्ट्री में एडीबी लाइवनेस की जांच करने वाली फ़ाइलें सेव नहीं करता है. हालांकि, उस फ़ोल्डर का कॉन्टेंट मिटाने से भी मदद मिल सकती है. आपके ऑपरेटिंग सिस्टम के आधार पर, फ़ोल्डर इनमें से किसी एक जगह पर मौजूद होता है:
- Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\* - macOS या Linux:
/tmp/android-<username>/*
- Windows:
- अगर रैम में ज़रूरत के मुताबिक जगह न होने की वजह से एम्युलेटर शुरू नहीं हो पाता है, तो अब गड़बड़ी का मैसेज दिखता है. अगर Windows का इस्तेमाल किया जा रहा है और आपको लगता है कि रैम खाली है, लेकिन फिर भी एम्युलेटर शुरू नहीं हो पा रहा है, तो हो सकता है कि कमिट चार्ज ज़्यादा हो गया हो. इस समस्या को हल करने में मदद पाने के लिए, एम्युलेटर की समस्या हल करने वाला पेज देखें.
-sysdirकमांड लाइन विकल्प, अब अनुमानित सिस्टम इमेज डायरेक्ट्री को सही तरीके से बदल देता है.- वर्चुअल मॉडेम अब मॉडल की गतिविधि की जानकारी
+MAIक्वेरी के साथ काम करता है. - मेमोरी लीक, मेमोरी करप्शन, और सीपीयू के इस्तेमाल से जुड़ी कई समस्याएं ठीक की गईं. अगर आपको क्रैश, मेमोरी लीक या ज़्यादा संसाधन इस्तेमाल होने जैसी अन्य समस्याएं आ रही हैं, तो कृपया Issue Tracker में जाकर समस्या की शिकायत करें.
- macOS 10.14 पर फिर से दिखने वाली उस समस्या को ठीक कर दिया गया है जिसमें एम्युलेटर के साथ ब्लूटूथ हेडसेट का इस्तेमाल करने पर, ऑडियो की क्वालिटी खराब हो जाती थी. इसे रोकने के लिए, macOS पर चलने के दौरान एम्युलेटर अब ब्लूटूथ ऑडियो का इस्तेमाल नहीं करता. (समस्या 37070892)
- Windows पर एक समस्या को ठीक किया गया है. इसकी वजह से, एम्युलेटर की घड़ी सही टाइमज़ोन में नहीं दिखती थी.
- स्पिनिंग हार्ड ड्राइव (एचडीडी) वाले Linux सिस्टम पर, एम्युलेटर के धीमे चलने और हैंग होने की समस्या को ठीक किया गया.
- कंपाइल करने से जुड़ी कुछ चेतावनियों को ठीक किया गया है. इनकी वजह से, macOS पर स्टैक करप्ट हो सकता था.
- उन समस्याओं को ठीक किया गया है जिनकी वजह से, हैंग होने की गुमराह करने वाली रिपोर्ट मिल सकती थीं.
- थ्रेड पूल को खत्म करने से जुड़ी समस्या को ठीक किया गया. इस समस्या की वजह से, अगर कोई थ्रेड सही तरीके से नहीं बनता था, तो ऐप्लिकेशन क्रैश हो सकता था.
- macOS पर एक समस्या को ठीक किया गया है. इसमें टाइमर सही तरीके से काम नहीं करते थे. इस वजह से, सिस्टम हैंग हो जाता था और अन्य अजीब व्यवहार देखने को मिलता था. अगर आपको macOS पर एम्युलेटर के हैंग होने की समस्या आती है, तो कृपया Issue Tracker में जाकर समस्या की शिकायत करें.
- उस समस्या को ठीक किया गया है जिसकी वजह से एम्युलेटर को बंद करने पर, यूज़र इंटरफ़ेस (यूआई) बंद हो जाता था, लेकिन एम्युलेटर बंद नहीं होता था.
- कभी-कभी होने वाले क्रैश की समस्याओं को ठीक किया गया है. इनमें
/dev/urandomके कई इंस्टेंस खोलने की वजह से, ऐप्लिकेशन के बंद होने की समस्या भी शामिल है. - उस समस्या को ठीक किया गया है जिसकी वजह से पहली बार एडीबी को ज़बरदस्ती बंद करने के बाद, एम्युलेटर चालू नहीं हो पाता था.
- MIPS बिल्ड को हटा दिया गया है. अगर आपको अब भी एमआईपीएस की ज़रूरत है, तो कृपया Issue Tracker में जाकर समस्या की शिकायत करें.
- उस समस्या को ठीक किया गया है जिसमें स्नैपशॉट लोड होने पर, एडीबी कनेक्शन खराब हो सकते थे.
- उस समस्या को ठीक किया गया है जिसमें डिवाइस का ओरिएंटेशन, एवीडी के डिफ़ॉल्ट ओरिएंटेशन से अलग होने पर, स्नैपशॉट को फिर से शुरू करने पर एम्युलेटर विंडो में आफ़्टरइमेज या टेलीपोर्ट ऑफ़स्क्रीन दिखती थी.
- स्नैपशॉट सेव करते समय, ऐप्लिकेशन क्रैश होने की समस्याओं को ठीक किया गया.
- 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).
32-बिट Windows के लिए सहायता बंद करना
कम इस्तेमाल और रखरखाव की ज़्यादा लागत की वजह से, हम Windows पर चलने वाले Android Emulator के 32-बिट वर्शन को बंद करने की योजना बना रहे हैं. Android Emulator के 32-बिट वर्शन को हटाने और बंद करने से पहले, हम ट्रांज़िशन प्लान रोल आउट करेंगे. हालांकि, हम इस बदलाव के बारे में आपके सुझाव, शिकायत या राय का इंतज़ार कर रहे हैं.
अगर फ़िलहाल Windows पर चलने वाले Android Emulator के 32-बिट वर्शन का इस्तेमाल किया जा रहा है, तो कृपया हमें Issue Tracker में बताएं. साथ ही, हमें यह भी बताएं कि आने वाले समय में हम आपके साथ बेहतर तरीके से कैसे काम कर सकते हैं.
27.3.10 (अगस्त 2018)
इस अपडेट में, यह गड़बड़ी ठीक की गई है:
रैम साइज़ के कॉन्फ़िगरेशन से जुड़ी समस्या को ठीक करना
कुछ उपयोगकर्ताओं ने बताया कि एम्युलेटर धीमे चल रहा है. हमें एक संभावित वजह का पता चला है. इसमें एवीडी की config.ini फ़ाइल में, एवीडी की रैम का साइज़ गलत तरीके से सेट किया जा रहा था.
इस समस्या को कम करने के लिए, एम्युलेटर उन इमेज के लिए रैम के कम से कम लेवल को बढ़ाता है जो एपीआई लेवल 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 और इसके बाद के वर्शन के साथ, स्नैपशॉट अपने कॉन्टेंट को ज़रूरत के हिसाब से रैम में लोड करते हैं. ऐसा वर्चुअल डिवाइस के चालू होने पर, पूरे स्नैपशॉट को लोड करने के बजाय किया जाता है. इस बदलाव से, स्नैपशॉट लोड होने में लगने वाला समय काफ़ी कम हो जाएगा.
ज़्यादा जानकारी के लिए, वीएम ऐक्सेलरेशन को कॉन्फ़िगर करना लेख पढ़ें.
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 की इमेज
Google Play Store अब Pixel और Pixel 2 डिवाइस की इमेज के लिए चालू है. इसकी जानकारी, Android Studio 3.2 और इसके बाद के वर्शन में AVD मैनेजर में दी गई है. इसमें Play Store कॉलम में Google Play का लोगो दिखता है. जिन एवीडी में Google Play Store चालू होता है उनके ज़्यादा कंट्रोल डायलॉग में 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 स्क्रीन पर, एवीडी की पोज़िशन को फिर से सेट नहीं किया जा सकता था.
- Pixel 2 XL स्किन के साथ एवीडी चलाते समय, नए MacBook Pro कंप्यूटर पर स्क्रीन के टिमटिमाने और खाली स्क्रीन दिखने की समस्याएं ठीक की गईं.
- बिना फ़्रेम वाले एम्युलेटर के चालू होने पर, ज़ूम मोड में स्विच करने पर दिखने वाली खाली स्क्रीन की समस्याओं को ठीक किया गया.
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से ज़ूम इन करने पर, डिवाइस की स्किन और एम्युलेटर का कॉन्टेंट सिंक नहीं हो पाता था.
अगर आपको अब भी हैंग होने या अन्य गड़बड़ियों का सामना करना पड़ रहा है, तो कृपया समस्या की शिकायत करें.
27.1.12 (मार्च 2018)
इस अपडेट में, इन समस्याओं को ठीक किया गया है:
- एम्युलेटर शुरू करने के बाद, ब्लूटूथ ऑडियो की क्वालिटी खराब हो गई. (समस्या 37095756)
- एक एम्युलेटर को भेजी गई जगह की जानकारी, सभी एम्युलेटर को भेजी जाती थी. (समस्या 73450633)
- कंसोल का इस्तेमाल करके सेट की गई जीपीएस की जगह की जानकारी को, ग्राफ़िकल यूज़र इंटरफ़ेस में ज़्यादा कंट्रोल > जगह की जानकारी का इस्तेमाल करके सेट की गई वैल्यू से बदल दिया गया. (समस्या 73471760)
अगर आपको अब भी हैंग होने या अन्य गड़बड़ियों का सामना करना पड़ रहा है, तो कृपया समस्या की शिकायत करें.
इस अपडेट, मौजूदा सिस्टम इमेज, और Android Studio के वर्शन की झलक के साथ, Android Emulator का इस्तेमाल करके, ARCore की मदद से बनाए गए ऑगमेंटेड रिएलिटी (एआर) ऐप्लिकेशन चलाए जा सकते हैं. ज़्यादा जानकारी और निर्देशों के लिए, Android Emulator में एआर ऐप्लिकेशन चलाना लेख पढ़ें.
27.1.10 (फ़रवरी 2018)
कैमरे से कैप्चर करने का रिज़ॉल्यूशन
अटैच किए गए वेबकैम से, अब 720 पिक्सल के फ़्रेम कैप्चर किए जा सकते हैं.
Android 8.1 (एपीआई लेवल 27) और इसके बाद के वर्शन वाली सिस्टम इमेज के साथ काम करने के लिए, अटैच किए गए किसी भी वेबकैम में 720 पिक्सल के फ़्रेम कैप्चर करने की सुविधा होनी चाहिए.
समाधान
- उस समस्या को ठीक किया गया है जिसकी वजह से वेबकैम से कैप्चर की गई इमेज कभी-कभी खराब या पूरी तरह से हरे रंग की दिखती थी.
- उस समस्या को ठीक किया गया है जिसकी वजह से, एम्युलेटर के हैंग न होने पर भी यह मैसेज दिखता था: "एम्युलेटर: गड़बड़ी: हैंग हो रहे थ्रेड 'Qt इवेंट लूप' का पता चला. 15,000 मिलीसेकंड तक कोई जवाब नहीं मिला".
अगर आपको अब भी हैंग होने या अन्य गड़बड़ियों का सामना करना पड़ रहा है, तो कृपया समस्या की शिकायत करें.
27.1.7 (फ़रवरी 2018)
बिना फ़्रेम वाली एम्युलेटर विंडो:
डिफ़ॉल्ट रूप से, डिवाइस की स्किन फ़ाइलों वाले एम्युलेटर अब विंडो फ़्रेम के बिना दिखते हैं. आस-पास की विंडो फ़्रेम दिखाने के लिए, एक्सटेंडेड कंट्रोल विंडो के सेटिंग पैनल में जाकर, डिवाइस के आस-पास विंडो फ़्रेम दिखाएं को चालू करें.
AVD स्नैपशॉट के साथ काम करने की प्रोसेस को ज़्यादा असरदार बनाने के लिए, Quick Boot में ये सुधार किए गए हैं:
- ज़्यादा कंट्रोल डायलॉग बॉक्स के सेटिंग पैनल में मौजूद, अभी सेव करें बटन का इस्तेमाल करके, किसी भी समय एवीडी स्नैपशॉट को सेव किया जा सकता है.
- एम्युलेटर, कई मामलों में स्नैपशॉट को सेव करने में लगने वाले समय को कम करता है. इसके लिए, वह मौजूदा स्थिति और पहले से सेव किए गए स्नैपशॉट के बीच के अंतर को ही सेव करता है.
ज़्यादा जानकारी के लिए, Quick Boot का दस्तावेज़ देखें.
एम्युलेटर को 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)
नई Quick Boot सुविधा, आपके एवीडी इंस्टेंस के स्नैपशॉट के आधार पर, एम्युलेटर के शुरू होने का समय तेज़ करती है.
सभी एवीडी के लिए, Quick Boot की सुविधा डिफ़ॉल्ट रूप से चालू होती है. हालांकि, पहली बार एवीडी को चालू करने पर, उसे कोल्ड बूट करना पड़ता है (जैसे कि किसी डिवाइस को चालू करना). इसके बाद, हर बार एवीडी को चालू करने पर, वह तेज़ी से चालू होता है और सिस्टम को उसी स्थिति में वापस लाया जाता है जिस स्थिति में आपने एम्युलेटर को बंद किया था (जैसे कि किसी डिवाइस को जगाना).
अगर आपको यह कंट्रोल करना है कि एम्युलेटर किसी स्नैपशॉट को कब सेव करे, तो एम्युलेटर की एक्सटेंडेड कंट्रोल विंडो खोलें और सेटिंग पर क्लिक करें. यहां, Save quick boot state on exit के लिए, इनमें से कोई एक सेटिंग चुनी जा सकती है:
- हां: एम्युलेटर को बंद करने पर, क्विक बूट स्नैपशॉट को हमेशा सेव करें. यह डिफ़ॉल्ट विकल्प है.
- नहीं: क्विक बूट स्नैपशॉट को कभी सेव न करें; हमेशा कोल्ड बूट करें.
- पूछें: एम्युलेटर को बंद करते समय, आपसे पूछा जाएगा कि क्विक बूट स्नैपशॉट को सेव करना है या नहीं.
यह सेटिंग सिर्फ़ मौजूदा एवीडी पर लागू होती है.
ज़्यादा जानकारी के लिए, क्विक बूट का दस्तावेज़ देखें.
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 अब उपलब्ध है (एसडीके मैनेजर देखें). इसमें ये अपडेट शामिल हैं:
- मेमोरी के इस्तेमाल को बेहतर बनाया गया है. HAXM की ओर से पिन किए गए मेमोरी के पीक वर्किंग सेट का साइज़, अब एवीडी की रैम के साइज़ के बराबर नहीं है. इसके बजाय, मेमोरी को ज़रूरत के हिसाब से पेज किया जाता है. इससे एम्युलेटर को कम रैम वाली मशीनों पर ज़्यादा भरोसेमंद तरीके से चलाने में मदद मिलेगी.
- HAXM 6.2.0 वाला एम्युलेटर, अब macOS पर तेज़ी से बूट हो सकता है. इससे, शुरू होने में लगने वाला लंबा समय बचता है.
- जीपीयू कॉन्फ़िगरेशन में सुधार
- मेहमान की ओर से सॉफ़्टवेयर रेंडरिंग करते समय, बूट होने पर काली स्क्रीन दिखने की समस्याएं ठीक की गईं. इसके लिए, Swiftshader की मदद से होस्ट की ओर से सॉफ़्टवेयर रेंडरिंग का इस्तेमाल किया गया. Google API के साथ एपीआई लेवल 19 से 25 के लिए, सिस्टम इमेज के नए वर्शन में गेस्ट-साइड रेंडरिंग की सुविधा काम करनी चाहिए.
- उस समस्या को ठीक किया गया है जिसमें एम्युलेटर को सॉफ़्टवेयर रेंडरर पर स्विच कर दिया गया था. ऐसा पुराने Intel जीपीयू की मौजूदगी का पता चलने की वजह से हुआ था. हालांकि, एम्युलेटर असल में एक डिस्क्रीट जीपीयू पर चल रहा था. किन जीपीयू को 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) का इस्तेमाल करें.
- उस समस्या को ठीक किया गया है जिसकी वजह से एम्युलेटर शुरू नहीं हो पाता था (OpenGL एम्युलेशन शुरू नहीं हो पाता था). ऐसा तब होता था, जब एवीडी को
hw.gpu.mode=hostके साथ कॉन्फ़िगर किया गया हो और एम्युलेटर को रिमोट डेस्कटॉप क्लाइंट में लॉन्च किया गया हो. - "OpenGL ES एपीआई लेवल (रीस्टार्ट करना ज़रूरी है)" सेटिंग को साफ़ तौर पर बताया गया है. साथ ही, OpenGL ES 3 से OpenGL ES 2 पर डाउनग्रेड करने का विकल्प जोड़ा गया है. ऐसा तब किया जा सकता है, जब आपको समस्याएं आ रही हों या आपको OpenGL ES के निचले एपीआई लेवल पर टेस्ट करना हो.
- Mesa रेंडरर अब काम नहीं करता;
hw.gpu.mode=mesaअब होस्ट पर Swiftshader का इस्तेमाल करने के लिए, अपने-आप स्विच हो जाएगा.
- macOS के लिए किए गए सुधार:
- एम्युलेटर अब macOS 10.13 High Sierra के साथ पूरी तरह से काम करता है. इसके लिए, Hypervisor.Framework या HAXM 6.2.0 का इस्तेमाल किया जा सकता है.
- परफ़ॉर्मेंस और macOS के साथ काम करने की क्षमता को बेहतर बनाने के लिए, 32-बिट x86 इमेज के लिए macOS पर Hypervisor.framework अब डिफ़ॉल्ट रूप से चालू है. अगर आपको खास तौर पर इससे जुड़ी समस्याएं आ रही हैं, तो कृपया गड़बड़ी की रिपोर्ट सबमिट करें और
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 की एचटीटीपी प्रॉक्सी सेटिंग का इस्तेमाल करता है. हालांकि, इस स्क्रीन पर जाकर प्रॉक्सी कॉन्फ़िगरेशन को मैन्युअल तरीके से तय किया जा सकता है.
मेहमान मोड वाले जीपीयू के लिए वीएनसी की सुविधा जोड़ी गई है, ताकि एम्युलेटर को कहीं से भी देखा और कंट्रोल किया जा सके. उदाहरण के लिए, एम्युलेटर को लॉन्च किया जा सकता है और वीएनसी को पोर्ट 5901 को सुनने की अनुमति दी जा सकती है. इसके लिए, यह तरीका अपनाएं:
- एक्ज़ीक्यूट करें:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1 पोर्ट 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 डीएनएस सूची में, होस्ट के पसंदीदा डीएनएस को जोड़ा गया. ऐसा तब किया गया, जब होस्ट पर मौजूद कई वर्चुअल नेटवर्क इंटरफ़ेस, कई ऐसे डीएनएस पते उपलब्ध कराते हैं जो एम्युलेटर के लिए काम नहीं करते.
सर्वर फ़्लैग की मदद से, macOS 10.10 और इसके बाद के वर्शन पर 32-बिट x86 इमेज के लिए, macOS Hypervisor.Framework की सुविधा जोड़ी गई है. इससे बूट टाइम और परफ़ॉर्मेंस बेहतर होगी.
- अगर आपको इससे जुड़ी समस्याएं आ रही हैं, तो
~/.android/advancedFeatures.iniमेंHVF = offलाइन जोड़ें.
- अगर आपको इससे जुड़ी समस्याएं आ रही हैं, तो
OpenGL ES 3.x अब सिस्टम इमेज और OpenGL ES 3 के साथ काम करने वाले होस्ट जीपीयू के लिए, डिफ़ॉल्ट रूप से चालू है. फ़िलहाल, सिर्फ़ Android O (एपीआई लेवल 26) और Windows/Linux होस्ट पर OpenGL ES 3 काम करता है.
- अगर आपको OpenGL ES 3 का इस्तेमाल करने में समस्याएं आ रही हैं, तो
~/.android/advancedFeatures.iniमेंGLESDynamicVersion = offलाइन जोड़ें.
- अगर आपको OpenGL ES 3 का इस्तेमाल करने में समस्याएं आ रही हैं, तो
एम्युलेटर अब फ़ाइनल डिसप्ले इमेज पोस्टिंग को छोड़कर, सभी रेंडरिंग के लिए ऑफ़स्क्रीन OpenGL FBOs का इस्तेमाल करता है. इससे सभी प्लैटफ़ॉर्म पर, कलर कंसिस्टेंसी से जुड़ी समस्याओं को हल करने में मदद मिलेगी.
एम्युलेटर के अचानक धीमे होने की समस्याओं का डेटा इकट्ठा करने के बाद, हमें पता चला है कि यह समस्या Intel OpenGL के पुराने ड्राइवर और Windows के अपडेट के बीच होने वाले इंटरैक्शन की वजह से हो सकती है. इसलिए, Intel HD 4000, 3000, 2000 (और इससे जुड़े जीपीयू) का इस्तेमाल करने वाले उपयोगकर्ताओं के लिए, रेंडरिंग अब डिफ़ॉल्ट रूप से D3D रेंडरर (ANGLE) या Swiftshader (सॉफ़्टवेयर रेंडरर) पर सेट है.
26.0.0 (मार्च 2017)
यह रिलीज़, एपीआई लेवल 26 के साथ काम करती है. इसमें परफ़ॉर्मेंस को बेहतर बनाने और गड़बड़ियों को ठीक करने के लिए कई बदलाव भी किए गए हैं.
Minor revision 26.0.3 (मई 2017)
- यह ऑनलाइन अपडेट किए जा सकने वाले फ़ीचर फ़्लैग जोड़ता है, ताकि हार्डवेयर कॉन्फ़िगरेशन से जुड़ी समस्याओं को तुरंत हल किया जा सके. इससे Google को सर्वर-साइड फ़्लैग अपडेट करके, ऐसी गड़बड़ियों को ठीक करने और सुविधाएं रोल आउट करने में मदद मिलती है जो उपयोगकर्ता के कॉन्फ़िगरेशन पर निर्भर करती हैं. अगर आपको किसी खास हार्डवेयर में समस्याएं दिखती हैं, तो कृपया गड़बड़ी की शिकायत करें, ताकि हम समस्या की जांच कर सकें.
- Android Wear एपीआई लेवल 25 सिस्टम इमेज के लिए, रोटरी इनपुट की नई सुविधा. किसी Wear डिवाइस पर रोटरी इनपुट डायल को एम्युलेट करने के लिए, एक्सटेंडेड विंडो पर रोटरी इनपुट टैब पर क्लिक करें.
- अब क्रैश रिपोर्टिंग डायलॉग का साइज़ बदला जा सकता है. साथ ही, यह बिना किसी इनपुट के क्रैश रिपोर्ट कब भेजनी हैं को पूछें पर रीसेट नहीं करता.
- 32-बिट वाले एम्युलेटर के लिए, अब यह ज़रूरी है कि एवीडी रैम का साइज़ 512 एमबी या इससे कम हो. इससे एम्युलेटर को 2 जीबी वर्चुअल ऐड्रेस स्पेस में जगह की कमी नहीं होगी.
- एम्युलेटर इमेज में ऐब्सलूट पाथ के लिए सहायता जोड़ी गई.
- यह Google Play Store की इमेज के लिए, एक्सटेंडेड विंडो में एक नया टैब जोड़ता है. इसमें Play सेवाएं का वर्शन और Play सेवाएं के अपडेट देखने के लिए एक बटन दिखता है.
- एम्युलेटर की सेटिंग वाले पेज पर, OpenGL रेंडरर चुनने के लिए एक ड्रॉपडाउन जोड़ता है. अगर आपको Windows मशीन पर OpenGL ड्राइवर से जुड़ी समस्याएं आ रही हैं, तो ANGLE (D3D11) या ANGLE (D3D9) विकल्पों का इस्तेमाल करके देखें. इसके लिए, आपको मशीन को रीस्टार्ट करना होगा. अगर आपको Windows के अलावा किसी अन्य मशीन पर OpenGL ड्राइवर से जुड़ी समस्याएं आ रही हैं, तो Swiftshader सॉफ़्टवेयर रेंडरर का इस्तेमाल करके देखें. इसके लिए, आपको मशीन को रीस्टार्ट करना होगा.
- एम्युलेटर को
exitऔरminimize, दोनों निर्देश मिलने पर, ऐप्लिकेशन बंद होने के दौरान कभी-कभी क्रैश होने की समस्या को ठीक किया गया. - Mac मशीन पर डिसप्ले बदलते समय, स्केलिंग से जुड़ी समस्या को ठीक किया गया. (समस्या 268296)
- उस समस्या को ठीक किया गया है जिसमें होस्ट कंप्यूटर को स्लीप मोड से चालू करने के बाद या एम्युलेटर के लंबे समय तक चलने पर, एम्युलेटर सीपीयू का 300% हिस्सा इस्तेमाल करता है और उसे होल्ड करके रखता है.
- एम्युलेटर के बंद होने पर क्रैश होने की समस्या को ठीक किया गया है.
HAXM v6.1.1 के साथ अपडेट (मार्च 2017)
ध्यान दें: Mac इस्तेमाल करने वाले लोगों के लिए, 30 मार्च से एसडीके मैनेजर के ज़रिए HAXM v6.1.1 उपलब्ध है. Windows इस्तेमाल करने वाले लोगों के लिए, यह जल्द ही उपलब्ध होगा.
Android Emulator का वर्शन 26.0.0, HAXM v6.1.1 के साथ काम करता है. इसमें ये अपडेट शामिल हैं:
- इससे परफ़ॉर्मेंस मॉनिटरिंग यूनिट (पीएमयू) एम्युलेशन की सुविधा चालू हो जाती है. (समस्या 223377)
- Mac पर VirtualBox और Docker के साथ काम करने से जुड़ी समस्याएं ठीक की गईं. (समस्या 197915)
- इंस्टॉलर के Windows पर Intel VT-x का पता न लगा पाने पर, इंस्टॉल करने से जुड़ी गड़बड़ी का मैसेज दिखता है. आम तौर पर, ऐसा Hyper-V के चालू होने की वजह से होता है. इस मैसेज में बदलाव किया गया है.
- Hyper-V पर आधारित Windows वीएम में, Android Emulator को तेज़ी से चलाने की सुविधा जोड़ी गई है. इस अपडेट के लिए, यह ज़रूरी है कि होस्ट Hyper-V इंस्टेंस (Windows वीएम/गेस्ट को मैनेज करने वाला इंस्टेंस), नेस्टेड वर्चुअलाइज़ेशन की सुविधा वाले Hyper-V के नए वर्शन का इस्तेमाल करे. गेस्ट Hyper-V इंस्टेंस (Windows वीएम) में, Hyper-V को बंद करना होगा.
डिपेंडेंसी
- Android SDK प्लैटफ़ॉर्म-टूल का वर्शन 25.0.4 या इसके बाद का वर्शन.
- Android SDK के टूल का वर्शन 26.0.0 या इसके बाद का वर्शन.
नई सुविधाएं और गड़बड़ियां ठीक करना
- एपीआई लेवल 26 के साथ काम करता है.
- यह पूरी तरह से GLES 2.0 के मुताबिक हो. अगर होस्ट जीपीयू में डेस्कटॉप के साथ काम करने वाले OpenGL ड्राइवर मौजूद हैं, तो एम्युलेटर अब Android CTS dEQP-GLES2
mustpassसूची को 100% पास कर लेता है. इसे एपीआई लेवल 24 x86 इमेज (रिविज़न 11 और इसके बाद के वर्शन) के लिए रिलीज़ किया गया है. जल्द ही, इसे सभी सिस्टम इमेज के लिए शामिल किया जाएगा. - वीडियो चलाने की परफ़ॉर्मेंस को बेहतर बनाया गया है. एम्युलेटर अब सभी वीडियो कलर बफ़र को होस्ट/गेस्ट की शेयर की गई मेमोरी में सेव करता है. साथ ही, जीपीयू में YUV से आरजीबी में ज़रूरी कन्वर्ज़न करता है. अब ज़्यादातर सिस्टम में 1080p30 का इस्तेमाल किया जा सकता है. इसे एपीआई लेवल 24 x86 इमेज (रिविज़न 11 और इसके बाद के वर्शन) के लिए रिलीज़ किया गया है. जल्द ही, इसे सभी सिस्टम इमेज के लिए शामिल किया जाएगा.
- एम्युलेटर अब बंद होने पर,
adb devicesकी सूची से खुद को सही तरीके से अनरजिस्टर कर देता है. साथ ही, Linux मशीनों पर खुले टीसीपी पोर्ट बंद कर देता है. - एडीबी कनेक्शन अब ज़्यादा भरोसेमंद हैं. चल रहे एम्युलेटर का पता तेज़ी से लगाया जाता है. साथ ही, यह अब “ऑफ़लाइन” या “अनुमति नहीं है” स्टेटस में नहीं जाता.
25.3.0 (मार्च 2017)
इस रिलीज़ के बाद, Android Emulator को एसडीके टूल से अलग रिलीज़ किया जाएगा. इस रिलीज़ में, परफ़ॉर्मेंस को बेहतर बनाने के लिए कई बदलाव किए गए हैं. साथ ही, नई सुविधाएं जोड़ी गई हैं और गड़बड़ियां ठीक की गई हैं.
Minor revision 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 के बीच कम्यूनिकेशन का मुख्य चैनल है. अब यह पहले से ज़्यादा तेज़ है, इसमें इंतज़ार का समय कम है, और यह मल्टी-थ्रेडेड परफ़ॉर्मेंस को बेहतर बनाता है. इससे एम्युलेटर की परफ़ॉर्मेंस में कई सुधार होते हैं. जैसे:
- एडीबी पुश/पुल की स्पीड को बेहतर बनाया गया.
- 3D ऐक्सेलरेशन की बेहतर सुविधा.
- एम्युलेटर की परफ़ॉर्मेंस को बेहतर बनाया गया है.
- बेहतर ग्राफ़िक्स परफ़ॉर्मेंस.
- एम्युलेटर अब जीपीयू-साइड बफ़र (glBindBuffers / glBufferData) का इस्तेमाल करता है. ऐसा तब होता है, जब गेस्ट ओएस इनका अनुरोध करता है. इससे कुछ ऐप्लिकेशन में सीपीयू ओवरहेड कम हो जाता है.
- ऑडियो की बेहतर सुविधा.
- तेज़ डिस्क I/O: एम्युलेटर अब डिस्क I/O को डिस्पैच करने के लिए अलग-अलग थ्रेड का इस्तेमाल करता है. इससे इंतज़ार का समय कम होता है और थ्रूपुट बेहतर होता है. जैसे, क्रम में चलने वाले I/O की स्पीड ~1.5 गुना और रैंडम ऐक्सेस I/O की स्पीड ~5 गुना होती है. इससे डिस्क पर फ़्लश की संख्या भी कम हो जाती है. इस वजह से, फ़िज़िकल डिवाइस पर लोड काफ़ी कम हो जाता है.
- एम्युलेटर अब Windows मशीनों पर डिस्क बूट के लिए, स्पार्स फ़ाइलों का इस्तेमाल करता है. इससे, पहले बूट और "डेटा वाइप" बूट, दोनों की स्पीड बढ़ जाती है. कोई एवीडी बनाते या रीसेट करते समय, एम्युलेटर अब डिस्क में दो जीबी या उससे ज़्यादा डेटा के बजाय, 100 से 200 एमबी डेटा सेव करता है.
- जीयूआई में कई सुधार किए गए हैं:
- एम्युलेटर अब Qt 5.7.0 का इस्तेमाल करता है. इसमें गड़बड़ियां ठीक की गई हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है.
- यूज़र इंटरफ़ेस (यूआई) को शुरू करने पर, अब सभी एम्युलेटर को लोड करने की कोशिश नहीं की जाती है Qt प्लग इन के तौर पर एक्ज़ीक्यूटेबल फ़ाइलें, इसलिए यह काफ़ी कम है, खास तौर पर एचडीडी पर.
- यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्शन अब ज़्यादा तेज़ और आसान हो गए हैं. इनमें रोटेशन, विंडो का साइज़ बदलना, और एक्सटेंडेड कंट्रोल विंडो को लोड करना और बंद करना शामिल है.
OpenXR™ और OpenXR लोगो, The Khronos Group Inc. के मालिकाना हक वाले ट्रेडमार्क हैं. इन्हें चीन, यूरोपियन यूनियन, जापान, और यूनाइटेड किंगडम में ट्रेडमार्क के तौर पर रजिस्टर किया गया है.