Android Emulator, Android Studio के साथ शामिल होता है.
25.3.0 से पहले के वर्शन वाले एम्युलेटर, Android SDK के टूल के साथ डिस्ट्रिब्यूट किए जाते थे.
यह पक्का करने के लिए कि आपके पास नया वर्शन हो, अपडेट के लिए एसडीके मैनेजर देखें.
Android Emulator के पिछले वर्शन डाउनलोड करने के लिए, Emulator के डाउनलोड संग्रह देखें.
Emulator के 25.3.0 से पहले के वर्शन के रिलीज़ नोट देखने के लिए, Android SDK Tools के रिलीज़ नोट देखें.
Android Emulator के सबसे नए वर्शन में ठीक की गई समस्याओं के बारे में जानने के लिए, बंद की गई समस्याएं देखें.
आम तौर पर होने वाली समस्याओं और उन्हें हल करने के तरीके जानने के लिए, कृपया एम्युलेटर से जुड़ी समस्याएं हल करना लेख पढ़ें.
37.2.11 स्टेबल (29 सितंबर, 2026)
[बग ठीक किया गया]समस्या #537802959 macOS (Apple Silicon): gRPC streamScreenshot के साथ ImageTransport MMAP का इस्तेमाल करने पर, एम्युलेटर इंजन क्रैश हो जाता है या फ़्रेम कभी नहीं लिखे जाते
[बग ठीक किया गया]समस्या #507078580 एम्युलेटर, macOS को स्लीप मोड में जाने से रोकता है
[बग ठीक किया गया]समस्या #506475581 ऑडियो इंटरफ़ेस का इस्तेमाल करते समय, macOS पर ऑडियो में होने वाली गड़बड़ी और स्टार्टअप में होने वाली चटकने की आवाज़ की समस्या ठीक की गई. ऐसा >2 चैनलों (लूपबैक, मल्टी-आउटपुट) के साथ किया गया
37.1.11 स्टेबल (30 जुलाई, 2026)
Android Emulator hypervisor driver (AEHD), 31 दिसंबर, 2026 से काम नहीं करेगा. इस बदलाव में मदद करने के लिए, Android Studio अब Windows का इस्तेमाल करने वाले लोगों को AEHD से Windows Hypervisor Platform (WHPX) पर स्विच करने में मदद करता है. WHPX का इस्तेमाल करके वीएम की स्पीड बढ़ाने की सुविधा को कॉन्फ़िगर करने के बारे में जानकारी के लिए, WHPX का इस्तेमाल करके वीएम की स्पीड बढ़ाने की सुविधा को कॉन्फ़िगर करना लेख पढ़ें.

Pixel 10a AVD जोड़ा गया
API 37 की सिस्टम इमेज चलाने के लिए ज़रूरी नए Vulkan एक्सटेंशन के लिए सहायता जोड़ी गई
[गड़बड़ी ठीक की गई]समस्या #324465986 स्टोरेज खाली न होने पर, स्नैपशॉट लेते समय कोई गड़बड़ी नहीं होती
[बग ठीक किया गया]समस्या #526671872 config.ini में, AVD RAM और VM Heap size के कॉन्फ़िगरेशन के लिए यूनिट सफ़िक्स (जैसे, "6G", "32M") का इस्तेमाल किया जा सकता है
[बग ठीक किया गया]समस्या #325814592 macOS 14 में यह समस्या आई थी. इसमें कैमरा चालू करने के बाद, इम्यूलेटर फ़्रीज़ हो जाता था और बहुत धीरे-धीरे काम करता था
36.6.11 स्टेबल (2 जून, 2026)
API 37 से, एवीडी की वर्चुअल मशीन (वीएम) के लिए इस्तेमाल की जाने वाली कम से कम मेमोरी (रैम) को बढ़ाकर 4 जीबी कर दिया गया है.
Android 17 (एपीआई 37) के लिए ज़्यादा मेमोरी की ज़रूरत होती है. इसलिए, फ़ोन के Android वर्चुअल डिवाइसों (एवीडी) के लिए अब कम से कम 4 जीबी रैम होना ज़रूरी है. अगर आपके एवीडी को कम मेमोरी के साथ कॉन्फ़िगर किया गया है, तो Emulator, सेटिंग को अपने-आप बदल देगा, ताकि कम से कम 4 जीबी मेमोरी ऐलोकेट की जा सके. इससे रनटाइम से जुड़ी संभावित समस्याओं को रोका जा सकेगा.
कॉन्फ़िगर किए जा सकने वाले वर्चुअल सीन बैकग्राउंड के लिए, Emulator में "environment" कैमरा मोड जोड़ा गया. इन सीन को AVD की environment.ini फ़ाइल में तय किया जाता है. साथ ही, इन्हें रनटाइम में डाइनैमिक तरीके से फिर से लोड किया जा सकता है.
उस गड़बड़ी को ठीक किया गया है जिसमें स्नैपशॉट मिटाने के बाद, स्टैंडअलोन एम्युलेटर में स्नैपशॉट की झलक नहीं हटती थी.
[बग ठीक किया गया]समस्या #506475581 macOS पर, दो से ज़्यादा चैनलों (लूपबैक, मल्टी-आउटपुट) वाले ऑडियो इंटरफ़ेस का इस्तेमाल करने पर, एम्युलेटर का ऑडियो बहुत ज़्यादा खराब हो जाता है
[बग ठीक किया गया]समस्या #516455370 macOS 26.3 पर, एम्युलेटर बंद करते समय मेमोरी लीक होने की समस्या को ठीक किया गया है. यह समस्या, Hypervisor.framework API के इस्तेमाल किए गए संसाधनों को हटाने से जुड़ी थी.
36.5.11 पैच (23 अप्रैल, 2026)
- [बग ठीक किया गया]समस्या #492228020 Intel GPU पर हार्डवेयर/ऑटो ग्राफ़िक्स रेंडरिंग का इस्तेमाल करने पर, Android Emulator में काली स्क्रीन दिखती है
36.5.10 स्टेबल (2 अप्रैल, 2026)
इस अपडेट में, ये सुविधाएं जोड़ी गई हैं और गड़बड़ियां ठीक की गई हैं:
Android Emulator की मदद से, मल्टी-डिवाइस इंटरैक्शन की जांच करना
Android Emulator में अब एक नया नेटवर्क स्टैक शामिल किया गया है. इससे मल्टी-डिवाइस पर टेस्टिंग को बेहतर बनाया जा सकता है. साथ ही, एक ही होस्ट पर कई एवीडी इंस्टेंस को कनेक्ट करने के लिए, मैन्युअल पोर्ट फ़ॉरवर्डिंग की ज़रूरत नहीं पड़ती. अब एवीडी, एक-दूसरे को अपने-आप ढूंढ सकते हैं और उनके साथ कम्यूनिकेट कर सकते हैं. ऐसा तब होता है, जब वे एक ही वर्चुअल नेटवर्क पर हों. इससे, पीयर-टू-पीयर इंटरैक्शन की आसानी से टेस्टिंग की जा सकती है. इसके लिए, Wi-Fi Direct और नेटवर्क सेवा की खोज जैसे प्रोटोकॉल का इस्तेमाल किया जाता है.
इस नए नेटवर्किंग स्टैक से डेवलपर को कई अहम फ़ायदे मिलते हैं:
- ज़ीरो-कॉन्फ़िगरेशन: अब आपको मैन्युअल तरीके से पोर्ट फ़ॉरवर्ड करने या adb कमांड स्क्रिप्ट करने की ज़रूरत नहीं है.
- पीयर-टू-पीयर कनेक्शन की सुविधा: Wi-Fi Direct और Network Service Discovery जैसे ज़रूरी प्रोटोकॉल, एम्युलेटर के बीच बिना किसी रुकावट के काम करते हैं.
- बेहतर स्थिरता: इससे लंबे समय से आ रही स्थिरता से जुड़ी समस्याएं हल होती हैं. जैसे, लेगसी स्टैक में डेटा के मिटने (समस्या #150758736) और कनेक्शन के बंद होने (समस्या #449817856) की समस्याएं.
शुरू करने के लिए, Android Studio के एसडीके मैनेजर में जाकर, Android Emulator को नए वर्शन पर अपडेट करें. ज़्यादा जानकारी के लिए, दस्तावेज़ यहां है.
अन्य सुविधाएं और गड़बड़ियां ठीक की गईं
नए Pixel AVD जोड़े गए हैं. इनमें Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, और Pixel 10 Pro Fold शामिल हैं
वेबकैम को उपयोगकर्ता के हिसाब से नाम दें. साथ ही, Linux पर उस समस्या को ठीक करें जहां Emulator, कनेक्ट किए गए सभी वेबकैम का पता नहीं लगा सका और उन्हें सूची में शामिल नहीं कर सका
[बग ठीक किया गया]समस्या #333628462 macOS पर crashpad_handler प्रोसेस, सीपीयू का बहुत ज़्यादा इस्तेमाल करती है
36.4.10 पैच (9 मार्च, 2026)
- [बग ठीक किया गया]समस्या #489369080 Panda 2 पर अपडेट करने के बाद, टीवी एम्युलेटर पर कर्सर घुमाने पर क्रैश होने की समस्या ठीक की गई
36.4.9 स्टेबल (10 फ़रवरी, 2026)
यूज़र इंटरफ़ेस में GPU को आसानी से चुनने के लिए, Android Emulator के एक्सटेंडेड कंट्रोल में अब हार्डवेयर और सॉफ़्टवेयर के खास विकल्प शामिल हैं. कमांड लाइन का इस्तेमाल करने वाले लोग, अब '-gpu software' विकल्प का इस्तेमाल करके, अपने सिस्टम के लिए सबसे अच्छे उपलब्ध GLES और Vulkan सॉफ़्टवेयर रेंडरिंग बैकएंड चुन सकते हैं
सभी प्लैटफ़ॉर्म पर Vulkan के साथ बेहतर तरीके से काम करने के लिए, Lavapipe को डिफ़ॉल्ट ग्राफ़िक्स सॉफ़्टवेयर रेंडरर के तौर पर चालू किया गया
Vulkan में किए गए सुधार:
- एम्युलेटर के साथ बंडल किए गए Vulkan लोडर को अपडेट किया गया
- Vulkan बैकएंड पर, इस्तेमाल के कई अमान्य उदाहरणों को ठीक किया गया
- नई सिस्टम इमेज पर, ग्राफ़िक्स क्यू इम्यूलेशन के साथ systemui पर SkiaVk का इस्तेमाल करने की सुविधा जोड़ी गई
- होस्ट पर GL के इस्तेमाल को बंद करने के लिए, Vulkan कंपोज़िशन के लिए सहायता जोड़ी गई. यह सुविधा, XR इमेज के लिए डिफ़ॉल्ट रूप से चालू होती है. इसे '-feature VulkanNativeSwapchain' कमांड लाइन विकल्प के साथ चालू किया जा सकता है.
[बग ठीक किया गया]समस्या #471008659 ऐक्टिविटी खोलने/बंद करने पर, एम्युलेटर के होस्ट साइड पर मेमोरी लीक होने की समस्या
36.4.3 Canary (8 दिसंबर, 2025)
एआई ग्लास का नया एम्युलेटर
हमने एआई ग्लास के लिए, एक्सपेरिमेंट के तौर पर एक नया एमुलेटर जोड़ा है. इसका इस्तेमाल, Jetpack XR SDK for AI Glasses की मदद से बनाए गए ऐप्लिकेशन को डेवलप और टेस्ट करने के लिए किया जा सकता है. फ़ोन के एम्युलेटर के साथ-साथ, चश्मे के एम्युलेटर को भी चलाया जा सकता है. इन दोनों को एक-दूसरे से जोड़ा जा सकता है. साथ ही, चश्मे पर की जाने वाली सामान्य कार्रवाइयां की जा सकती हैं. एआई चश्मे के इम्यूलेटर को इंस्टॉल करने और डेवलपमेंट एनवायरमेंट सेट अप करने के बारे में जानकारी पाने के लिए, वर्चुअल एआई चश्मे के डिवाइस बनाना लेख पढ़ें.
एआई ग्लास का एम्युलेटर, एक्सपेरिमेंट के तौर पर उपलब्ध एक टूल है. आपको कुछ समस्याएं आ सकती हैं. खास तौर पर, फ़ोन एम्युलेटर और टचपैड यूज़र इंटरफ़ेस (यूआई) के साथ स्मार्ट ग्लास को फिर से पेयर करने में.
नया XR Glasses Emulator
हमने ओएसटी (ऑप्टिकल सी थ्रू) एक्सआर ग्लास के लिए, पहले लॉन्च किए गए Android XR एम्युलेटर को अपडेट किया है. एक्सआर के स्मार्ट ग्लास के एम्युलेटर का इस्तेमाल करके, एक्सआर के स्मार्ट ग्लास डिवाइस के अनुमानित FOV और रिज़ॉल्यूशन के साथ अपने ऐप्लिकेशन की झलक देखी जा सकती है. एक्सआर के स्मार्ट ग्लास का एम्युलेटर इंस्टॉल करने और डेवलपमेंट एनवायरमेंट सेट अप करने के बारे में जानकारी के लिए, वर्चुअल एक्सआर स्मार्ट ग्लास डिवाइस बनाना लेख पढ़ें.
एक्सआर स्मार्ट ग्लास और एआई स्मार्ट ग्लास के एम्युलेटर, एक्सपेरिमेंट के तौर पर उपलब्ध टूल हैं. आपको कुछ समस्याएं आ सकती हैं. खास तौर पर, Windows के कुछ जीपीयू और ड्राइवर कॉन्फ़िगरेशन पर (Windows के लिए सिस्टम की ज़रूरी शर्तें देखें).
आम समस्याएं
आपके सुझाव/राय या शिकायत से, हमें इस सुविधा को बेहतर बनाने में मदद मिलेगी. साथ ही, इससे हमें आने वाले समय में सुविधाओं को प्राथमिकता देने के बारे में फ़ैसले लेने में मदद मिलेगी. Android Studio या Android Emulator से जुड़ी गड़बड़ियों की रिपोर्ट करने के बारे में जानकारी पाने के लिए, गड़बड़ी की रिपोर्ट करना लेख पढ़ें.
36.3.10 स्टेबल (4 दिसंबर, 2025)
[बग ठीक किया गया]समस्या #452843321 Android API 34 और उसके बाद के वर्शन पर, एम्युलेटर में बड़ी फ़ाइलें पुश करने पर परफ़ॉर्मेंस खराब हो जाती है.
जीपीयू टेक्सचर मोड में वीडियो कोडेक चलने पर, Vulkan कंपोज़िशन क्रैश होने की समस्या ठीक की गई.
-debug-events के साथ चलाने पर, टचस्क्रीन इवेंट पर Emulator के क्रैश होने की समस्या ठीक की गई.
36.2.12 पैच (13 अक्टूबर, 2025)
- सॉफ़्टवेयर रेंडरिंग मोड में Vulkan ऐप्लिकेशन लॉन्च करते समय, Windows पर क्रैश होने की समस्या को ठीक किया गया है
36.2.11 स्टेबल वर्शन (9 अक्टूबर, 2025)
HAXM की सुविधा को Emulator से हटा दिया गया है. HAXM का इस्तेमाल करके एवीडी बनाने की कोशिश करने पर, आपको एक बैनर दिखेगा. इसमें हाइपरवाइज़र मौजूद न होने की जानकारी दी गई होगी. साथ ही, AEHD इंस्टॉल करने के लिए कार्रवाई करने का लिंक भी दिया गया होगा.

HAXM को अनइंस्टॉल करने के बारे में जानने के लिए, HAXM को अनइंस्टॉल करना लेख पढ़ें.
ड्राइवर क्रैश होने से रोकने के लिए, यह पक्का किया गया है कि Intel GPU, OpenGL ES 3.0 का इस्तेमाल करे
[बग ठीक किया गया]समस्या #340322888 डिवाइस में खाली जगह न होने पर, AVD शुरू नहीं किया जा सकता
[बग ठीक किया गया]समस्या #150758736 एम्युलेटर में टीसीपी कनेक्शन पर, कभी-कभी एक बाइट का डेटा मिट जाता है
[बग ठीक किया गया]समस्या #434774381: Windows 11 पर WHPX का इस्तेमाल करते समय, i7-11850H पर API 36 और 35 (शायद इससे ज़्यादा) के लिए क्विक बूट के बाद गेस्ट कर्नल क्रैश हो गया
36.1.9 स्टेबल (31 जुलाई, 2025)
[बग ठीक किया गया]समस्या #419157428 उपयोगकर्ता नाम या AVD पाथ में UTF-8 वर्णों की वजह से, एम्युलेटर शुरू नहीं हो सकता
[बग ठीक किया गया]समस्या #423670833 btrfs फ़ाइल सिस्टम पर Android Emulator क्रैश हो जाता है
ध्यान दें: अगर आपको X11 पर एम्युलेटर लॉन्च करने में समस्याएं आ रही हैं, तो सॉफ़्टवेयर रेंडरिंग का इस्तेमाल करें. सॉफ़्टवेयर रेंडरिंग को कॉन्फ़िगर करने का तरीका जानने के लिए, ग्राफ़िक एक्सेलरेशन कॉन्फ़िगर करना लेख पढ़ें.
35.6.11 स्टेबल वर्शन (24 जून, 2025)
XR Emulation के लिए, Windows और Linux पर AMD और Nvidia GPU के साथ काम करने की सुविधा को बेहतर बनाया गया है
XR AVD को, Android Studio की चालू विंडो में एम्बेड करके चलाया जा सकता है
Windows पर क्रैश रिपोर्ट की ज़्यादा जानकारी उपलब्ध कराई गई है, ताकि Emulator का पूरा डंप चालू किया जा सके
[बग ठीक किया गया]समस्या #410485043 Android Emulator XR डिवाइस, Vulkan की गड़बड़ी की वजह से क्रैश हो जाता है
[बग ठीक किया गया]समस्या #388718417 libndk_translation.so बंद हो जाता है और Arm64AesEncode में क्रैश हो जाता है
35.5.10 स्टेबल (6 मई, 2025)
गड़बड़ी के मैसेज के साथ, सीपीयू के साथ काम करने की सुविधा की अतिरिक्त जांच जोड़ी गई (उदाहरण के लिए: डिस्क में कम स्टोरेज)
Vulkan मेमोरी मैनेजमेंट और इस्तेमाल के अमान्य उदाहरणों से जुड़ी गड़बड़ियां ठीक की गईं
टर्मिनल पर चलाने के दौरान, Vulkan स्नैपशॉट की सुविधा की जांच की जाती है और इसे सही तरीके से स्किप किया जाता है
VK_KHR_multiview एक्सटेंशन और A1R5G5B5 टेक्सचर फ़ॉर्मैट के लिए सहायता जोड़ी गई
Pixel 9a AVD जोड़ा गया
35.4.9 स्टेबल वर्शन (25 फ़रवरी, 2025)
मेहमान के तौर पर इस्तेमाल किए जाने वाले GLES ड्राइवर की प्राथमिकताओं के लिए, एक्सटेंडेड कंट्रोल में ड्रॉप-डाउन मेन्यू जोड़ा गया
[बग ठीक किया गया]समस्या #389330750 एम्युलेटर को Ñ वर्ण वाला एसएमएस भेजने पर, मैसेज दो हिस्सों में बंट जाता है
[बग ठीक किया गया]समस्या #382180488 Vulkan डिवाइसों का पता न चलने की वजह से, "emuglConfig_get_vulkan_hardware_gpu_support_info" फ़ंक्शन क्रैश हो रहा है
ध्यान दें: Android XR Emulator सिर्फ़ Studio के Canary वर्शन में उपलब्ध हैं
35.3.11 स्टेबल (9 जनवरी, 2025)
[बग ठीक किया गया]समस्या #368059211 Car Service API का इस्तेमाल करके, Android Auto OS में VHAL को प्रोग्राम के हिसाब से ऐक्सेस नहीं किया जा सकता
[बग ठीक किया गया]समस्या #348598513 एम्युलेटर में, मल्टी-थ्रेड लॉक में थ्रेड-अनसेफ़ पब्लिक मेथड मौजूद है
[गड़बड़ी ठीक की गई]समस्या #356896486 -feature -Vulkan के साथ चलाने पर, Vulkan API कॉल को पूरी तरह से बंद करें
35.4.4 Canary (12 दिसंबर, 2024)
नया Android XR Emulator
हमने हेडसेट के लिए Jetpack XR SDK का इस्तेमाल करके बनाए गए ऐप्लिकेशन को डेवलप और टेस्ट करने के लिए, एक नया Android XR एम्युलेटर जोड़ा है. यह एम्युलेटर एक्सपेरिमेंट के तौर पर उपलब्ध है. Android XR इम्यूलेटर इंस्टॉल करने और डेवलपमेंट एनवायरमेंट सेट अप करने के बारे में जानकारी के लिए, Jetpack XR SDK सेटअप देखें.
Android XR इम्यूलेटर, एक्सपेरिमेंट के तौर पर उपलब्ध एक टूल है. हालांकि, हमने आपके साथ यह जानकारी पहले ही शेयर कर दी है, ताकि आप इसे जल्द से जल्द आज़मा सकें. आपको कुछ समस्याएं आ सकती हैं. खास तौर पर, Windows के कुछ जीपीयू और ड्राइवर कॉन्फ़िगरेशन पर. मौजूदा 2D मोबाइल ऐप्लिकेशन की कंपैटिबिलिटी टेस्टिंग से जुड़ी समस्याएं भी हो सकती हैं. आपके सुझाव/राय देने या शिकायत करने से, हमें इस सुविधा को बेहतर बनाने में मदद मिलेगी. साथ ही, इससे हमें यह तय करने में मदद मिलेगी कि आने वाले समय में कौनसी सुविधाओं को प्राथमिकता दी जाए.
अब तक, Android XR एम्युलेटर की जांच इन एचडब्ल्यू कॉन्फ़िगरेशन पर की गई है:
- Mac (ARM)
- Windows 11
- nVidia GPU, 4 जीबी vRAM, ड्राइवर वर्शन 553.35 या इसके बाद का वर्शन
- 16 जीबी या इससे ज़्यादा रैम
- आठ या इससे ज़्यादा कोर
आम समस्याएं
एम्युलेटर - स्टेबिलिटी और परफ़ॉर्मेंस:
- कुछ Windows कॉन्फ़िगरेशन पर, बूट करने के दौरान या ऐप्लिकेशन चलाने के दौरान सिस्टम लॉक या क्रैश हो सकता है. कृपया पक्का करें कि Windows Hypervisor Platform (WHPX) चालू हो. इसके लिए, WHPX को चालू करने के लिए, Android Studio डेवलपर की गाइड देखें.
- लैपटॉप को बंद करके खोलने के बाद, एवीडी या यूज़र इंटरफ़ेस (यूआई) एलिमेंट के काम न करने जैसी समस्याएं.
- "होम स्क्रीन मोड" से "फ़ुल स्क्रीन मोड" पर ऐप्लिकेशन स्विच करते समय, कभी-कभी क्रैश हो जाता है
- Gemini API अभी उपलब्ध नहीं हैं. इसलिए, Gemini API स्टार्टर टेंप्लेट ऐप्लिकेशन क्रैश हो जाएगा.
एम्युलेटर - इनपुट और आउटपुट को सिम्युलेट करना:
- ऐसा हो सकता है कि खोज और बदलाव वाले फ़ील्ड के लिए वर्चुअल कीपैड, फ़ील्ड ऑफ़ व्यू (कैमरे से दिख रहा व्यू) में सिर्फ़ कुछ हद तक दिखे
माउस और कीबोर्ड का इस्तेमाल करके, एलिमेंट को z-डायरेक्शन (स्क्रीन के अंदर और बाहर) में नहीं ले जाया जा सकता
AVD के माइक्रोफ़ोन में ऑडियो इनपुट की समस्या की वजह से, AVD रीबूट और क्रैश हो सकते हैं.
कभी-कभी आवाज़ में स्टैटिक होता है या वह खराब हो जाती है.
कैमरे को वर्चुअल लिविंग रूम से बाहर ले जाने पर, रेंडरिंग से जुड़ी गड़बड़ियां दिखती हैं.
Windows कॉन्फ़िगरेशन में, सामान्य से ज़्यादा गहरे रंग दिखते हैं.
एम्युलेटर को कुछ समय तक इस्तेमाल न करने और macOS पर स्क्रीन लॉक करने के बाद, ऑडियो काम नहीं करता. (एम्युलेटर को रीस्टार्ट करने पर, यह वापस आ जाएगा.)
होस्ट मशीन के वाई-फ़ाई बदलने पर, नेटवर्क कनेक्शन टूट जाता है.
Caps Lock चालू होने पर भी, छोटे अक्षरों में टाइप किया जाता है.
Mac पर ट्रैकपैड का इस्तेमाल करके स्क्रोल करने में समस्या आ रही है.
ऐसा हो सकता है कि कुछ यूज़र इंटरफ़ेस (यूआई) एलिमेंट पर, क्लिक करके खींचने और छोड़ने की सुविधा काम न करे. अगर ऐसा नहीं होता है, तो स्क्रोल करने के लिए माउस व्हील का इस्तेमाल करें.
Windows के कुछ सिस्टम कॉन्फ़िगरेशन पर, Chrome में टेक्स्ट, यूज़र इंटरफ़ेस (यूआई), और अन्य गड़बड़ियां धुंधली दिखती हैं. समस्या हल करने का तरीका: WHP चालू करें.
एम्युलेटर - हवाई जहाज़ों और ऐंकर को सिम्युलेट करना:
- कभी-कभी ऐंकर, उसी जगह के आस-पास फिर से नहीं दिखते
- ऐसा हो सकता है कि मूव किए जा सकने वाले पैनल, दीवारों या छत से न जुड़ें
- सिम्युलेट किए गए प्लेन, पासथ्रू मोड में 3D रूम के फ़िज़िकल लेआउट से मेल नहीं खाते
- वर्चुअल रूम में ऑब्जेक्ट को ऐंकर करने के लिए, सीमित जगहें
- Windows पर पासथ्रू व्यू में दिखने वाला छोटा आर्टफ़ैक्ट
- कुछ मामलों में, ऐंकर जोड़ने पर ऐप्लिकेशन क्रैश हो सकता है
- Windows पर ऐप्लिकेशन को ज़मीन के पास ले जाने पर, ऐप्लिकेशन के ऊपर काली लाइनें दिख सकती हैं
एम्युलेटर - अन्य:
- एम्युलेटर सिर्फ़ "स्टैंडअलोन" मोड में शुरू होता है. फ़िलहाल, "एम्बेड किया गया" मोड (एम्बेड किया गया यूज़र इंटरफ़ेस) काम नहीं करता.
- Windows पर एमुलेटर में खातों से लॉग इन करने पर, एमुलेटर काम करना बंद कर सकता है
- विंडो का साइज़ बदलने के बाद, यूज़र इंटरफ़ेस (यूआई) का कॉन्टेंट गायब हो सकता है (समस्या हल करने का तरीका: "होम" बटन दबाएं)
- JXRCore ActivityPanelTest ऐप्लिकेशन में, सेकंडरी पैनल शुरू में नहीं दिखता है
- ऐसा हो सकता है कि लंबे समय तक इस्तेमाल न करने पर, क्विक सेटिंग के आइटम सिस्टम सेटिंग से गायब हो जाएं.
- ऐसा हो सकता है कि शुरुआत में, एम्युलेटर का यूज़र इंटरफ़ेस (यूआई) स्क्रीन के बाहर दिखे. अगर ऐसा होता है, तो एम्युलेटर विंडो के साइज़ में थोड़ा बदलाव करें. इससे वह अपनी जगह पर वापस आ जाएगी.
- Windows पर Chrome रिमोट डेस्कटॉप का इस्तेमाल करते समय, एम्युलेटर चालू नहीं हो सकता
- फ़िलहाल, OpenXR को एम्युलेटर पर इस्तेमाल नहीं किया जा सकता. साथ ही, OpenXR ऐप्लिकेशन की वजह से एम्युलेटर क्रैश हो सकता है
- Windows पर Android Studio की एक्सटेंडेड सेटिंग का इस्तेमाल करके, गड़बड़ी की रिपोर्ट सबमिट करते समय कभी-कभी गड़बड़ी होती है
- Mac पर कर्सर को सेटिंग ऐप्लिकेशन के "वापस जाएं" आइकॉन के पास ले जाने तक, वह आइकॉन ठीक से नहीं दिखता
- कुछ मामलों में, XR टेंप्लेट प्रोजेक्ट के हिस्से के तौर पर "बेसलाइन प्रोफ़ाइल" मॉड्यूल का इस्तेमाल करने पर, बिल्ड में गड़बड़ी हो सकती है
- "XR Talkback" की सुलभता की सुविधा को अब तक सिर्फ़ एम्युलेटर में आंशिक रूप से इंटिग्रेट किया गया है
Scene Viewer ऐप्लिकेशन:
- Scene Viewer में एलिमेंट को इधर-उधर ले जाने से, यह क्रैश हो सकता है. इस समस्या को हल करने के लिए, एलिमेंट को मूव करने से पहले, हेड की पोज़िशन को उसकी शुरुआती पोज़िशन से थोड़ा दूर ले जाएं. उदाहरण के लिए, पैन, डॉली, WASD वगैरह का इस्तेमाल करके.
- अगर 3D मॉडल का असल साइज़, स्केल की कम से कम और ज़्यादा से ज़्यादा सीमा (फ़िलहाल, 20 सेमी और 70 मीटर पर सेट है) से कम या ज़्यादा है, तो 1:1 के असल साइज़ वाली सुविधा ठीक से काम नहीं करेगी
- लोड होने के बाद, 3D मॉडल पहले फ़्रेम पर कूद सकता है
35.2.10 (1 अक्टूबर, 2024)
- Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, और Pixel 9 Pro Fold जैसे नए Pixel AVD जोड़े गए
- Vanilla Ice Cream (API 35) के लिए, नई टैबलेट सिस्टम इमेज जोड़ी गई
35.1.20 (29 अगस्त, 2024)
- Pixel 8a AVD जोड़ा गया
- फ़ोल्ड किए जा सकने वाले डिवाइसों से जुड़ी कई गड़बड़ियां ठीक की गईं
- Qt को अपडेट किया गया है. साथ ही, Qt से जुड़े क्रैश और हैंग होने की समस्याओं को ठीक किया गया है
- [गड़बड़ी ठीक की गई] Vulkan का इस्तेमाल करने वाले ऐप्लिकेशन के साथ Windows पर क्रैश और फ़्रीज़ होने की समस्या ठीक की गई
34.2.16 (9 जुलाई, 2024)
- [बग ठीक किया गया] Pixel Fold को फ़ोल्ड/अनफ़ोल्ड करते समय यूज़र इंटरफ़ेस (यूआई) फ़्रीज़ होने की समस्या
- [बग ठीक किया गया] Mac M1 पर, Android के वर्शन को एपीआई 35 के बजाय Android Vanilla Ice Cream Preview के तौर पर गलत तरीके से दिखाया जा रहा था.
- [गड़बड़ी ठीक की गई] समस्या #296162661: Pixel C टैबलेट के एम्युलेटर पर HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE की वैल्यू सही के तौर पर दिखती है
34.2.15 (31 मई, 2024)
- स्वैंगल मोड और विज्ञापन देने वाले व्यक्ति या कंपनी के खाते को बंद करने से जुड़ी क्रैश की कई समस्याओं को ठीक किया गया
34.2.14 (20 मई, 2024)
इसे Android Studio Jellyfish के स्टेबल वर्शन के पहले पैच के साथ टेस्ट किया गया है.
- [गड़बड़ी ठीक की गई] कभी-कभी स्नैपशॉट, एम्बेड किए गए एम्युलेटर पर हैंग हो जाता है
- [बग ठीक किया गया] स्नैपशॉट पर 'नहीं' और 'रद्द करें' बटन ठीक से काम नहीं कर रहे हैं
- [बग ठीक किया गया] डायरेक्शनल पैड के बटन काम नहीं कर रहे हैं
- [गड़बड़ी ठीक की गई] Windows पर दिखने वाली उस समस्या को ठीक किया गया है जिसकी वजह से, कुछ मामलों में एमुलेटर शुरू नहीं हो पाता था. ऐसा तब होता था, जब ANGLE के साथ जीपीयू मोड का इस्तेमाल किया जा रहा हो. साथ ही, लॉग में “Failed to initialize GL emulation” गड़बड़ी का मैसेज दिखता था. ध्यान दें कि इस वर्शन में, कमांड लाइन से एम्युलेटर को
-gpu swangle_indirectविकल्प के साथ शुरू करने पर भी यह गड़बड़ी दिख सकती है. अगर आपको अब भी इस वर्शन के साथ, सॉफ़्टवेयर ग्राफ़िक्स रेंडरिंग की सुविधा का इस्तेमाल करके Windows पर कमांड लाइन का इस्तेमाल करके एम्युलेटर शुरू करना है, तो कृपया-gpu swiftshader_indirectका इस्तेमाल करें - [बग ठीक किया गया] कीबोर्ड पर मौजूद जगह की जानकारी के शॉर्टकट से, इस्तेमाल न किया जा सकने वाला मैप लोड होता है
- [बग ठीक किया गया] जगह की जानकारी सेट करते समय, "रास्ता सेव करें" डायलॉग मौजूद नहीं है
34.2.13 (30 अप्रैल, 2024)
इसे Android Studio Jellyfish के स्टेबल वर्शन पर टेस्ट किया गया है.
- Qt 6.5.3 पर अपडेट करें
- इमुलेटर के एक्सटेंडेड कंट्रोल में जगह की जानकारी की सुविधाओं के लिए, Google Maps API के अपडेट के साथ काम करने की सुविधा. यह सुविधा मई के आखिर में उपलब्ध होगी.
- क्रैश होने की समस्या को ठीक करने के लिए, बहुत ज़्यादा असर डालने वाले सुधार
- Pixel AVD से जुड़ी कई समस्याओं को ठीक किया गया
- सॉफ़्टवेयर रेंडरिंग के लिए इस्तेमाल की जाने वाली ग्राफ़िक्स लाइब्रेरी को अपडेट करें
- [बग ठीक किया गया]समस्या 225541819 Chrome शुरू करने पर, x86_64 पर Emulator क्रैश हो जाता है
- [बग ठीक किया गया]समस्या 314614435
-http-proxyस्विच को गलत तरीके से पार्स किया गया
34.1.20 (1 अप्रैल, 2024)
इसकी जांच Android Studio Iguana Stable वर्शन के साथ की गई है.
- [गड़बड़ी ठीक की गई] समस्या #314614435:
-http-proxyस्विच को गलत तरीके से पार्स करने की समस्या ठीक की गई
34.1.19 (7 मार्च, 2024)
इसकी जांच Android Studio Iguana Stable वर्शन के साथ की गई है.
- [बग ठीक किया गया] समस्या #312677259: विंडो का साइज़ बदलने के बाद, एम्बेड किए गए एम्युलेटर में स्क्रीन फ़्रीज़ होने की समस्या ठीक की गई.
34.1.18 (29 फ़रवरी, 2024)
इसकी जांच Android Studio Iguana Stable वर्शन के साथ की गई है.
- डिवाइसों को एम्युलेटर में जोड़ा गया. इनमें ये शामिल हैं:
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- gRPC इंटिग्रेशन टेस्ट: gRPC एंडपॉइंट अब एम्युलेटर में चल रहे इंस्ट्रुमेंटेड टेस्ट के लिए उपलब्ध हैं. इससे असल स्थितियों की जांच की जा सकेगी. इस सुविधा की मदद से, डेवलपर Android इंस्ट्रुमेंटेशन टेस्ट के दौरान, Android Emulator पर होस्ट किए गए gRPC एंडपॉइंट के साथ सुरक्षित तरीके से इंटरैक्ट कर सकते हैं.
- कई गड़बड़ियां ठीक की गईं
- गड़बड़ी ठीक की गई: फ़ोल्ड किए जा सकने वाले डिवाइसों पर ऐप्लिकेशन को इस्तेमाल करने से जुड़ी समस्याओं को ठीक किया गया
- बग ठीक किया गया: रोटेशन के बाद, Emulator की पोज़िशन को अडजस्ट किया गया
- क्रैश होने की समस्या ठीक की गई
33.1.24 (28 दिसंबर, 2023)
इसकी जांच Android Studio Hedgehog Stable और Iguana Beta 1 के साथ की गई है.
- इमुलेटर के वेबकैम से जुड़ी उस समस्या को ठीक किया गया है जिसकी वजह से, mp4 फ़ॉर्मैट में स्क्रीन रिकॉर्ड नहीं की जा सकती.
- स्क्रीन रिकॉर्डिंग के दौरान, Pixel Fold AVD को अनफ़ोल्ड करने पर एमुलेटर क्रैश होने की समस्या ठीक की गई.
- उस समस्या को ठीक किया गया है जिसमें Pixel Fold पर, कीबोर्ड के अलग होने पर फ़ोन की स्किन अलग दिखती है और उसका इस्तेमाल नहीं किया जा सकता. यह समस्या Windows, Mac Intel, और Linux पर ठीक कर दी गई है
- स्टैंडअलोन मोड में वर्चुअल सेंसर के दिखने से जुड़ी गड़बड़ी ठीक की गई. यह गड़बड़ी Windows, Mac Intel, और Linux पर ठीक की गई है
- कुछ क्रैश की समस्याओं को ठीक किया गया है. खास तौर पर, एम्युलेटर बंद करते समय होने वाली समस्याओं को ठीक किया गया है
33.1.23 (30 नवंबर, 2023)
इसकी जांच Android Studio Giraffe Patch 4 और Hedgehog Stable के साथ की गई है.
- Pixel Fold डिवाइस को बेहतर तरीके से चलाने के लिए, फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए नया सिस्टम लागू किया गया है. यह एपीआई 34 के साथ काम करता है
- ग्राफ़िक्स बैकएंड अपग्रेड: हमने अपने ग्राफ़िक्स बैकएंड के लिए gfxstream प्रोटोकॉल लागू किया है. इस सुधार से, आपके सिस्टम की ग्राफ़िक्स परफ़ॉर्मेंस और स्थिरता बेहतर होती है. इसके अलावा, एपीआई 34 वाली सिस्टम इमेज से Vulkan 1.3 के साथ काम करने की सुविधा शुरू की जा रही है
- सुविधा का अनुरोध: पिंच करके ज़ूम करने वाले जेस्चर को बंद करने या इसकी हॉटकी को फिर से असाइन करने का विकल्प
- [बग ठीक किया गया] समस्या #302562962 MacOS Sonoma का इस्तेमाल करते समय, Emulator का वेबकैम क्रैश होने की समस्या ठीक की गई
- [बग ठीक किया गया] समस्या #293503871: एम्युलेटर को रीस्टार्ट करने पर, 'माइक्रोफ़ोन' सेटिंग सेव न होने की समस्या को ठीक किया गया
- [बग ठीक किया गया] समस्या #270386314 एवीडी स्क्रीन को छोटा करने के बाद भी साइडबार खुला रहता है. इस ऐनिमेशन से जुड़ी गड़बड़ी को ठीक किया गया है
- [गड़बड़ी ठीक की गई] समस्या #154896775 गड़बड़ी सबमिट करने वाले टूल को ठीक किया गया
32.1.15 (29 अगस्त, 2023)
इसकी जांच Android Studio Giraffe Patch 1 और Hedgehog Canary 16 के साथ की गई है.
- AAE Emulator में सेंसर के लिए, GAS HW से जुड़ी ज़रूरी शर्तों का पालन करना
- [गड़बड़ी ठीक की गई] समस्या #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 "Android के API 30 के बाद के वर्शन, Mac M1 मशीनों पर एम्युलेटर में सही तरीके से शुरू नहीं हो सकते"
32.1.13 (22 मई, 2023)
इसे Android Studio Hedgehog Canary 2, Giraffe Beta 1, और Flamingo Stable के साथ टेस्ट किया गया है.
- Pixel Fold और Pixel Tablet के एवीडी के लिए सहायता जोड़ी गई है.
- gLinux में क्रैश होने की समस्या को ठीक किया गया है.
- [बग ठीक किया गया] समस्या #215231636 "Intel 12th gen प्रोसेसर में, API 30 से ऊपर वाले एपीआई के साथ काम करने वाला एम्युलेटर काम नहीं कर रहा है".
- [बग ठीक किया गया] समस्या #275397905 Android Emulator M1 में कर्सर को बार-बार अंदर और बाहर ले जाने पर, क्रैश होने की समस्या का लेवल ज़्यादा है.
- नए एम्युलेटर की क्रैश रिपोर्ट मौजूद होने पर, एवीडी लॉन्च करने में समस्या आ रही है. ज़्यादा जानकारी के लिए, एम्युलेटर से जुड़ी समस्या हल करना लेख पढ़ें.
32.1.12 (21 मार्च, 2023)
इसकी जांच Android Studio Giraffe Canary 10, Flamingo RC, और Electric Eel Patch 2 के साथ की गई है.
- [बग ठीक किया गया] समस्या #267647323 Android Studio से शुरू किए गए एम्युलेटर पर नेटवर्क काम नहीं करता
- [बग ठीक किया गया] समस्या #268498686 एम्युलेटर की स्क्रीन फ़्लिकर कर रही है
- [बग ठीक किया गया] समस्या #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 को अनज़िप करते समय, सिमलंक के इस्तेमाल को बंद करें
- emulator-check में क्रैश होने की समस्या ठीक की गई
31.3.14 (13 दिसंबर, 2022)
इसकी जांच Android Studio Dolphin, Electric Eel RC1, और Flamingo Canary 9 पर की गई है.
- [बग ठीक किया गया] Play Store में लॉग इन करते समय, AVD क्रैश होने की समस्या को ठीक किया गया है.
31.3.13 (27 अक्टूबर, 2022)
इसकी जांच Android Studio Dolphin, Electric Eel Beta 2, और Flamingo Canary 5 के साथ की गई है.
- [बग ठीक किया गया] समस्या #249948338: टाइम ज़ोन पैरामीटर काम नहीं कर रहा है
- [बग ठीक किया गया] समस्या #249366543: एपीआई 31 के बाद, Emulator -dns-server विकल्प काम नहीं करता
31.3.12 (10 अक्टूबर, 2022)
इसे Android Studio Dolphin और Electric Eel Beta 1 के साथ टेस्ट किया गया है.
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- [बग ठीक किया गया] समस्या #247843000: एवीडी के रिलेटिव पाथ को हैंडल करने में गड़बड़ी
- एपीआई 24 और इसके बाद के वर्शन के लिए, डिस्क का साइज़ बढ़ाना
31.3.11 (23 सितंबर, 2022)
इसकी जांच Android Studio Dolphin और Electric Eel Canary 10 के साथ की गई है.
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- [गड़बड़ी ठीक की गई] एक्सटेंडेड कंट्रोल विंडो पर एम्बेड किए गए एम्युलेटर एवीडी के क्रैश होने की समस्या
- [बग ठीक किया गया] समस्या #183139207: Emulator के माइक्रोफ़ोन चालू करने से जुड़ी ऑडियो समस्याएं
- [बग ठीक किया गया] समस्या #229764024: एवीडी में स्टिकी टच की गड़बड़ी की वजह से, यूज़र इंटरफ़ेस (यूआई) के काम करने से जुड़ी समस्याएं आ रही हैं
- [बग ठीक किया गया] Mac M1 पर API 33 AVD लॉन्च करने में गड़बड़ी.
- [बग ठीक किया गया] समस्या #243053479: Emulator को अपडेट करने के बाद नेटवर्क की स्पीड कम हो जाती है
- [बग ठीक किया गया] समस्या #244617627: Windows और Linux पर Maps में जगह की जानकारी काम नहीं कर रही है
- [गड़बड़ी ठीक की गई] समस्या #232971796: एक्सटेंडेड कंट्रोल > फ़ोन पेज पर “डिवाइस पर कॉल करें” बटन काम नहीं कर रहा है
- Android Emulator को minigbm पर अपडेट करना
- बिल्ड स्क्रिप्ट को Python3 पर माइग्रेट करना
31.3.10 (18 अगस्त, 2022)
इसकी जांच Android Studio Dolphin Beta 5 और Electric Eel Canary 9 के साथ की गई है.
अब एम्युलेटर को अलग से डाउनलोड किया जा सकता है. अगर आपको इस स्टेबल रिलीज़ में कोई समस्या आ रही है या यह क्रैश हो रहा है, तो कृपया बग की शिकायत करें. साथ ही, एम्युलेटर डाउनलोड संग्रह से, पहले काम कर रहे वर्शन को डाउनलोड करें.
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- Windows पर यूनिकोड पाथ के लिए बेहतर सहायता
- एम्युलेटर के बंद होने की समस्या को बेहतर तरीके से ठीक किया गया है, ताकि एक ही AVD को फिर से लॉन्च किया जा सके.
- फ़ोल्ड किए जा सकने वाले एवीडी के डिज़ाइन और डिफ़ॉल्ट सेटिंग को अपडेट किया गया
- Wear के एम्युलेटर बटन अपडेट किए गए
- 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 के साथ ठीक से काम नहीं करता था.
- [बग ठीक किया गया] इवेंट माउस कंसोल कमांड काम नहीं कर रही थी.
- लोकल AVD बनाने के लिए, KVM की जांच करने की सुविधा जोड़ी गई.
31.1.3 (18 जनवरी, 2022)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- Fuchsia के लिए कंसोल पोर्ट चालू किए गए.
- एक से ज़्यादा डिसप्ले वाली विंडो का साइज़ बदलते समय, ओरिएंटेशन को अनदेखा कर दिया जाता है.
- वाई-फ़ाई: MAT मैक पते के आधार पर, यूनिकास्ट पैकेट को फ़िल्टर करने की सुविधा जोड़ी गई है.
- वाई-फ़ाई: vmnet का इस्तेमाल करते समय क्रैश होने की समस्या ठीक की गई.
30.9.5 (15 दिसंबर, 2021)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- डेस्कटॉप या टैबलेट के साइज़ की विंडो में आसानी से साइज़ बदलने की सुविधा जोड़ी गई है.
- इस सुविधा को, होस्ट डिवाइसों पर मल्टी-टच इनपुट के साथ काम करने के लिए जोड़ा गया है.
- VirtioWifi: टैप नेटवर्क के लिए सहायता जोड़ी गई.
- Wear सिस्टम इमेज के लिए, रोटरी इनपुट की सुविधा चालू की गई.
- gRPC ऑडियो कॉन्फ़िगरेशन से जुड़ी समस्या ठीक की गई.
- SensorReplay Emulator Playback को अपडेट किया गया है, ताकि यह Android के स्टैंडर्ड सेंसर के साथ काम कर सके.
- यूएसबी पास थ्रू की सुविधा का इस्तेमाल करके, यूएसबी की मदद से इम्यूलेटर को सहायक डिवाइसों और डिवाइसों से कनेक्ट किया गया हो.
30.4.5 (23 फ़रवरी, 2021)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- macOS: ऑडियो इनपुट में गड़बड़ी होने की समस्याएं ठीक की गईं.
- उपयोगकर्ता स्पेस में virtio-vsock के लिए सहायता जोड़ी गई.
- सिस्टम की आने वाली इमेज में, logcat और कर्नल मैसेज के लिए virtio-console का इस्तेमाल किया जाएगा.
- Vulkan रेंडरिंग की स्पीड बढ़ाएं.
- जांच के फ़ेल होने पर, स्नैपशॉट डीबग करने की सुविधा जोड़ी गई.
- virtio-gpu: नई परिभाषाएं जोड़ी गई हैं, ताकि नई blob रिसॉर्स इनम को सपोर्ट किया जा सके.
- 'asg' टाइप के ग्राफ़िक्स ट्रांसपोर्ट के लिए स्नैपशॉट की सुविधा जोड़ी गई.
- macOS: macOS SDK 11.1 और इसके बाद के वर्शन के साथ काम करने की सुविधा जोड़ी गई.
- KVMclock, नई सिस्टम इमेज पर डिफ़ॉल्ट रूप से चालू होता है.
- Wear के एम्युलेटर में, धड़कन की दर मापने वाले सेंसर के लिए सहायता जोड़ी गई.
- libportability Vulkan बैकएंड को हटा दिया गया है.
- मोडम सिम्युलेटर में ज़्यादा सुविधाओं के लिए सहायता जोड़ी गई.
30.0.26 (16 अगस्त, 2020)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.
वर्चुअल हिंज सेंसर और 3D व्यू के साथ फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए सहायता
फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए, हिंज सेंसर की सुविधा जोड़ी गई. इसके लिए, Android 11 की सिस्टम इमेज और AVD कॉन्फ़िगरेशन की ज़रूरत होगी. 3D फ़ोल्ड करने की सुविधा और हिंज पैरामीटर को अब फ़ोल्ड किए जा सकने वाले मौजूदा प्रीसेट के साथ इंटिग्रेट कर दिया गया है. इनका इस्तेमाल, उदाहरण के लिए, 7.3 फ़ोल्ड किए जा सकने वाले AVD की
config.iniफ़ाइल के साथ किया जा सकता है:hw.sensor.hinge = yes hw.sensor.hinge.count = 1 hw.sensor.hinge.type = 1 hw.sensor.hinge.ranges = 180-360 hw.sensor.hinge.defaults = 180 hw.sensor.hinge.areas = 54.7-0 hw.sensor.posture_list=4, 3 hw.sensor.hinge_angles_posture_definitions=210-360, 180-210 hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4अब फ़ोल्ड किए जा सकने वाले डिवाइसों में, सब-टाइप पैरामीटर भी होता है.
config.iniप्रॉपर्टीhw.sensor.hinge.sub_type = hinge/foldअब उपलब्ध है. ज़्यादा जानने के लिए, Android Emulator की मदद से Android 11 के लिए डेवलपमेंट करना ब्लॉग पोस्ट पढ़ें.अब हिंज सेंसर की सुविधा डिफ़ॉल्ट रूप से चालू होती है.
अगर कोई फ़ोल्ड किया जा सकने वाला डिवाइस कॉन्फ़िगर किया गया है, तो अब एम्युलेटर, मेहमान को हिंज के कोण वाले सेंसर के अपडेट और डिवाइस की स्थिति में हुए बदलावों की जानकारी भेजता है. अब फ़ोल्ड किए जा सकने वाले मौजूदा डिवाइसों में, टूलबार के फ़ोल्ड या अनफ़ोल्ड बटन दबाने पर, हिंज सेंसर का ऐंगल और डिवाइस की स्थिति अपडेट हो जाएगी.

ARM64 होस्ट के लिए एम्युलेटर
Linux इम्यूलेटर का सोर्स कोड अब x86_64 से arm64 होस्ट पर क्रॉस कंपाइलेशन के साथ काम करता है. इससे KVM वर्चुअलाइज़ेशन के साथ arm64 सिस्टम इमेज को चलाया जा सकता है. फ़िलहाल, सिर्फ़
-gpu swiftshader_indirect(Swiftshader arm64 होस्ट रेंडरिंग) काम करता है. हालांकि, lib64/gles_swiftshader को बदलकर, होस्ट जीपीयू libEGL/libGLESv2 लाइब्रेरी का इस्तेमाल किया जा सकता है. इसके बाद,-gpu swiftshader_indirectकी मदद से फिर से लॉन्च किया जा सकता है. ऐसा हो सकता है कि स्नैपशॉट की सुविधा भी काम न कर रही हो. इसके लिए, कमांड लाइन में-no-snapshotजोड़ें. निर्देश:mkdir emu cd emu repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1 repo sync -qcj 12 cd external/qemu pip install absl-py pip install urlfetch sudo apt-get install crossbuild-essential-arm64 python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64Apple Silicon के लिए सहायता सेवा पर काम चल रहा है.
virtio-gpu की सुविधा
- आने वाले virtio-gpu होस्ट कोहेरेंट blob रिसॉर्स के लिए, होस्ट साइड पर सहायता जोड़ी गई.
- एम्युलेटर रेंडरिंग के काम करने के तरीके की वजह से, अब हम virtio-gpu virtqueue को vcpu थ्रेड में प्रोसेस करते हैं. ऐसा इसलिए, क्योंकि रेंडरिंग को पहले से ही अन्य थ्रेड पर ऑफ़लोड किया जाता है. virtio-gpu रेंडरिंग, आने वाले समय में सिस्टम इमेज और एम्युलेटर के वर्शन में चालू की जाएगी.
- आने वाले समय में, सिस्टम इमेज में एम्युलेटर, virtio-gpu पर आधारित स्टैक की मदद से सभी ग्राफ़िक चला पाएगा.
अन्य नई सुविधाएं और सुधार
- यूएसबी पासथ्रू की सुविधा, अब Windows पर
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>का इस्तेमाल करके उपलब्ध है. (यह सुविधा Linux और macOS पर पहले से काम कर रही है) - WebRTC लाइब्रेरी को M83 पर अपडेट किया गया.
- इमुलेटर में अब WebRTC के ज़रिए कंटेनर में ऑडियो स्ट्रीमिंग की सुविधा काम करती है.
- darwinn पाइप एंडपॉइंट को हटा दिया गया है.
- वीडियो के लिए CUDA VPx डिकोड की सुविधा अब उपलब्ध है. अगर हार्डवेयर में CUDA VPx डिकोड की सुविधा उपलब्ध है, तो एनवायरमेंट वैरिएबल
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1के ज़रिए इसका इस्तेमाल किया जा सकता है. - macOS पर, अब Android गेस्ट के अंदर से SSE 4.1 और 4.2 का इस्तेमाल किया जा सकता है.
- macOS पर, INVTSC अब डिफ़ॉल्ट रूप से चालू होता है. इससे मेहमान के समय के मेज़रमेंट की सटीक जानकारी मिल सकती है.
- अब हम मेट्रिक में यह ट्रैक करते हैं कि उपयोगकर्ता ने कौनसे एक्सटेंडेड कंट्रोल पैनल को चुना है.
- Linux इम्यूलेटर अब KVM पैरावर्चुअलाइज़्ड क्लॉक का इस्तेमाल करता है. ऐसा तब होता है, जब गेस्ट कर्नल का वर्शन >= 5.4 (R सिस्टम इमेज या बाद का वर्शन) हो.
- इमुलेटर अब मेहमान कर्नल को डीकंप्रेस करने के लिए LZ4 का इस्तेमाल करता है. इससे यह आधुनिक कर्नल पाइपलाइन के साथ काम कर पाता है.
इमुलेटर के एवीडी डायरेक्ट्री, Studio में एम्बेड किए गए इस्तेमाल के उदाहरण में डिस्कवरी फ़ाइल के पाथ, और स्नैपशॉट के पाथ को पाने के लिए, कंसोल कमांड जोड़ी गईं:
adb emu avd path # Obtains path to AVD directory adb emu avd discoverypath # Obtains path to discovery file adb emu avd snapshotspath # Obtains path to snapshots folder adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
वर्टिकल स्क्रीन की जगह को बचाने के लिए, हमने ज़्यादा कंट्रोल > सेटिंग में, मौजूदा एवीडी के लिए डिवाइस फ़्रेम को छिपाने का विकल्प जोड़ा है. सभी AVD के लिए डिवाइस फ़्रेम को ग्लोबल लेवल पर छिपाने के लिए, हमने
NoDeviceFrameफ़ीचर फ़्लैग उपलब्ध कराया है. इसे चालू करने के लिए, कमांड लाइन से-feature NoDeviceफ़्रेम के साथ एम्युलेटर लॉन्च करें. इसे लॉक करने के लिए,~/.android/advancedFeatures.iniमेंNoDeviceFrame = onजोड़ें. अगर यह फ़ाइल पहले से मौजूद नहीं है, तो इसे बनाएं.मोबाइल डेटा पेज में एक ड्रॉप-डाउन आइटम जोड़ा गया है, ताकि मीटर किए गए कनेक्शन की सुविधा को चालू और बंद किया जा सके. यह सुविधा, सिस्टम की उन पुरानी इमेज के लिए काम नहीं करती है जिनमें 5G मीटर किए गए कनेक्शन की सुविधा को टॉगल करने की सुविधा नहीं होती है.
- इसी मकसद के लिए, कंसोल कमांड भी जोड़ी गई है:
gsm meter on|off
- इसी मकसद के लिए, कंसोल कमांड भी जोड़ी गई है:
टूलचेन / बिल्ड को C++17 पर अपग्रेड किया गया.
सुधार: एम्बेड किया गया एम्युलेटर
- अब क्लिपबोर्ड की सुविधा काम करनी चाहिए.
- एम्युलेटर में, अपरकेस वर्णों को लोअर केस वर्णों के तौर पर डिलीवर करने से जुड़ी समस्या को ठीक किया गया है.
- Windows में यूनिकोड पाथ से कंसोल टोकन लोड करने की समस्या ठीक की गई.
- Linux पर
SO_REUSEPORTगड़बड़ी के मैसेज को ठीक किया गया. - हमने स्नैपशॉट के खराब होने की समस्या को ठीक कर दिया है. यह समस्या, gRPC के ज़रिए स्नैपशॉट कमांड भेजने पर होती थी. साथ ही, Android Studio में एम्बेड किए गए एम्युलेटर में, स्नैपशॉट सेव करने के बटन को दबाने पर भी यह समस्या होती थी.
Studio में एम्बेड किए गए Linux इम्यूलेटर का इस्तेमाल करते समय, हमें पता चला कि अगर Chrome रिमोट डेस्कटॉप के ज़रिए ऐसा किया जाता है, तो एक गड़बड़ी होती है. इसमें
XDG_RUNTIME_DIRसेट नहीं होता है. इसकी वजह से, एम्बेड किया गया इम्यूलेटर नहीं दिख सकता है, क्योंकि इम्यूलेटर डिस्कवरी फ़ाइलों कोXDG_RUNTIME_DIRमें रखा जाता है. Chrome के समस्या ट्रैकर में जाकर, इससे जुड़ी समस्या की स्थिति देखी जा सकती है.इस समस्या को हल करने के लिए, अब एम्युलेटर, उपयोगकर्ता के यूआईडी के आधार पर, किसी दूसरी डायरेक्ट्री में मौजूद डिस्कवरी फ़ाइलों का इस्तेमाल करता है:
/run/user/<uid>.एम्बेड किया गया एम्युलेटर: अब गोल कोनों/नॉच वाले डिवाइसों का लेआउट सही तरीके से बदलता है, ताकि कोनों और नॉच के लिए जगह बनाई जा सके. इसके लिए, उन इम्यूलेटर को कोल्ड बूट करना होगा.
gRPC एंडपॉइंट अब डिवाइस पर एसएमएस भेजने की सुविधा देता है.
सामान्य समस्याएं ठीक करना
- हमने देखा है कि Riot Vanguard चालू होने पर, Windows Emulator को चलाने में समस्याएं आती हैं. Windows एमुलेटर अब Vanguard anti-cheat का पता लगाता है. अगर Vanguard का पता चलता है, तो यह चेतावनी वाला मैसेज दिखाता है.
- Windows पर
FD_SETSIZEगड़बड़ी को ठीक किया गया है. अब हम लूपबैक सर्वर से नॉन-ब्लॉकिंग कनेक्शन बनाने के लिए,select()के बजायWSAEventSelect()का इस्तेमाल करते हैं. - Linux इम्यूलेटर में F16C CPUID सुविधा के लिए सहायता जोड़ी गई है. साथ ही, NDK ट्रांसलेशन के ज़रिए कुछ ARM64 ऐप्लिकेशन चलाने से जुड़ी समस्याओं को ठीक किया गया है. macOS/Windows पर काम जारी है.
- टाइमस्टैंप के हिसाब से, GPX/KML फ़ाइल में सेव किए गए रास्ते को चलाने की सुविधा ठीक की गई.
- macOS पर, लॉन्च के दौरान आइकॉन के उछलने की समस्या ठीक की गई.
- अगर
config.iniमेंhw.audioInput=noऔरhw.audioOutput=noमौजूद हैं, तो अब एम्युलेटर का ऑडियो ठीक से बंद हो गया है. - उस समस्या को ठीक किया गया है जिसमें एक्सटेंडेड कंट्रोल विंडो खुली होने पर, अगर एम्युलेटर विंडो को छोटा किया जाता था, तो एक्सटेंडेड कंट्रोल विंडो दिखती रहती थी. हालांकि, ऐसा तब होता था, जब एक्सटेंडेड कंट्रोल विंडो ऐक्टिव नहीं होती थी. हम आने वाले समय में होने वाले अपडेट में, इस व्यवहार को पूरी तरह से हटा देंगे. ऐसा तब होगा, जब एक्सटेंडेड कंट्रोल वाली विंडो चालू होगी.
- एम्युलेटर शुरू होने पर, वाई-फ़ाई कनेक्ट न होने की समस्या ठीक की गई है.
- जब एम्युलेटर, शेल कमांड को लंबे या अनिश्चित समयसीमा वाले टाइमआउट के साथ जारी करता है, तो हैंग-ऑन-एग्ज़िट की समस्या को ठीक किया गया.
- पीसी-बायोस को अपडेट किया गया है. इसमें बड़ी इमेज को बेहतर तरीके से सपोर्ट करने के लिए सुधार किए गए हैं.
-initrd; पिछले BIOS में, बहुत ही खराब तरीके का इस्तेमाल किया गया था. -wifi-server-portविकल्प का इस्तेमाल करने पर, बंद करने के दौरान क्रैश होने की समस्या ठीक की गई.- अगर
-propको ऐसे विकल्प दिए जाते हैं जो काम नहीं करते हैं, तो अब एम्युलेटर एक चेतावनी प्रिंट करता है. सिर्फ़ qemu.* प्रॉपर्टी के साथ काम करता है. - Windows पर एम्युलेटर बनाते समय, फ़ाइलों में लिखने से जुड़ी गड़बड़ियों के दिखने की संभावना कम होनी चाहिए. ज़्यादा जानकारी के लिए, Windows बिल्ड करने के निर्देश देखें.
- फ़ोल्ड किए जा सकने वाले एवीडी के लिए, ज़ूम करने की सुविधा वाले बटन को बंद कर दिया गया है. इससे समस्याएं आ रही थीं.
- इमुलेटर अब डिवाइस को रीबूट करने में लगने वाले समय की जानकारी सही तरीके से देता है.
- Linux: अगर KVM की अनुमतियां पूरी नहीं हैं, तो अब इम्यूलेटर डीबग करने के निर्देश तुरंत प्रिंट करता है.
- उस समस्या को ठीक किया गया है जिसकी वजह से, एम्युलेटर बिना ऐक्सलरेशन के हाल ही की सिस्टम इमेज बूट नहीं कर पा रहा था.
- बूट-कंप्लीटेड डिटेक्टर से शुरू होने पर, मेमोरी करप्ट होने या क्रैश होने की समस्या ठीक की गई.
- लंबे समय तक स्क्रीन रिकॉर्डिंग करने के दौरान, मेमोरी लीक होने की समस्या ठीक की गई.
- Studio 4.1 की ब्रैंडिंग दिखाने के लिए, एम्युलेटर आइकॉन अपडेट किए गए.
- Windows पर रिमोट सेशन का पता लगाने की सुविधा को बेहतर बनाया गया है.
इन समस्याओं को ठीक किया गया है: ग्राफ़िक्स और वीडियो डिकोड
- उस समस्या को ठीक किया गया है जिसकी वजह से Asphalt 9 गेम, काली स्क्रीन पर रेंडर होता था.
NULLकी मदद से मैप किए गए बफ़र को फ़्लश करने के बारे में स्पैम हटाया गया.- मेहमान के तौर पर इस्तेमाल किया जा रहा Vulkan ऐप्लिकेशन बंद होने पर, Vulkan की स्थिति को खत्म करते समय होने वाली रेस कंडीशन को ठीक किया गया है.
- Vulkan ASTC/ETC2 इम्यूलेशन शेडर अब libOpenglRender लाइब्रेरी में शामिल कर दिए गए हैं. यह फ़ाइल सिस्टम से पढ़ने की तुलना में ज़्यादा भरोसेमंद होगा.
- Vulkan में एक समस्या ठीक की गई है. इसमें अगर होस्ट पर Vulkan 1.0 इंस्टेंस का इस्तेमाल किया जा रहा है, तो
vkGetImageMemoryRequirements2KHR,VkMemoryRequirements2स्ट्रक्चर केpNextफ़ील्ड को गलत तरीके से मिटा देगा. - Vulkan रेंडरर में मेमोरी लीक की समस्या ठीक की गई.
- हाल ही में हुई एक समस्या को ठीक किया गया है. इसमें GLSL ES 1.00 शेडर, वैरिएबल नामों के साथ कंपाइल नहीं हो पा रहे थे. जैसे,
isampler2D. - ANGLE शेडर ट्रांसलेटर को अपडेट किया गया है. इसमें कई सुधार किए गए हैं. इससे Linux पर शेडर कंपाइल न होने की समस्या ठीक हो सकती है.
- अगर बुनियादी फ़्रेमबफ़र ब्लिट शेडर कंपाइल नहीं होता है, तो अब हम एम्युलेटर को क्रैश कर देते हैं, ताकि इस समस्या को ट्रैक किया जा सके.
- ANGLE के अपस्ट्रीम वर्शन के साथ काम करने के लिए, ANGLE शेडर ट्रांसलेटर को अपडेट किया गया है. इससे, OpenGL ES शेडर का अनुवाद करते समय मेमोरी करप्ट होने की समस्या ठीक हो गई है. साथ ही, नॉन-स्क्वेयर मैट्रिक्स का इस्तेमाल करने वाले OpenGL ES शेडर को लगातार फ़ोल्ड करने की समस्या भी ठीक हो गई है. शेडर ट्रांसलेटर अब एक अलग शेयर की गई लाइब्रेरी,
libshadertranslator.dllहै. - कुछ GPU ड्राइवर पर Vulkan को शुरू करने से जुड़ी समस्या को ठीक किया गया है. इसमें 1.1 वर्शन के कुछ डिवाइस फ़ंक्शन नहीं मिल रहे थे.
- Vulkan: हमने पहले से बने लोडर का इस्तेमाल फिर से शुरू कर दिया है, क्योंकि सिस्टम के Vulkan लोडर का इस्तेमाल करने से कुछ सेटअप में समस्याएं आ रही थीं. हम इसका बेहतर समाधान ढूंढेंगे.
- Vulkan की बाहरी मेमोरी का इस्तेमाल करते समय होने वाली समस्या को ठीक किया गया है. इस समस्या में, होस्ट पर मेमोरी टाइप इंडेक्स को इंपोर्ट करते समय गड़बड़ी हो सकती थी.
GL_ALIASED_POINT_SIZE_RANGEके इम्यूलेशन में मौजूद उस समस्या को ठीक किया गया है जिसमें होस्ट पर enum काम नहीं कर रहा था.- होस्ट किए गए कुछ जीपीयू पर,
GL_EXT_shader_framebuffer_fetchसे जुड़ी गड़बड़ियों की वजह से Skia शेडर कंपाइल नहीं हो पा रहे थे. इस समस्या को ठीक कर दिया गया है. - D3D9 ANGLE रेंडरर की हमारी कॉपी को कुछ वर्शन पहले हटा दिया गया था. इसलिए, अब हम उन उपयोगकर्ताओं को भी d3d11 ANGLE पर अपने-आप स्विच कर देते हैं जिन्होंने यूज़र इंटरफ़ेस (यूआई) की प्राथमिकताओं में इसे चुना था.
- Windows पर WGL को शुरू करने के दौरान, डीबग करने की ज़्यादा जानकारी जोड़ी गई है, ताकि गड़बड़ियों का पता लगाया जा सके.
hw.gltransport=virtio-gpu-pipeचालू होने पर, होस्ट से मेहमान को ट्रांसफ़र करते समय होस्ट पर स्पिन नहीं होता. इससे परफ़ॉर्मेंस बेहतर होती है.- OpenGLES इम्यूलेशन के शुरू न होने पर, डीबग लॉगिंग की सुविधा जोड़ी गई है.
- स्नैपशॉट लोड होने पर, YouTube वीडियो के फ़्लिकर होने या न दिखने की समस्या ठीक की गई है.
- libvpx के लिए, फ़िलहाल सॉफ़्टवेयर डिकोड पर वापस स्विच कर दिया गया है. ऐसा इसलिए, क्योंकि हमें libvpx के CUDA हार्डवेयर डिकोड में समस्याएं मिली हैं. अगर होस्ट साइड पर CUDA हार्डवेयर डिकोड करने की सुविधा काम करती है, तो libvpx के हार्डवेयर डिकोड करने की सुविधा को फिर से चालू किया जा सकता है. इसके लिए, एनवायरमेंट वैरिएबल
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1का इस्तेमाल करें.
30.0.10 (30 अप्रैल, 2020)
इस अपडेट में, Android Studio में सीधे तौर पर एम्युलेटर चलाने की सुविधा शामिल है. साथ ही, इसमें वर्चुअल डिवाइसों के लिए फ़्रीफ़ॉर्म विंडो मोड डिफ़ॉल्ट रूप से चालू होता है.
Android Studio में Emulator को चलाना
Android Emulator को अब सीधे तौर पर Android Studio में चलाया जा सकता है. इस सुविधा का इस्तेमाल करके, स्क्रीन की जगह बचाई जा सकती है. साथ ही, हॉटकी का इस्तेमाल करके, एम्युलेटर और एडिटर विंडो के बीच तेज़ी से नेविगेट किया जा सकता है. इसके अलावा, अपने आईडीई और एम्युलेटर के वर्कफ़्लो को एक ही ऐप्लिकेशन विंडो में व्यवस्थित किया जा सकता है.
फ़्रीफ़ॉर्म विंडो मोड
अब Android Studio में वर्चुअल डिवाइस बनाते समय, 13.5 इंच की फ़्रीफ़ॉर्म टैबलेट हार्डवेयर प्रोफ़ाइल चुनकर, फ़्रीफ़ॉर्म विंडो मोड वाला AVD बनाया जा सकता है. इस हार्डवेयर प्रोफ़ाइल के लिए, Android 11 डेवलपर के लिए झलक 3 या इसके बाद के वर्शन वाली सिस्टम इमेज की ज़रूरत होती है.
पहले से मालूम समस्याएं
फ़िलहाल, विंडो मैनेजर को फ़ोकस ट्रांसफ़र करने से जुड़ी समस्याओं की वजह से, फ़्रीफ़ॉर्म विंडो का साइज़ बदलने की सुविधा काम नहीं कर रही है. इस समस्या को Android 11 की आने वाली सिस्टम इमेज रिलीज़ में ठीक कर दिया जाएगा.
30.0.0 (19 फ़रवरी, 2020)
इस अपडेट में, Android 11 (एपीआई लेवल 30) की सिस्टम इमेज शामिल हैं. साथ ही, एआरएम बाइनरी चलाने पर परफ़ॉर्मेंस को बेहतर बनाया गया है.
Android 11 की सिस्टम इमेज
अब Android 11 पर चलने वाला AVD बनाया जा सकता है. इसके लिए, एपीआई लेवल 30 की उपलब्ध सिस्टम इमेज में से कोई एक चुनें:
- x86: इसमें x86 और ARMv7, दोनों एबीआई शामिल हैं.
- x86_64: इसमें x86, x86_64, ARMv7, और ARM64 एबीआई शामिल हैं.
Android 9 और 11 की सिस्टम इमेज पर, एआरएम बाइनरी के लिए सहायता
अगर आपका ऐप्लिकेशन ARM बाइनरी पर निर्भर था और इस वजह से, आपको Android Emulator का इस्तेमाल करने में समस्या आ रही थी, तो अब अपने ऐप्लिकेशन को चलाने के लिए, Android 9 x86 सिस्टम इमेज या Android 11 की किसी भी सिस्टम इमेज का इस्तेमाल किया जा सकता है. अब ARM बाइनरी चलाने के लिए, किसी खास सिस्टम इमेज को डाउनलोड करना ज़रूरी नहीं है. Android 9 और Android 11 की ये सिस्टम इमेज, डिफ़ॉल्ट रूप से एआरएम के साथ काम करती हैं. साथ ही, एआरएम इम्यूलेशन की सुविधा वाली इमेज की तुलना में, इनकी परफ़ॉर्मेंस काफ़ी बेहतर होती है.
पहले से मालूम समस्याएं
- कुछ ARMv7 बाइनरी, Android 11 x86 और x86_64 सिस्टम इमेज पर नहीं चलती हैं. Android 11 को टारगेट करते समय, ARM64 के लिए ऐप्लिकेशन बनाएं.
29.0.11 (29 मई, 2019)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- Windows: अब एम्युलेटर,
libgccके साथ स्टैटिक तौर पर कंपाइल होने के बजाय, हमारे शिप किए गएlibgccDLL पर निर्भर करता है. - Linux: gRPC API में logcat की सुविधा जोड़ी गई. gRPC के बारे में ज़्यादा जानने के लिए, gRPC स्ट्रीमिंग एम्युलेटर (Linux) देखें.
- एम्युलेटर में अब 32-बिट x86 गेस्ट के लिए हेडलेस बिल्ड शामिल है
(
qemu-system-i386). इस सुविधा की मदद से, एपीआई लेवल 26 और इससे कम वाले x86 32-बिट इमेज को हेडलेस बिल्ड के साथ चलाया जा सकता है. ध्यान दें कि API 27 और उसके बाद के वर्शन वाले 32-बिट x86 गेस्ट के लिए, एम्युलेटर 64-बिट इंजन (qemu-system-x86_64) का इस्तेमाल करता है. ऐसा इसलिए, क्योंकि इन सिस्टम इमेज में, userspace 32-बिट होता है, जबकि कर्नेल 64-बिट होता है. Android Studio, इम्यूलेशन इंजन चुनने के लिए कर्नल का इस्तेमाल करता है. - अब
ANDROID_QT_LIB_PATHएनवायरमेंट वैरिएबल का इस्तेमाल करके, Qt लाइब्रेरी के कस्टम पाथ तय किए जा सकते हैं. - अगर QEMU1 एक्ज़ीक्यूटेबल (
emulator[64]-[x86|arm|etc]) को एम्युलेटर डायरेक्ट्री में रखा गया है, तो अब QEMU1 का इस्तेमाल करने वाले पिछले बाइनरी के साथ एम्युलेटर चलाया जा सकता है. - Windows: उस समस्या को ठीक किया गया है जिसकी वजह से कभी-कभी "वीसीपीयू बंद करने का अनुरोध" मैसेज के साथ एम्युलेटर शुरू नहीं हो पाता था.
- Vulkan में, कंप्रेस की गई बनावटी बनावटों में गैर-ज़रूरी पाइपलाइन बैरियर से जुड़ी समस्या को ठीक किया गया है.
- http प्रॉक्सी के उन अनुरोधों से जुड़ी गड़बड़ी को ठीक किया गया है जिनमें चंक किए गए ट्रांसफ़र कोडिंग का इस्तेमाल किया गया था. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें.
29.0.9 (7 मई, 2019)
इस अपडेट में, यह समस्या ठीक की गई है:
- Windows: उस समस्या को ठीक कर दिया गया है जिसकी वजह से एम्युलेटर पर वर्चुअल सीन कैमरा और वेबकैम काम नहीं कर रहा था.
29.0.8 (6 मई, 2019)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- जब हर डिसप्ले को गिनने और सेट करने के लिए गेस्ट सेवा मौजूद हो, तब एक से ज़्यादा वर्चुअल हार्डवेयर डिसप्ले के लिए सहायता जोड़ी गई. आने वाले समय में, एम्युलेटर सिस्टम इमेज के अपडेट में एक से ज़्यादा वर्चुअल हार्डवेयर डिसप्ले शामिल किए जाएंगे.
- एक नया कमांड लाइन विकल्प जोड़ा गया है:
-delay-adb. इस विकल्प को चुनने पर, मेहमान के बूट होने (कोल्ड बूट से) तक, ADB पैकेट की प्रोसेसिंग बंद हो जाती है. इस विकल्प की मदद से, उन समस्याओं को हल किया जा सकता है जो CI एनवायरमेंट में एम्युलेटर का इस्तेमाल करने पर हो सकती हैं. ऐसा तब होता है, जब एम्युलेटर रीबूट होता है और एक ही समय में DDMS का इस्तेमाल करता है. - स्नैपशॉट लोड करते समय होने वाली गड़बड़ी को ठीक किया गया है. इस गड़बड़ी की वजह से,
glIsRenderbufferगलत वैल्यू दिखाता था. - Android डिवाइस को मेहमान के तौर पर रीबूट करने पर, पुरानी स्थिति से जुड़ी कुछ समस्याएं ठीक की गईं.
- Windows: उन समस्याओं को ठीक किया गया जिनकी वजह से, Windows के उपयोगकर्ता नाम में ASCII के बाहर के वर्ण या स्पेस होने पर, एम्युलेटर शुरू नहीं हो पाता था.
पहले से मालूम समस्याएं
- ऑटोमोटिव सिस्टम इमेज के लिए, स्नैपशॉट यूज़र इंटरफ़ेस (यूआई) बंद है. ऐसा इसलिए है, क्योंकि फ़िलहाल इन सिस्टम इमेज के लिए स्नैपशॉट की सुविधा उपलब्ध नहीं है.
29.0.6 (1 मई, 2019)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.
QEMU1 और 32-बिट Windows के लिए सहायता बंद कर दी गई है
एम्युलेटर को बेहतर तरीके से बनाए रखने के लिए, अब हम QEMU1 और 32-बिट Windows बाइनरी शिप नहीं करते. अगर Windows 32-bit का इस्तेमाल किया जा रहा है, तो 29.0.6 वर्शन पर अपग्रेड नहीं किया जा सकता.
Android Q की सिस्टम इमेज के लिए ज़रूरी शर्तें
अगर आपको Android Q सिस्टम इमेज का इस्तेमाल करने वाला AVD चलाना है, तो अब आपको 29.0.6 (यह रिलीज़ के लिए तैयार वर्शन है) या इसके बाद के वर्शन का इस्तेमाल करना होगा.
Project Marble में किए गए सुधार
यह अपडेट, Project Marble पहल के तहत किए जा रहे हमारे काम का हिस्सा है. इस पहल का एलान नवंबर 2018 में Android Developer Summit में किया गया था. पिछली रिलीज़ में, Project Marble से जुड़े अन्य सुधारों के बारे में ज़्यादा जानने के लिए, Android Emulator: Project Marble से जुड़े सुधार लेख पढ़ें.
इस अपडेट के लिए, Project Marble के तहत किए गए ज़्यादातर काम में, एम्युलेटर के संसाधन इस्तेमाल को कम करने पर फ़ोकस किया गया. जैसे, एम्युलेटर के सीपीयू इस्तेमाल को कम करना. हमने ऐसे बदलाव भी किए हैं जिनसे अलग-अलग तरह के एनवायरमेंट में एम्युलेटर का इस्तेमाल करना आसान हो गया है. साथ ही, हमने क्वालिटी से जुड़ी सामान्य समस्याओं को ठीक किया है.
यहां दिए गए सेक्शन में, Project Marble से जुड़े उन सुधारों के बारे में बताया गया है जो इस अपडेट में शामिल हैं:
होस्ट के ऑडियो के काम करने के तरीके में सुधार
वर्शन 28.0.3 से, एम्युलेटर डिफ़ॉल्ट रूप से होस्ट से ऑडियो इनपुट को ब्लॉक करता है.
अगर आपको होस्ट के ऑडियो डेटा का इस्तेमाल करना है, तो इस विकल्प को चालू किया जा सकता है. इसके लिए, ज़्यादा कंट्रोल > माइक्रोफ़ोन पर जाएं और वर्चुअल माइक्रोफ़ोन, होस्ट के ऑडियो इनपुट का इस्तेमाल करता है को चालू करें. एम्युलेटर को रीस्टार्ट करने पर, यह विकल्प अपने-आप बंद हो जाता है.
अगर कमांड लाइन का इस्तेमाल किया जा रहा है, तो -allow-host-audio विकल्प का इस्तेमाल करके भी होस्ट ऑडियो को चालू किया जा सकता है. साथ ही, होस्ट ऑडियो डेटा को चालू या बंद करने के लिए, यहां दिए गए ADB कमांड का इस्तेमाल किया जा सकता है:
adb emu avd 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डिकोडिंग में क्रैश से बचने के लिए, अब इम्यूलेटर, पीएनजी इमेज को डिकोड करने के लिएlibpngकी अपनी कॉपी का इस्तेमाल करता है. - Linux के कुछ ऐसे इंस्टॉलेशन में समस्याएं आ रही थीं जिनमें Qt पर निर्भर कुछ लाइब्रेरी के साथ काम न करने वाले वर्शन शामिल थे. इसलिए, अब हम एम्युलेटर के साथ
libfreetype,libsoftokn,libsqlite3, औरlibxkbcommonको पैकेज करते हैं. - अब मॉनिटर के डाइमेंशन पाने के लिए, एमुलेटर Qt लाइब्रेरी के बजाय प्लैटफ़ॉर्म की नेटिव विंडोइंग लाइब्रेरी का इस्तेमाल करता है. Qt लाइब्रेरी से भरोसेमंद नतीजे नहीं मिलते थे.
कोल्ड बूट के बाद, सीपीयू के अपने-आप ऑप्टिमाइज़ होने की सुविधा
सीपीयू के इस्तेमाल की समस्या को ठीक करने के लिए, अब एम्युलेटर को boot complete सिग्नल मिलने के बाद, कोल्ड बूट पर यहां दी गई ADB कमांड चलाने की सुविधा मिलती है:
adb shell settings put screen_off_timeout 214783647- इस कमांड से, स्क्रीन बंद होने का टाइम आउट बढ़ जाता है. इससे, एम्युलेटर को बैटरी मोड में बिना चार्ज किए इस्तेमाल किया जा सकता है. बैटरी मोड में, बैकग्राउंड में सीपीयू का इस्तेमाल काफ़ी कम हो जाता है.
- AC चार्जिंग मोड में, GMSCore बैकग्राउंड में होने वाली कार्रवाइयों के लिए, डिवाइस के सभी सीपीयू कोर का इस्तेमाल कर सकता है. जैसे, ऐप्लिकेशन अपडेट करना. इससे उपयोगकर्ता के डिवाइस पर कोई असर नहीं पड़ता और उसे कोई चेतावनी भी नहीं मिलती.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO- इस कमांड से, Google Search ऐप्लिकेशन के लिए माइक्रोफ़ोन की अनुमतियां रद्द हो जाती हैं. इससे, Google Search ऐप्लिकेशन के चालू होने पर, होम स्क्रीन और लॉन्चर पर बैकग्राउंड सीपीयू का इस्तेमाल काफ़ी कम हो जाता है.
- यह निर्देश, होस्ट के लिए होस्ट ऑडियो बंद करने की एम्युलेटर की डिफ़ॉल्ट सेटिंग के अलावा चलाया जाता है. इसके अलावा, यह 28.0.23 वर्शन में हॉटवर्ड की पहचान करने की सुविधा के लिए बताए गए सीपीयू के इस्तेमाल को कम करने के तरीके को अपने-आप लागू करता है.
परफ़ॉर्मेंस मॉनिटरिंग के लिए नए एनवायरमेंट वैरिएबल
अब दो नए एनवायरमेंट वैरिएबल का इस्तेमाल किया जा सकता है. इनकी मदद से, एम्युलेटर की परफ़ॉर्मेंस और संसाधन के इस्तेमाल की बेहतर तरीके से निगरानी की जा सकती है.
SHOW_PERF_STATS=1- यह एनवायरमेंट वैरिएबल, सीपीयू और रैम, दोनों के इस्तेमाल को ट्रैक करने की सुविधा चालू करता है. RAM के इस्तेमाल को ट्रैक करने की सुविधा, ग्राफ़िक के इस्तेमाल और कुल रेज़िडेंट मेमोरी के बीच अंतर करती है.
ANDROID_EMU_TRACING=1- इस एनवायरमेंट वैरिएबल की मदद से, हर बार इनपुट या ग्राफ़िक्स ऑपरेशन में ज़्यादा समय (1 मि॰से॰ से ज़्यादा) लगने पर प्रिंटिंग की सुविधा चालू की जा सकती है.
- हम इस एनवायरमेंट वैरिएबल का इस्तेमाल, उन समस्याओं का पता लगाने के लिए भी कर रहे हैं जो Windows का इस्तेमाल करने वाले लोगों को हुई हैं. इन समस्याओं में, macOS या Linux का इस्तेमाल करने वाले लोगों की तुलना में ज़्यादा जंक (ड्रॉप किए गए फ़्रेम) शामिल हैं.
Project Marble में सामान्य सुधार
इस अपडेट में, प्रोजेक्ट मार्बल के तहत किए गए ये सामान्य सुधार भी शामिल हैं:
- अब कंसोल कमांड का इस्तेमाल करके, एम्युलेटर पर सभी वीसीपीयू को तुरंत रोका जा सकता है:
adb emu avd pauseadb emu avd resume
- OpenGL ड्राइंग के ओवरहेड को काफ़ी हद तक कम किया गया है. इस सुधार से, एम्युलेटर के ऐनिमेशन चलाने के दौरान सीपीयू का इस्तेमाल कम होता है.
- QEMU के e1000 वर्चुअल नेटवर्क डिवाइस के लिए, सहायता की सुविधा फिर से शुरू कर दी गई है. इस डिवाइस का इस्तेमाल, ब्रिज किए गए नेटवर्क एनवायरमेंट में एम्युलेटर सेट अप करने के लिए किया जा सकता है. ब्रिज किए गए नेटवर्क एनवायरमेंट में, एम्युलेटर को होस्ट नेटवर्क पर और होस्ट नेटवर्क को एम्युलेटर पर दिखाया जाता है.
- अब QEMU 2.12 के हिसाब से BIOS बाइनरी का इस्तेमाल, एम्युलेटर को चालू करने के लिए किया जाता है.
- वीडियो एन्कोडिंग और डिकोडिंग के लिए,
ffmpegके वर्शन को 3.4.5 पर अपग्रेड किया गया. - macOS पर QEMU के मुख्य लूप I/O का ओवरहेड काफ़ी कम कर दिया गया है. इसके लिए,
select()पर आधारित मुख्य लूप कोkqueueपर आधारित मुख्य लूप से बदल दिया गया है. - Logcat बफ़र का साइज़ बढ़ाकर 2 एमबी कर दिया गया है. इससे, एम्युलेटर के साथ logcat चलाने पर, अचानक EOF से जुड़ी समस्याओं को हल करने में मदद मिलेगी.
- अब एम्युलेटर,
LC_ALL=Cएनवायरमेंट वैरिएबल को डिफ़ॉल्ट रूप से एक्सपोर्ट करता है. इस बदलाव से, अलग-अलग भाषाओं में एम्युलेटर चलाने से जुड़ी क्रैश और असंगतता की समस्याएं ठीक हो गई हैं. - अब परफ़ॉर्मेंस के आंकड़ों का इस्तेमाल करके, एम्युलेटर के सीपीयू और रैम के इस्तेमाल को ट्रैक किया जा सकता है. इन आंकड़ों को ज़्यादा कंट्रोल > सेटिंग > ऐडवांस > परफ़ॉर्मेंस के आंकड़े में जाकर ऐक्सेस किया जा सकता है. अगर एम्युलेटर, सीपीयू या रैम का बहुत ज़्यादा इस्तेमाल कर रहा है, तो इन आंकड़ों का इस्तेमाल करके समस्याओं का तुरंत पता लगाएं.
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPEअब एमुलेट किए गए GPU के बजाय, होस्ट GPU के नतीजे का इस्तेमाल करता है. इस बदलाव से उन समस्याओं को ठीक करने में मदद मिलती है जिनमें इमेज और ऐसेट, रीडबैक के लिए सही फ़ॉर्मैट में न होने की वजह से नहीं दिखती हैं.- OpenGL ES एक्सटेंशन
GL_EXT_texture_format_BGRA8888औरGL_APPLE_texture_format_BGRA8888के लिए सहायता जोड़ी गई है. हालांकि, ऐसा तब होगा, जब ये एक्सटेंशन होस्ट के साथ काम करते हों. - Bugreport यूज़र इंटरफ़ेस (यूआई) में, गड़बड़ी से जुड़ी ज़्यादा जानकारी जोड़ी गई है. इसके अलावा, इन कमांड का इस्तेमाल करके, कंसोल से गड़बड़ी की रिपोर्ट ऐक्सेस की जा सकती हैं:
telnet localhost 5554avd bugreport
- Android Q सिस्टम इमेज पर, एम्युलेटर अपनी कम से कम रैम को 2 जीबी तक बढ़ा देता है.
- जब भी OpenGL या Hypervisor शुरू नहीं हो पाता है, तब ज़्यादा लॉगिंग और प्रिंटिंग की सुविधा जोड़ी गई है.
- अगर एम्युलेटर, एवीडी का एक साथ
-read-onlyइंस्टेंस शुरू नहीं कर पाता है, तो अब एम्युलेटर,-read-onlyएवीडी को तीन सेकंड में तीन बार फिर से लॉन्च करने की कोशिश करता है. इस बदलाव से, एम्युलेटर के एक साथ कई-read-onlyइंस्टेंस लॉन्च करने की संभावना बढ़ जाती है. ऐसा तब होता है, जब उस एवीडी के अन्य राइटेबल इंस्टेंस पुरानी फ़ाइलों को मिटा नहीं पाते. - आने वाली सिस्टम इमेज के लिए, एम्युलेटर अब Hardware Composer 2.0 के साथ काम करता है. इस बदलाव से, ज़्यादातर ऐनिमेशन चलाने पर ड्राइवर का ओवरहेड कम हो जाएगा.
- अब एम्युलेटर बिल्ड, CMake/Ninja पर आधारित है.
- एम्युलेटर के एक्सटेंडेड कंट्रोल के यूज़र इंटरफ़ेस (यूआई) में, कीबोर्ड शॉर्टकट की टेबल में मौजूद डिवाइडर लाइनें वापस आ गई हैं.
- उपयोगकर्ता अब हमारी टीम को सीपीयू और रैम के इस्तेमाल की मेट्रिक देने के लिए ऑप्ट-इन कर सकते हैं. ये मेट्रिक, 10 सेकंड के अंतराल पर दी जाती हैं. हम इन मेट्रिक का इस्तेमाल, एम्युलेटर के संसाधन इस्तेमाल करने से जुड़े डेटा को बेहतर बनाने के लिए करते हैं. इसमें हम अपने उपयोगकर्ताओं के अलग-अलग इस्तेमाल के उदाहरणों को शामिल करते हैं. इससे हमें एम्युलेटर को ज़्यादा असरदार और रिस्पॉन्सिव बनाने में मदद मिलती है.
Project Marble से जुड़ी सामान्य समस्याएं ठीक की गईं
इस अपडेट में, Project Marble पहल के तहत किए गए ये सामान्य सुधार भी शामिल हैं:
- Android Q सिस्टम इमेज का इस्तेमाल करते समय, Intel GPU वाले सिस्टम पर दिखने वाले गलत फ़्रेम और फ़्रेम के हिलने से जुड़ी समस्याएं ठीक की गईं.
- उन समस्याओं को ठीक किया गया है जिनमें Pixel 2 XL की स्किन (या नॉच या गोल कोनों वाली कोई भी स्किन) के साथ Android Q सिस्टम इमेज का इस्तेमाल करने पर, काली स्क्रीन दिखती थी.
-partition-sizeकमांड लाइन विकल्प से डेटा पार्टीशन का साइज़ सेट न होने की समस्या को ठीक किया गया है.- हमने उस समस्या को ठीक कर दिया है जिसमें कुछ मामलों में, Linx एमुलेटर पर pulseaudio स्पिन होता था और पूरे सीपीयू कोर का इस्तेमाल करता था.
- कंप्रेस की गई बनावटों को प्रोसेस करते समय, मेमोरी ऐक्सेस करने से जुड़ी समस्याओं को ठीक किया गया.
glTexSubImage2Dमें होस्ट पर होने वाली GL गड़बड़ियों को ठीक किया गया है. ये गड़बड़ियां, कुछ gralloc बफ़र (RGB 565, RGB10A2, RGB(A)16F फ़ॉर्मैट वाले) को अपडेट करते समय होती थीं.- Android Q की सिस्टम इमेज में, स्नैपशॉट के साथ डिस्प्ले से जुड़ी समस्या को ठीक किया गया है. इसमें सूचना पैनल की ज्यामिति को, इंस्टेंस डिवाइज़र की गलत सेटिंग के साथ रेंडर किया गया था.
- लॉन्च के दौरान क्रैश होने और फ़्रीज़ होने की कुछ ऐसी समस्याओं को ठीक किया गया है जिन्हें दोहराना मुश्किल था. ये समस्याएं, Qt के सिग्नल खोने या स्टार्टअप के दौरान अस्थिर और असंगत स्थितियों की वजह से होती थीं.
- एक साथ कई अनुरोध मिलने पर होने वाली कई समस्याओं को ठीक किया गया है. अब हम ThreadSanitizer (TSAN) की मदद से, Linux इम्यूलेटर बना सकते हैं. इससे उन गड़बड़ियों का आसानी से पता लगाया जा सकता है जिन्हें ठीक करना मुश्किल होता है.
- Linux का इस्तेमाल करने वाले लोगों के लिए: हमें पता चला है कि कुछ होस्ट कर्नल पर, मेहमान के तौर पर इस्तेमाल किए जा रहे Android कर्नल में गड़बड़ी हो सकती है. साथ ही, यह KVM से बाहर निकल सकता है. ऐसा सामान्य हार्डवेयर की गड़बड़ी की वजह से होता है. अब ऐसा होने पर, एम्युलेटर
abort()हो जाएगा, ताकि डीबग करने में आसानी हो. इससे पहले, एम्युलेटर सिर्फ़ हैंग हो जाता था. - Linux का इस्तेमाल करने वाले लोगों के लिए: CI सेटअप को आसानी से इस्तेमाल करने के लिए,
stdoutऔरstderr, दोनों को किसी फ़ाइल पर रीडायरेक्ट करने के लिए,-stdouterr-file <file-name>कमांड-लाइन के नए विकल्प का इस्तेमाल किया जा सकता है. SO_REUSEADDRका गलत तरीके से इस्तेमाल करने की समस्या को ठीक किया गया है. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें.- Windows Emulator में लंबे समय से आ रही एक समस्या को ठीक किया गया है. इस समस्या में, अगर उपयोगकर्ता नाम में स्पेस होते थे, तो एडीबी कमांड जैसी सब-प्रोसेस शुरू नहीं हो पाती थीं.
- HAXM vCPU थ्रेड में RCU के इनिशियलाइज़ेशन के मौजूद न होने की समस्या को ठीक किया गया है. इस फ़िक्स से, कुछ क्रैश और रेस कंडीशन की समस्याओं को ठीक किया जा सकता है.
- Android Q की हाल ही की सिस्टम इमेज का इस्तेमाल करके, स्नैपशॉट यूज़र इंटरफ़ेस (यूआई) से स्नैपशॉट सेव और लोड करने के कुछ पैटर्न में होने वाली क्रैश की समस्या को ठीक किया गया है.
- उस समस्या को ठीक किया गया है जिसमें स्नैपशॉट से एम्युलेटर शुरू करने पर, वर्चुअल सीन कैमरा खाली दिखता था. ऐसा तब होता था, जब स्नैपशॉट सेव करते समय एआर मैक्रो चल रहा हो.
- हमने उस समस्या को ठीक किया है जिसमें रिमोट डेस्कटॉप सेटअप वाले कुछ उपयोगकर्ताओं को Linux पर एम्युलेटर लॉन्च करते समय काली स्क्रीन दिखती थी. इससे बचने के लिए, अब एम्युलेटर साफ़ तौर पर
MESA_RGB_VISUALको कॉन्फ़िगर करता है. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें. - एक समस्या ठीक की गई है, जिसमें टीवी एवीडी पर रोटेट करने वाले बटन दिखते थे.
- एक समस्या ठीक की गई है. इसमें अगर एम्युलेटर को हमेशा सबसे ऊपर सेट किया जाता था, तो एम्युलेटर को घुमाने पर हर बार एक्सटेंड किए गए कंट्रोल वाली विंडो दिखती थी.
फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए हार्डवेयर प्रोफ़ाइलें
एम्युलेटर में अब फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए हार्डवेयर प्रोफ़ाइलें शामिल हैं. इन नई हार्डवेयर प्रोफ़ाइलों का इस्तेमाल करने के लिए, आपके पास Android Studio 3.5 Canary 10 या इसके बाद का वर्शन होना चाहिए.
AVD बनाने के लिए, फ़ोल्ड किए जा सकने वाले हार्डवेयर की दो प्रोफ़ाइलों का इस्तेमाल किया जा सकता है:
- 7.3" फ़ोल्डेबल: अनफ़ोल्ड होने पर 1536x2152, फ़ोल्ड होने पर 4.6" 840x1960
- 8" फ़ोल्ड किया जा सकने वाला डिवाइस: अनफ़ोल्ड होने पर 2200x2480, फ़ोल्ड होने पर 6.6" 1480x2480
इनमें से किसी एक हार्डवेयर प्रोफ़ाइल का इस्तेमाल करके एम्युलेटर चलाने पर, एम्युलेटर के टूलबार में मौजूद फ़ोल्ड और अनफ़ोल्ड करने की कार्रवाइयों, कंसोल कमांड या कीबोर्ड के इन शॉर्टकट का इस्तेमाल करके, डिवाइस को फ़ोल्ड और अनफ़ोल्ड किया जा सकता है:
- फ़ोल्ड करें:
Ctrl + F(macOS परCommand + F) - अनफ़ोल्ड करें:
Ctrl + U(macOS परCommand + U)
एआर मैक्रो
इमुलेटर में अब एआर मैक्रो शामिल हैं. इनकी मदद से, एआर की सामान्य कार्रवाइयों को टेस्ट किया जा सकता है. उदाहरण के लिए, डिवाइस के सभी सेंसर को उनकी डिफ़ॉल्ट स्थिति पर रीसेट करने के लिए, मैक्रो का इस्तेमाल किया जा सकता है.
ज़्यादा जानकारी के लिए, मैक्रो की मदद से एआर की सामान्य कार्रवाइयों को टेस्ट करना लेख पढ़ें.
Vulkan के साथ काम करता है (Windows, Linux)
Windows और Linux का इस्तेमाल करने वाले लोग, Android Emulator के साथ Vulkan ऐप्लिकेशन की जांच कर सकते हैं. इसके लिए, उन्हें Vulkan 1.1 तक के वर्शन का इस्तेमाल करना होगा. हालांकि, इसके लिए उन्हें Vulkan 1.1 के साथ काम करने वाली सिस्टम इमेज (Vulkan 1.1 के लिए Android Q Beta 3 या इसके बाद का वर्शन, Vulkan 1.0 के लिए Android Q Beta 2) और Vulkan 1.1 के साथ काम करने वाले होस्ट जीपीयू का इस्तेमाल करना होगा. इसमें 2014 और इसके बाद के ज़्यादातर Intel, NVIDIA, और AMD जीपीयू शामिल हैं.
Vulkan की सुविधा चालू करने के लिए, आपको अपनी ~/.android/advancedFeatures.ini फ़ाइल में ये फ़ीचर फ़्लैग जोड़ने होंगे. अगर यह फ़ाइल मौजूद नहीं है, तो इसे बनाएं:
Vulkan = onGLDirectMem = on
ROM डेवलपर के लिए शुरुआती सहायता
ROM डेवलपर, अब Vulkan की सुविधा वाले एम्युलेटर को चला सकते हैं. ये डेवलपर, AOSP master ब्रांच पर sdk_phone_x86 या sdk_phone_x86_64
(userdebug, eng वैरिएंट) को टारगेट कर रहे हैं.
यह सुविधा, फ़िलहाल एक्सपेरिमेंट के तौर पर उपलब्ध है. यह मुख्य रूप से उन डेवलपर के लिए है जो सिस्टम इमेज, ड्राइवर, और गेम इंजन पर काम करते हैं. अब भी कई एक्सटेंशन मौजूद नहीं हैं.
हालांकि, 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 यूज़र इंटरफ़ेस (यूआई) को पूरी तरह से रेंडर करता है.
अगर आपके पास NVIDIA या AMD का ऐसा जीपीयू है जो Vulkan के साथ काम करता है, तो Skia रेंडरिंग को आज़माने के लिए यहां दिए गए कमांड का इस्तेमाल करें. इसके लिए, आपको Android Q Beta 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 शेल कमांड चलाना. इसमें ज़्यादा समय लग सकता है या टेलनेट कंसोल का इस्तेमाल करना. यह तेज़ है, लेकिन हो सकता है कि यह कुछ नेटवर्क कॉन्फ़िगरेशन के साथ काम न करे.
- सीआई उपयोगकर्ता अक्सर इम्यूलेटर को हेडलेस मोड में चलाते हैं. इससे ऐसी समस्याओं का पता लगाना मुश्किल हो सकता है जिनके लिए स्क्रीन का दिखना या इंटरैक्टिव होना ज़रूरी है.
- रिमोट डेस्कटॉप का इस्तेमाल करने वाले लोग, होस्ट जीपीयू रेंडरिंग का इस्तेमाल करते समय अक्सर एम्युलेटर के साथ इंटरैक्ट नहीं कर पाते. ऐसा इसलिए होता है, क्योंकि जीपीयू रेंडरिंग अक्सर होस्ट के नॉन-वर्चुअल डिसप्ले से जुड़ी होती है.
इस समस्या को हल करने के लिए, Linux मशीन पर चलने वाला एम्युलेटर अब gRPC सेवा देता है. gRPC , आरपीसी के लिए एक सामान्य फ़्रेमवर्क है, जो एचटीटीपी पर काम करता है.
डिफ़ॉल्ट रूप से, एम्युलेटर की gRPC सेवा बंद होती है. हालांकि, इस सेवा को चालू किया जा सकता है. इसके लिए, कमांड लाइन के इस विकल्प का इस्तेमाल करें. इसमें <port> वह पोर्ट है जिस पर एम्युलेटर को gRPC अनुरोधों को पूरा करना चाहिए. आम तौर पर, यह 5556 होता है:
-grpc <port>
सेवा शुरू होने के बाद, क्लाइंट से gRPC कमांड जारी की जा सकती हैं. कमांड के मौजूदा सेट की मदद से, इनपुट इवेंट भेजे जा सकते हैं. साथ ही, स्क्रीनशॉट भी पाए जा सकते हैं. इन कमांड की मदद से, इन समस्याओं को हल किया जा सकता है:
- इनपुट कमांड को एचटीटीपी पर कम ओवरहेड के साथ एम्युलेटर को भेजा जा सकता है. एचटीटीपी, अन्य नेटवर्क कॉन्फ़िगरेशन में भी कमांड भेजने की सुविधा देता है.
- मौजूदा स्क्रीन के बारे में क्वेरी करने के लिए, स्क्रीनशॉट कमांड भेजी जा सकती हैं. भले ही, एम्युलेटर हेडलेस मोड में चल रहा हो. इंटरैक्टिविटी के लिए, इनपुट इवेंट को वापस एम्युलेटर पर भी भेजा जा सकता है.
- रिमोट डेस्कटॉप का इस्तेमाल करने वाले लोग, मुख्य डिसप्ले पर हेडलेस मोड में एम्युलेटर चला सकते हैं. इसके लिए, उन्हें जीपीयू की मदद से रेंडरिंग की सुविधा का इस्तेमाल करना होगा. साथ ही, एम्युलेटर के साथ इंटरैक्ट करने के लिए, gRPC का इस्तेमाल करके स्क्रीनशॉट लेने और इनपुट इवेंट भेजने होंगे.
उपलब्ध निर्देशों की पूरी सूची देखने के लिए, यह प्रोटोबफ़ देखें.
gRPC का इस्तेमाल शुरू करने में आपकी मदद करने के लिए, हमने कुछ सैंपल क्लाइंट उपलब्ध कराए हैं. इन्हें रेफ़र किया जा सकता है.
फ़िलहाल, इसमें ये सैंपल शामिल हैं:
- यह Go पर आधारित एक सेवा है. इसका इस्तेमाल, इम्यूलेटर की स्थितियों के बारे में क्वेरी करने के लिए किया जा सकता है.
- यह एक React ऐप्लिकेशन है. इसमें स्क्रीनशॉट और इनपुट आरपीसी के ज़रिए रिमोट इंटरैक्टिविटी दिखाई गई है. इस सैंपल के लिए, protobuf का 3.7.0 या इसके बाद का वर्शन ज़रूरी है.
- यह Python का एक सैंपल है. यह इम्यूलेटर के वीएम कॉन्फ़िगरेशन के बारे में क्वेरी करता है. इसके बाद, यह कई कमांड भेजता है.
28.0.25 (29 मार्च, 2019)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
बिना डिसप्ले वाले एम्युलेटर का बिल्ड
सिस्टम की कुछ ज़रूरी शर्तों की वजह से, Docker और अन्य कंटीन्यूअस इंटिग्रेशन (सीआई) वर्कफ़्लो के साथ एम्युलेटर को सेट अप करना मुश्किल हो गया है. जैसे, सिस्टम को Qt और इसकी शेयर की गई लाइब्रेरी की डिपेंडेंसी के साथ काम करना चाहिए. इसके अलावा, कुछ और समस्याएं भी हैं.
इस समस्या को हल करने के लिए, हमने पहला कदम उठाया है. हमने QEMU एक्ज़ीक्यूटेबल के साथ, एम्युलेटर लॉन्चर का एक वैरिएंट लॉन्च किया है. यह Qt पर निर्भर नहीं करता. Linux पर, अब भी libX11 का लिंक मौजूद है. हालांकि, हमें उम्मीद है कि हम इसे भी जल्द ही हटा देंगे.
हेडलेस एम्युलेटर का इस्तेमाल करने के लिए, एम्युलेटर को कमांड लाइन से सामान्य तरीके से चलाएं. हालांकि, एम्युलेटर बाइनरी इनवोकेशन को emulator-headless से बदलें. ज़्यादा जानकारी के लिए, 28.1.8 Canary रिलीज़ अपडेट देखें.
- Android Q सिस्टम इमेज चलाने पर, Intel GPU पर फ़्रेम के गलत तरीके से दिखने और फ़्रेम के हिलने की समस्या ठीक की गई.
- उन समस्याओं को ठीक किया गया है जिनमें Pixel 2 XL की स्किन के साथ Android Q सिस्टम इमेज का इस्तेमाल करने पर, काली स्क्रीन दिखती थी.
- अब इम्यूलेटर को चालू करने के लिए, BIOS के नए बाइनरी का इस्तेमाल किया जाता है. इस बदलाव से, "वीसीपीयू बंद करने का अनुरोध" वाली गड़बड़ियों को कम किया जा सकता है. ये गड़बड़ियां, Windows पर एम्युलेटर लॉन्च करते समय कभी-कभी होती हैं.
- "स्नैपशॉट से Android Q सिस्टम इमेज फिर से शुरू करने पर, गलत डिसप्ले" समस्या को ठीक करने के लिए, बैकपोर्ट किया गया.
- उपयोगकर्ताओं को "अनधिकृत" एम्युलेटर से जुड़ी समस्याएं आ रही थीं. इसकी वजह यह थी कि platform-tools 28.0.2 में, ADB में ऐसा बदलाव किया गया था जो काम नहीं कर रहा था. अब एम्युलेटर के साथ, platform-tools 28.0.2 से ADB का सुरक्षित तरीके से इस्तेमाल किया जा सकता है. अगर आपको "बिना अनुमति वाले" एम्युलेटर से जुड़ी समस्याएं आ रही हैं, तो उन्हें हल करने के लिए यह तरीका अपनाएं:
- सभी एम्युलेटर बंद करें.
~/.android/adbkeyऔर~/.android/adbkey.pub, दोनों फ़ाइलों को मिटाएं.- यह कमांड चलाएं:
adb kill-server - यह कमांड चलाएं:
adb devices - AVD का डेटा मिटाएं.
- एम्युलेटर को फिर से लॉन्च करें.
28.0.23 (29 जनवरी, 2019)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
होस्ट के लिए ऑडियो इनपुट की सुविधा डिफ़ॉल्ट रूप से बंद होती है
Reddit पर हाल ही में किए गए एक पोस्ट में बताया गया है कि मेहमान के तौर पर इस्तेमाल किया जा रहा Android OS, हमेशा होस्ट के माइक्रोफ़ोन से ऑडियो लेगा. इससे "Ok Google" की सुविधा अनचाहे तरीके से काम करेगी. हमें इस बात का अफ़सोस है. हम Android टीम के साथ मिलकर काम करेंगे, ताकि यह पक्का किया जा सके कि सिस्टम इमेज में भी हॉटवर्ड का पता लगाने की सुविधा बंद हो.
इस समस्या को हल करने के लिए, हमने ये बदलाव किए हैं:
- अब डिफ़ॉल्ट रूप से, होस्ट के ऑडियो डेटा को बंद कर दिया जाता है. जब मेहमान माइक्रोफ़ोन का इस्तेमाल करता है, तो होस्ट के ऑडियो के बजाय साइलेंस पास किया जाता है.
- अगर आपको होस्ट के ऑडियो डेटा का इस्तेमाल करना है, तो अब इस विकल्प को चालू किया जा सकता है. इसके लिए, ज़्यादा कंट्रोल > माइक्रोफ़ोन पर जाएं और वर्चुअल माइक्रोफ़ोन, होस्ट के ऑडियो इनपुट का इस्तेमाल करता है को चालू करें. एम्युलेटर को फिर से चालू करने पर, यह विकल्प अपने-आप बंद हो जाता है.
सीपीयू के इस्तेमाल की जांच से जुड़े अपडेट
Project Marble की जांच के दौरान, हमें पता चला है कि एम्युलेटर पर सीपीयू का ज़्यादा इस्तेमाल, आम तौर पर इन तीन कैटगरी में आता है:
डिवाइस का इस्तेमाल न किए जाने पर: Play Store की इमेज में ऐप्लिकेशन अपने-आप अपडेट होने की सुविधा
हमें पता चला है कि कुछ समय के अंतराल पर, इंस्टॉल किए गए सभी ऐप्लिकेशन अपडेट हो जाते हैं. भले ही, उपयोगकर्ता ने लॉग इन न किया हो. इस प्रोसेस के दौरान, GMSCore और dex2oat में सीपीयू का इस्तेमाल, कोर की संख्या x 100% (आम तौर पर ~400%) तक बढ़ जाता है. Play Store ऐप्लिकेशन में जाकर, ऐप्लिकेशन के अपने-आप अपडेट होने की सुविधा बंद करके, इस समस्या को ठीक किया जा सकता है.
डिवाइस कुछ समय से इस्तेमाल में न होने पर: हॉटवर्ड की पहचान
होम स्क्रीन पर और किसी ऐप्लिकेशन के फ़ोरग्राउंड में न होने पर, सीपीयू का इस्तेमाल बहुत ज़्यादा हो सकता है. जैसे, सीपीयू का इस्तेमाल ~25% हो सकता है और यह बढ़कर 50% तक पहुंच सकता है. ऐसा हॉटवर्ड डिटेक्शन की वजह से होता है, जो होस्ट को लगातार पिंग करता है. होस्ट के ऑडियो इनपुट को बंद करके, इस समस्या को कम नहीं किया जा सकता. इसकी वजह यह है कि सीपीयू का इस्तेमाल मुख्य रूप से, होस्ट से मेहमान तक डेटा पहुंचने में लगने वाले समय की वजह से होता है. हालांकि, इस समस्या को हल करने के लिए, Google ऐप्लिकेशन से माइक्रोफ़ोन ऐक्सेस करने की अनुमतियां रद्द की जा सकती हैं.
ऐक्टिव होने पर, कभी-कभी इस्तेमाल न किए जाने पर: ऐनिमेशन
सीपीयू का ज़्यादा इस्तेमाल होने की तीसरी वजह ऐनिमेशन हैं. हमें पता चला है कि ग्राफ़िक्स ड्राइवर स्टैक को ऑप्टिमाइज़ करके, सीपीयू के इस्तेमाल को कम किया जा सकता है. ऐसा तब भी किया जा सकता है, जब एम्युलेटर का इस्तेमाल न किया जा रहा हो. हम Project Marble के तहत, ग्राफ़िक्स ड्राइवर ऑप्टिमाइज़ेशन को धीरे-धीरे रोल आउट करेंगे.
28.0.22 (21 दिसंबर, 2018)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- एक पुरानी समस्या को ठीक किया गया है. इस समस्या में, कुछ सेटिंग में Quickboot सेव करने पर Mac Emulator रीबूट हो जाता था या कर्नेल पैनिक हो जाता था. (समस्या 120951634)
- RAM स्नैपशॉट के तौर पर मैप की गई फ़ाइल का इस्तेमाल करते समय, अब एम्युलेटर बंद होने पर फ़ाइल मैपिंग को साफ़ तौर पर अनमैप कर देता है.
28.0.20 (11 दिसंबर, 2018)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- Windows पर उस समस्या को ठीक किया गया है जिसकी वजह से, Intel GPU के कुछ मॉडल में स्नैपशॉट लोड करने पर एम्युलेटर फ़्रीज़ हो जाता था.
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से, ADB डिवाइस की स्थिति,
नॉन-स्टैंडर्ड
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 AIO कॉन्टेक्स्ट लीक होने की समस्या को ठीक किया गया है.
एक ही एवीडी के कई इंस्टेंस एक साथ चलाएं
अब एक ही एवीडी के कई इंस्टेंस लॉन्च किए जा सकते हैं और उन्हें एक साथ चलाया जा सकता है. पहले इंस्टेंस के बाद लॉन्च किए गए इंस्टेंस, रीड-ओनली मोड में होते हैं. साथ ही, मेहमान वर्चुअल डिस्क में किए गए बदलावों को बंद कर दिया जाता है.
एक ही समय में एक से ज़्यादा AVD चलाने के लिए, कमांड लाइन से -read-only फ़्लैग का इस्तेमाल करके, पहले इंस्टेंस के बाद कोई भी इंस्टेंस लॉन्च करें.
यह सुविधा, Android इमेज के लिखने लायक हिस्सों से जुड़ी QCOW2 फ़ाइलों को कॉपी करके उपलब्ध कराई जाती है. डिस्क स्पेस को मैनेज करने में आपकी मदद करने के लिए, हमने qemu-img कमांड लाइन टूल को भी बंडल किया है. इससे, एक साथ कई इंस्टेंस लॉन्च करने से पहले, QCOW2 फ़ाइलों को प्री-कमिट किया जा सकता है.
इसके अलावा, फ़ाइल के साथ सेव किए गए मेहमान के रैम स्नैपशॉट सुविधा के साथ इस्तेमाल करने पर, कई AVD इंस्टेंस, प्राइमरी AVD के क्विकबूट स्नैपशॉट को कॉपी-ऑन-राइट गेस्ट रैम के सामान्य सोर्स के तौर पर शेयर करते हैं. इस प्रॉपर्टी का मतलब है कि इंस्टेंस, अपनी ज़्यादातर रैम को एक-दूसरे के साथ शेयर करते हैं. इस सुविधा का इस्तेमाल उन टेस्ट को चलाने के लिए करें जिनके लिए, एक साथ कई डिवाइसों की ज़रूरत होती है.
हम आपके सुझाव/राय/शिकायत का स्वागत करते हैं. ये सुझाव/राय/शिकायत, सामान्य इंटरैक्टिव या सीआई वर्कफ़्लो के इस्तेमाल के संभावित मामलों के बारे में होने चाहिए. कृपया Issue Tracker में समस्याएं बनाएं या उनके लिए वोट करें.
फ़ाइल के साथ सेव किए गए मेहमान ओएस के रैम स्नैपशॉट
गेस्ट रैम को फ़ाइल के तौर पर पहले से असाइन और मैप करके, अब एम्युलेटर रनटाइम के दौरान Quickboot स्नैपशॉट सेव कर सकता है. इसके लिए, उसे बंद होने के बाद पूरा काम करने की ज़रूरत नहीं होती. अगर आपको अपने इम्यूलेटर बंद करते समय, सेव होने में ज़्यादा समय लगता है, तो इस सुविधा को चालू करें. इससे Quickboot की परफ़ॉर्मेंस बेहतर होगी. डिफ़ॉल्ट रूप से, Quickboot स्नैपशॉट को बंद करने पर सेव किया जाता है. साथ ही, इसे हर बार लोड किया जाता है. यह ठीक उसी तरह काम करता है जैसे किसी डिवाइस को स्लीप मोड में डालने और फिर से चालू करने पर होता है.
Android में गेस्ट रैम अब डिफ़ॉल्ट रूप से अपने-आप सेव हो जाती है. इसलिए, अगर आपको डिवाइस की स्थिति तय करनी है और उसे बार-बार लोड करना है, तो आपको एम्युलेटर को यह बताना होगा कि हर सेशन के बाद बदलावों को खारिज कर दिया जाए. ऐसा इन तरीकों से किया जा सकता है:
- कमांड लाइन से एम्युलेटर लॉन्च करते समय,
-no-snapshot-saveया-read-onlyफ़्लैग का इस्तेमाल करें. - बेहतर कंट्रोल > स्नैपशॉट > सेटिंग पर जाएं. इसके बाद, क्या मौजूदा स्थिति को क्विकबूट में अपने-आप सेव करना है? को नहीं पर स्विच करें.
- इस विकल्प को चुनने के बाद, आपको एम्युलेटर को रीस्टार्ट करना होगा. अगर एम्युलेटर में ऑटो-सेव की सुविधा चालू है, तो चेकपॉइंट सेट करने के लिए यह कमांड चलाएं:
इस कमांड को चलाने के बाद, एम्युलेटर का क्विकबूट स्नैपशॉट उस चेकपॉइंट पर बना रहेगा. अपने चेकपॉइंट से एम्युलेटर को लोड करने के लिए, इसी कमांड का फिर से इस्तेमाल करें.adb emu avd snapshot remap 0
स्नैपशॉट, स्नैपशॉट के यूज़र इंटरफ़ेस (यूआई) फ़ंक्शन के ज़रिए लिए जाते हैं और लोड किए जाते हैं. ये पहले की तरह ही काम करते हैं. इनमें फ़ाइल मैपिंग नहीं होती.
क्विकबूट की सुविधा में यह एक बड़ा बदलाव है. इसलिए, हम आपसे यह जानना चाहेंगे कि क्या इससे क्विकबूट की परफ़ॉर्मेंस बेहतर हुई है. साथ ही, इसका इस्तेमाल करते समय आपको किस तरह की समस्याएं आ रही हैं. अगर आपको समस्याएं आ रही हैं, तो इस सुविधा को बंद किया जा सकता है. इसके लिए, अपनी ~/.android/advancedFeatures.ini फ़ाइल में यह लाइन जोड़ें:
QuickbootFileBacked = off
स्नैपशॉट से एम्युलेटर शुरू करने पर, एम्युलेटर इन सुविधाओं को बंद कर देता है: क्विकबूट स्नैपशॉट के लिए अपने-आप सेव होने की सुविधा और एम्युलेटर बंद करते समय क्विकबूट स्नैपशॉट सेव करने की सुविधा. स्नैपशॉट से एम्युलेटर शुरू करने के लिए, -snapshot कमांड लाइन विकल्प का इस्तेमाल किया जा सकता है. इसके अलावा, एवीडी मैनेजर में मौजूद स्नैपशॉट से भी एम्युलेटर शुरू किया जा सकता है. इससे, 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 रजिस्टर का ऐक्सेस देता है. - डिस्क इमेज: इमेज लॉक करने की सुविधा जोड़ी गई है और यह डिफ़ॉल्ट रूप से चालू रहती है. जब तक होस्ट, ओएफ़डी या पॉज़िक्स लॉकिंग की सुविधा के साथ काम करता है, तब तक एक ही इमेज में कई QEMU प्रोसेस नहीं लिखी जा सकतीं. हालांकि, अगर विकल्पों में कोई और जानकारी दी गई है, तो ऐसा किया जा सकता है.
qemu-img: qemu-img resize, इमेज के नए हिस्सों को पहले से असाइन करने की सुविधा देता है.- QCOW2 फ़ाइल का साइज़ कम करने की सुविधा अब
qemuऔरqemu-imgमें उपलब्ध है.
सुलभता
- स्क्रीन रीडर से जुड़ी समस्याओं को ठीक किया गया है. साथ ही, स्क्रीन रिकॉर्ड और स्नैपशॉट यूज़र इंटरफ़ेस (यूआई) में इन टूल के लिए बेहतर सपोर्ट जोड़ा गया है.
- कलर ब्लाइंडनेस (रंग पहचानने में समस्या) वाले लोगों के लिए, क्विक बूट की सूचना वाले आइकॉन को ज़्यादा सुलभ बनाया गया है.
ग्राफ़िक
- आउट-ऑफ़-बाउंड मेमोरी ऐक्सेस करने की समस्या को ठीक किया गया है. यह समस्या, OpenGL ES वर्टेक्स ऐरे पॉइंटर के लिए हो सकती है.
- कुछ पुराने जीपीयू में OpenGL 2.1 या इसके बाद के वर्शन (जो ज़रूरी है) काम नहीं करते थे या उनमें अन्य समस्याएं थीं. इन समस्याओं की वजह से, हो सकता है कि एम्युलेटर शुरू होने पर क्रैश हो जाए, फ़्रीज़ हो जाए या डिफ़ॉल्ट जीपीयू सेटिंग पर इसका इस्तेमाल न किया जा सके. अगर एम्युलेटर को पता चलता है कि इन जीपीयू का इस्तेमाल किया जा रहा है, तो अब यह अपने-आप Swiftshader रेंडरर पर स्विच हो जाता है.
- उस समस्या को ठीक किया गया है जिसकी वजह से
eglSwapBuffersके समयFBO != 0बाइंड होने पर, एम्युलेटर सही फ़्रेमबफ़र पोस्ट नहीं करता था. - उस समस्या को ठीक किया गया है जिसमें वर्चुअल Android डिसप्ले सिर्फ़ सबसे ऊपर बाएं कोने में दिखता था. हमें लगता है कि ऐसा Qt एनवायरमेंट वैरिएबल के गलत तरीके से कॉन्फ़िगर होने की वजह से हुआ है. एम्युलेटर अब Qt स्केलिंग से जुड़े सभी एनवायरमेंट वैरिएबल को बदल देता है.
- हमने उस समस्या को ठीक कर दिया है जिसमें स्नैपशॉट से GLES1 ऐप्लिकेशन लोड करते समय, कुछ स्थितियों में एम्युलेटर क्रैश हो जाता था.
- OpenGL में एक साथ कई काम करने से जुड़ी समस्याओं को ठीक किया गया है. साथ ही, रेंडर थ्रेड लॉन्च करने से जुड़ी समस्याओं को ठीक किया गया है. इनकी वजह से, डेटा दो बार मिट सकता था या खराब हो सकता था.
- Android Emulator अब एपीआई लेवल 28 या उसके बाद के वर्शन का इस्तेमाल करने वाली सिस्टम इमेज के लिए, ASTC LDR कंप्रेस की गई टेक्सचर फ़ाइल (
GL_KHR_texture_compression_astc_ldr) के साथ काम करता है. - ज़्यादातर नए जीपीयू अब
GLESDynamicVersionफ़ीचर फ़्लैग का इस्तेमाल किए बिना, डिफ़ॉल्ट रूप से OpenGL ES 3.x चालू करके एम्युलेटर लॉन्च कर सकते हैं. -gpu guest(मेहमान के तौर पर इस्तेमाल किए जाने वाले सॉफ़्टवेयर रेंडरिंग) को बंद कर दिया गया है. एपीआई लेवल 28 या इससे ऊपर के लेवल के लिए, सिस्टम इमेज अब Swiftshader का इस्तेमाल करने के लिए अपने-आप स्विच हो जाती हैं (-gpu swiftshader_indirect).- अगर एम्युलेटर को कमांड लाइन से
-no-windowफ़्लैग का इस्तेमाल करके लॉन्च किया जाता है, तो अब डिफ़ॉल्ट रेंडरर Swiftshader होता है.
जगह
- अब एम्युलेटर, अक्षांश और देशांतर की पोज़िशन के साथ-साथ बेयरिंग को भी अपडेट कर सकता है. मैग्नेटोमीटर वर्चुअल सेंसर, GPX या KML फ़ाइल चलाने पर, मोशन का अनुमान लगाकर, मैग्नेटिक नॉर्थ के हिसाब से अपने-आप अडजस्ट हो जाता है.
- अब डिवाइस की स्पीड को, जगह की जानकारी वाले पेज पर सेट किया जा सकता है.
- GPX या KML फ़ाइल चलाने पर, स्पीड अपने-आप सेट हो जाती है. साथ ही, वीडियो खत्म होने पर स्पीड शून्य पर सेट हो जाती है.
- ऊंचाई अब -1,000 और +10,000 मीटर के बीच नहीं होनी चाहिए.
- उस समस्या को ठीक किया गया है जिसकी वजह से वर्चुअल जीपीएस की जगह की जानकारी समय-समय पर अपडेट नहीं होती थी. ऐसा तब तक होता था, जब तक एक्सटेंडेड कंट्रोल विंडो को कम से कम एक बार नहीं खोला जाता था.
कैमरा
Windows पर, अब ज़्यादा वेबकैम इस्तेमाल किए जा सकते हैं. ऐसा इसलिए, क्योंकि एम्युलेटर, वेबकैम से डिलीवर किए गए कैमरा फ़्रेम का साइज़ डाइनैमिक तरीके से बदलता है. इस सुविधा की मदद से, फ़्रेम डिलीवरी में होने वाली गड़बड़ियों की वजह से एमुलेटर के हैंग होने की समस्या को भी रोका जा सकता है.
Play Store
Play Store की इमेज में डिस्क स्पेस खत्म होने की समस्याओं को ठीक करने के लिए, अब एमुलेटर, Play Store वाले नए एवीडी के साथ चलाने पर, userdata पार्टीशन का साइज़ अपने-आप बदलकर 6 जीबी कर देता है.
सामान्य क्वालिटी में सुधार और गड़बड़ियां ठीक की गई हैं
- कुछ उपयोगकर्ताओं ने बताया कि एम्युलेटर धीरे चल रहा है. हमें एक संभावित वजह मिली है. इसकी वजह से, एम्युलेटर की टेंप डायरेक्ट्री में बहुत ज़्यादा पुरानी फ़ाइलें मौजूद होती हैं. इस समस्या को हल करने के लिए, एम्युलेटर अब उस डायरेक्ट्री में ADB liveness
check फ़ाइलें सेव नहीं करता है. हालांकि, इससे उस फ़ोल्डर का कॉन्टेंट भी मिट सकता है. यह फ़ोल्डर, आपके ऑपरेटिंग सिस्टम के हिसाब से इनमें से किसी एक जगह पर मौजूद होता है:
- Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\* - macOS या Linux:
/tmp/android-<username>/*
- Windows:
- अगर ज़रूरत के हिसाब से रैम उपलब्ध न होने की वजह से, एम्युलेटर शुरू नहीं हो पाता है, तो अब गड़बड़ी का मैसेज दिखता है. अगर Windows का इस्तेमाल किया जा रहा है और आपको लगता है कि रैम खाली है, लेकिन फिर भी एम्युलेटर शुरू नहीं हो रहा है, तो हो सकता है कि कमिट चार्ज की सीमा पार हो गई हो. इस समस्या को हल करने के लिए, एम्युलेटर से जुड़ी समस्या हल करने वाला पेज देखें.
-sysdirकमांड लाइन विकल्प, अब अनुमानित सिस्टम इमेज डायरेक्ट्री को सही तरीके से बदल देता है.- वर्चुअल मॉडेम अब मॉडल की गतिविधि की जानकारी
+MAIक्वेरी के साथ काम करता है. - मेमोरी लीक, मेमोरी करप्शन, और सीपीयू के इस्तेमाल से जुड़ी कई समस्याएं ठीक की गईं. अगर आपको क्रैश होने, मेमोरी लीक होने या अन्य संसाधनों का ज़्यादा इस्तेमाल होने जैसी समस्याएं आ रही हैं, तो कृपया Issue Tracker में समस्या की जानकारी दें.
- macOS 10.14 पर फिर से दिखने वाली उस समस्या को ठीक कर दिया गया है जिसकी वजह से, एम्युलेटर के साथ ब्लूटूथ हेडसेट का इस्तेमाल करने पर, ऑडियो की क्वालिटी खराब हो जाती थी. ऐसा होने से रोकने के लिए, अब macOS पर चलने वाला एम्युलेटर, ब्लूटूथ ऑडियो का इस्तेमाल नहीं करता. (समस्या 37070892)
- Windows पर उस समस्या को ठीक किया गया है जिसकी वजह से, एम्युलेटर की घड़ी सही टाइमज़ोन में नहीं होती थी.
- Linux सिस्टम पर, स्पिनिंग हार्डड्राइव (एचडीडी) वाले सिस्टम में एम्युलेटर के धीमे चलने और हैंग होने की समस्या ठीक की गई.
- macOS पर स्टैक करप्ट होने की वजह बन सकने वाली कुछ कंपाइल चेतावनियों को ठीक किया गया है.
- हमने उन समस्याओं को ठीक कर दिया है जिनकी वजह से, हैंग होने की गुमराह करने वाली रिपोर्ट मिल सकती हैं.
- थ्रेड पूल को डिस्ट्रॉय करने से जुड़ी समस्या को ठीक किया गया है. अगर कोई थ्रेड ठीक से नहीं बनाई गई है, तो इसकी वजह से क्रैश हो सकता है.
- macOS पर टाइमर के ठीक से काम न करने की समस्या को ठीक किया गया है. इस वजह से, डिवाइस हैंग हो जाते थे और अन्य समस्याएं होती थीं. अगर आपको macOS पर एम्युलेटर के हैंग होने की समस्या आ रही है, तो कृपया Issue Tracker में समस्या की जानकारी दें.
- उस समस्या को ठीक किया गया है जिसमें एम्युलेटर को बंद करने पर यूज़र इंटरफ़ेस (यूआई) बंद हो जाता था, लेकिन एम्युलेटर बंद नहीं होता था.
- कभी-कभी क्रैश होने की समस्याओं को ठीक किया गया है. इनमें
/dev/urandomके बहुत ज़्यादा इंस्टेंस खोलने की वजह से बंद हो जाना भी शामिल है. - उस समस्या को ठीक किया गया है जिसकी वजह से, ADB को ज़बरदस्ती बंद करने पर, पहली बार के बाद एम्युलेटर शुरू नहीं हो पाता था.
- MIPS बिल्ड को हटा दिया गया है. अगर आपको अब भी MIPS की ज़रूरत है, तो कृपया Issue Tracker में समस्या की जानकारी दें.
- स्नैपशॉट लोड करने पर, ADB कनेक्शन खराब होने की समस्या को ठीक किया गया है.
- इस समस्या को ठीक किया गया है. इसमें, स्नैपशॉट को फिर से शुरू करने पर, एमुलेटर विंडो में इमेज धुंधली दिखती थी या डिवाइस का ओरिएंटेशन, एवीडी के डिफ़ॉल्ट ओरिएंटेशन से अलग होने पर, वह स्क्रीन से बाहर चली जाती थी.
- स्नैपशॉट सेव करते समय क्रैश होने की समस्याओं को ठीक किया गया है.
- Linux पर, btrfs फ़ाइल सिस्टम की वजह से एमुलेटर बहुत धीमा हो सकता है. ऐसा इसलिए होता है, क्योंकि एमुलेटर अपने-आप स्नैपशॉट सेव करता है और अपने वर्चुअल डिस्क डिवाइसों के लिए कॉपी-ऑन-राइट का इस्तेमाल करता है. हमारा सुझाव है कि
~/.android/avdडायरेक्ट्री को खाली करें और खाली~/.android/avdडायरेक्ट्री पर यह कमांड चलाएं: इससे, कॉपी-ऑन-राइट की सुविधा बंद होने पर, फ़ोल्डर में नए स्नैपशॉट बनाए जाते हैं.chattr +C
HAXM 7.3.2
हम HAXM 7.3.2 के बारे में फिर से बताना चाहते हैं, क्योंकि इसे इंस्टॉल करना ज़रूरी है. ऐसा इसलिए, ताकि हाल ही की सिस्टम इमेज, एम्युलेटर पर ठीक से चल सकें. HAXM 7.3.2, स्टेबल चैनल में पहले से उपलब्ध होना चाहिए. इसे https://github.com/intel/haxm/releases से मैन्युअल तरीके से भी इंस्टॉल किया जा सकता है.
इस वर्शन में, HAXM से जुड़ी इन समस्याओं को ठीक किया गया है:
- Linux के नए कर्नल (>= 4.6) का इस्तेमाल करने वाले गेस्ट ओएस के रैंडम क्रैश की समस्या को ठीक किया गया है. उदाहरण के लिए, Ubuntu 18.04 (#39, #74).
- x86 इंस्ट्रक्शन एम्युलेटर से जुड़ी गड़बड़ी को ठीक किया गया है. इसकी वजह से, होस्ट क्रैश हो सकता था (#93).
32-बिट Windows के लिए सहायता बंद करना
Windows पर चलने वाले Android Emulator के 32-बिट वर्शन का इस्तेमाल कम होता है और इसके रखरखाव की लागत ज़्यादा है. इसलिए, हम इसे बंद करने का प्लान बना रहे हैं. हम Android Emulator के 32-बिट वर्शन को हटाने और बंद करने से पहले, ट्रांज़िशन प्लान लॉन्च करेंगे. हालांकि, हम इस बदलाव के बारे में आपके सुझाव, शिकायत या राय का इंतज़ार कर रहे हैं.
अगर आपको Windows पर चलने वाले Android Emulator के 32-बिट वर्शन पर भरोसा है, तो कृपया हमें Issue Tracker में बताएं. साथ ही, हमें बताएं कि हम आगे आपके साथ बेहतर तरीके से कैसे काम कर सकते हैं.
27.3.10 (अगस्त 2018)
इस अपडेट में, गड़बड़ी को ठीक करने के लिए यह बदलाव किया गया है:
रैम के साइज़ से जुड़ी कॉन्फ़िगरेशन की समस्या ठीक की गई
कुछ उपयोगकर्ताओं ने बताया कि एम्युलेटर धीरे चल रहा है. हमें एक ऐसी वजह मिली है जिसकी वजह से, AVD की config.ini फ़ाइल में AVD के रैम साइज़ को गलत तरीके से सेट किया जा रहा था.
इस समस्या को कम करने के लिए, एम्युलेटर उन इमेज के लिए रैम का कम से कम लेवल बढ़ा देता है जो एपीआई लेवल 26 या उसके बाद के लेवल का इस्तेमाल करती हैं. यह लेवल, Android Studio के डिफ़ॉल्ट लेवल 1536 एमबी पर सेट हो जाता है. अगर आपके एवीडी की config.ini फ़ाइल में hw.ramSize को मेगाबाइट में नहीं दिखाया जा रहा है, तो कृपया Issue Tracker में समस्या दर्ज करें.
आपको config.ini फ़ाइल यहां मिलेगी:
~/.android/avd/<avdname>.avd/config.ini
27.3.9 (जुलाई 2018)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
Windows Hypervisor Platform के लिए, गड़बड़ी के मैसेज को बेहतर बनाया गया है
कुछ उपयोगकर्ताओं को यह पता लगाने में समस्या आ रही थी कि WHPX एम्युलेटर को चालू करने पर, Windows Hypervisor Platform (WHPX) शुरू क्यों नहीं हुआ. इन समस्याओं का पता लगाने में आपकी मदद करने के लिए, हमने गड़बड़ी के बारे में ज़्यादा जानकारी देने वाले मैसेज जोड़े हैं. -verbose फ़्लैग का इस्तेमाल करके, कमांड लाइन से एम्युलेटर को रन करके, गड़बड़ी के इन मैसेज को चालू किया जा सकता है.
सामान्य समस्याएं ठीक करना
- कैमरा ऐप्लिकेशन में स्नैपशॉट लोड करते समय होने वाली OpenGL गड़बड़ियों को ठीक किया गया है.
27.3.8 (जुलाई 2018)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.
स्नैपशॉट
अब किसी डिवाइस कॉन्फ़िगरेशन के लिए, एक से ज़्यादा एवीडी स्नैपशॉट सेव किए जा सकते हैं. साथ ही, एम्युलेटर शुरू करते समय, यह चुना जा सकता है कि सेव किए गए स्नैपशॉट में से किसे लोड करना है.
Android Studio 3.2 Canary 13 से, हर डिवाइस कॉन्फ़िगरेशन में वर्चुअल डिवाइस कॉन्फ़िगरेशन डायलॉग में मौजूद ऐडवांस सेटिंग में एक कंट्रोल शामिल होता है. इसकी मदद से, यह तय किया जा सकता है कि AVD शुरू करते समय कौनसा AVD स्नैपशॉट लोड करना है.
स्नैपशॉट की सुविधाओं को बेहतर बनाने के लिए, हमने ज़्यादा कंट्रोल डायलॉग में स्नैपशॉट कैटगरी जोड़ी है. इस नए पैनल में, एवीडी स्नैपशॉट सेव और लोड करने के कंट्रोल शामिल हैं. इनमें, क्विक-बूट स्नैपशॉट सेव और लोड करने के कंट्रोल भी शामिल हैं. ये कंट्रोल पहले सेटिंग पैनल में मौजूद थे.
सेव किए गए हर स्नैपशॉट के नाम और जानकारी में बदलाव किया जा सकता है.
ज़्यादा जानकारी के लिए, स्नैपशॉट देखें.
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 Manager में यह जानकारी दिखती है. साथ ही, 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 की कुछ स्क्रीन पर, AVD को फिर से सेट करने में आ रही समस्या को ठीक किया गया है.
- Pixel 2 XL स्किन के साथ AVD चलाने पर, नए MacBook Pro कंप्यूटरों पर स्क्रीन के फ़्लिकर होने और खाली होने की समस्याओं को ठीक किया गया है.
- बिना फ़्रेम वाले एम्युलेटर के चालू होने पर, ज़ूम किए गए मोड में स्विच करते समय खाली स्क्रीन से जुड़ी समस्याओं को ठीक किया गया है.
- ज़ूम इन करने पर, डिवाइस की स्किन और एम्युलेटर के कॉन्टेंट के स्क्रोल होने में समस्या आ रही थी. इस समस्या को ठीक कर दिया गया है.
अगर आपको अब भी हैंग होने या अन्य समस्याएं आ रही हैं, तो कृपया समस्या की शिकायत करें.
27.1.12 (मार्च 2018)
इस अपडेट में, इन समस्याओं को ठीक किया गया है:
- एम्युलेटर शुरू करने के बाद, ब्लूटूथ ऑडियो की क्वालिटी खराब हो जाती है. (समस्या 37095756)
- एक एम्युलेटर को भेजी गई जगह की जानकारी, सभी एम्युलेटर को भेजी गई. (समस्या 73450633)
- कंसोल का इस्तेमाल करके सेट की गई जीपीएस लोकेशन को, ग्राफ़िकल यूज़र इंटरफ़ेस में Extended Controls > Location का इस्तेमाल करके सेट की गई वैल्यू से बदल दिया गया था. (समस्या 73471760)
अगर आपको अब भी हैंग होने या अन्य समस्याएं आ रही हैं, तो कृपया समस्या की शिकायत करें.
इस अपडेट के साथ-साथ मौजूदा सिस्टम इमेज और Android Studio के प्रीव्यू वर्शन की मदद से, Android Emulator का इस्तेमाल करके ARCore की मदद से बनाए गए ऑगमेंटेड रिएलिटी ऐप्लिकेशन चलाए जा सकते हैं. ज़्यादा जानकारी और निर्देशों के लिए, Android Emulator में एआर ऐप्लिकेशन चलाना लेख पढ़ें.
27.1.10 (फ़रवरी 2018)
कैमरे से कैप्चर किए गए कॉन्टेंट का रिज़ॉल्यूशन
अब अटैच किए गए वेबकैम से 720 पिक्सल वाले फ़्रेम कैप्चर किए जा सकते हैं.
Android 8.1 (एपीआई लेवल 27) और इसके बाद के वर्शन की सिस्टम इमेज के साथ काम करने के लिए, अटैच किए गए किसी भी वेबकैम में 720 पिक्सल वाले फ़्रेम कैप्चर करने की सुविधा होनी चाहिए.
समाधान
- उस समस्या को ठीक किया गया है जिसकी वजह से वेबकैम से कैप्चर की गई इमेज कभी-कभी खराब दिखती थी या पूरी तरह से हरी दिखती थी.
- उस समस्या को ठीक किया गया है जिसकी वजह से, हैंग होने की कोई समस्या न होने पर भी यह मैसेज दिखता था: "emulator: ERROR: detected a hanging thread 'Qt event loop'. No response for 15000 ms".
अगर आपको अब भी हैंग होने या अन्य समस्याएं आ रही हैं, तो कृपया समस्या की शिकायत करें.
27.1.7 (फ़रवरी 2018)
फ़्रेमलेस एम्युलेटर विंडो:
डिफ़ॉल्ट रूप से, डिवाइस स्किन फ़ाइलों वाले एम्युलेटर अब आस-पास के विंडो फ़्रेम के बिना दिखाए जाते हैं. आस-पास की विंडो फ़्रेम दिखाने के लिए, ज़्यादा कंट्रोल विंडो के सेटिंग पैनल में जाकर, डिवाइस के चारों ओर विंडो फ़्रेम दिखाएं को चालू करें.
AVD स्नैपशॉट के साथ काम करने को ज़्यादा असरदार बनाने के लिए, क्विक बूट की सुविधा में ये सुधार किए गए हैं:
- ज़्यादा कंट्रोल डायलॉग बॉक्स के सेटिंग पैन में मौजूद, अभी सेव करें बटन का इस्तेमाल करके, एवीडी स्नैपशॉट को कभी भी सेव किया जा सकता है.
- एम्युलेटर, स्नैपशॉट को सेव करने में लगने वाले समय को कम करता है. ऐसा इसलिए, क्योंकि यह सिर्फ़ मौजूदा स्थिति और पहले सेव किए गए स्नैपशॉट के बीच के अंतर को सेव करता है.
ज़्यादा जानकारी के लिए, क्विक बूट का दस्तावेज़ देखें.
QEMU 2.9 का इस्तेमाल करने के लिए, एम्युलेटर को अपडेट किया गया है.
इनमें से कुछ खास सुधार यहां दिए गए हैं:
- बेहतर परफ़ॉर्मेंस के लिए, ऑप्टिमाइज़ किया गया I/O और ज़्यादा बेहतर I/O थ्रेड लॉकिंग.
- QEMU 2.8 (26.1.4) के बाद से गड़बड़ियां ठीक की गईं.
- HAXM बैक एंड को लागू करने का नया तरीका.
बदलावों की पूरी सूची देखने के लिए, QEMU 2.9 का बदलाव लॉग देखें.
OpenGL ES 3.0 के मुताबिक Swiftshader को लागू करना:
इमुलेटर का Swiftshader रेंडरर, अब पूरी तरह से OpenGL ES 3.0 के साथ काम करता है. Swiftshader रेंडरर के बारे में ज़्यादा जानने के लिए, एक्सटेंडेड कंट्रोल के सेटिंग > ऐडवांस सेक्शन पर जाएं.
समाधान
- उस समस्या को ठीक किया गया है जिसकी वजह से, क्लिपबोर्ड शेयर करने की सुविधा चालू करें विकल्प को टॉगल करके बंद और चालू करने पर ही, क्लिपबोर्ड शेयर करने की सुविधा काम कर रही थी.
- कम रिज़ॉल्यूशन वाले एवीडी के साथ Swiftshader रेंडरिंग बैक एंड का इस्तेमाल करते समय, हैंग होने की समस्या को ठीक किया गया है.
27.0.5 (जनवरी 2018)
Windows पर रेंडरिंग के लिए ANGLE की सुविधा अब डिफ़ॉल्ट रूप से बंद है.
अगर ANGLE आपके लिए बेहतर काम करता है, तो कमांड लाइन फ़्लैग
-gpu angle_indirectका इस्तेमाल करके, इसे फिर से चालू किया जा सकता है. इसके अलावा, एक्सटेंडेड कंट्रोल विंडो खोलें और सेटिंग > ऐडवांस पर जाएं. इसके बाद, OpenGL ES रेंडरर सेटिंग के लिए ANGLE D3D11 चुनें.Shift+B दबाने पर कैपिटल B टाइप न होने की समस्या को ठीक किया गया है.
27.0.2 (दिसंबर 2017)
नई क्विक बूट सुविधा की मदद से, एमुलेटर को तेज़ी से शुरू किया जा सकता है. यह सुविधा, आपके एवीडी इंस्टेंस के स्नैपशॉट पर आधारित होती है.
क्विक बूट की सुविधा, सभी एवीडी के लिए डिफ़ॉल्ट रूप से चालू होती है. पहली बार एवीडी शुरू करने पर, उसे कोल्ड बूट करना होगा. ठीक वैसे ही जैसे किसी डिवाइस को चालू किया जाता है. इसके बाद, एवीडी को तेज़ी से शुरू किया जा सकता है. साथ ही, सिस्टम को उस स्थिति में वापस लाया जा सकता है जब आपने एम्युलेटर बंद किया था. यह किसी डिवाइस को चालू करने जैसा होता है.
अगर आपको यह कंट्रोल करना है कि एम्युलेटर कब स्नैपशॉट सेव करे, तो एम्युलेटर की एक्सटेंडेड कंट्रोल विंडो खोलें और सेटिंग पर क्लिक करें. यहां, एप्लिकेशन बंद करते समय क्विक बूट की स्थिति सेव करें के लिए, इनमें से कोई एक सेटिंग चुनी जा सकती है:
- हां: एम्युलेटर बंद करने पर, क्विक बूट स्नैपशॉट हमेशा सेव करें. यह डिफ़ॉल्ट विकल्प है.
- नहीं: क्विक बूट स्नैपशॉट को कभी सेव न करें; हमेशा कोल्ड बूट करें.
- सवाल पूछें: जब इम्यूलेटर बंद किया जाता है, तब यह प्रॉम्प्ट करता है कि क्विक बूट स्नैपशॉट को सेव करना है या नहीं.
चुनी गई सेटिंग सिर्फ़ मौजूदा समय में खुले हुए एवीडी पर लागू होती है.
ज़्यादा जानकारी के लिए, क्विक बूट का दस्तावेज़ देखें.
Mac OpenGL ES 3 के लिए सहायता जोड़ी गई है. इसका इस्तेमाल एपीआई लेवल 24 और इसके बाद के वर्शन, Google API, और x86 ABI का इस्तेमाल करने वाली सिस्टम इमेज के लिए किया जा सकता है.
OpenGL ES 2+ ऐप्लिकेशन को ज़्यादा स्थिर बनाने के लिए, अगर उपलब्ध हो, तो अब एम्युलेटर OpenGL कोर प्रोफ़ाइल का इस्तेमाल करता है.
Swiftshader / ANGLE के साथ रेंडर करने के नए विकल्प:
-gpu swiftshader_indirect: Swiftshader का तेज़ और ज़्यादा स्टेबल वर्शन. यह Quick Boot के साथ काम करता है.-gpu angle_indirect(सिर्फ़ Windows के लिए): ANGLE D3D का ज़्यादा स्टेबल वर्शन. यह क्विक बूट के साथ भी काम करता है.
-gpu swiftshaderऔर-gpu angleके पुराने विकल्पों का इस्तेमाल अब नहीं किया जा सकता. एक्सटेंडेड कंट्रोल विंडो में, सेटिंग > ऐडवांस में OpenGL ES रेंडरर सेटिंग के लिए"SwiftShader " और"ANGLE " विकल्प अब*_indirectवर्शन का इस्तेमाल करते हैं.अन्य गड़बड़ियां ठीक की गईं.
26.1.4 (अगस्त 2017)
यह एक छोटी रिलीज़ है. इसमें गड़बड़ियां ठीक की गई हैं. साथ ही, जीपीयू कॉन्फ़िगरेशन में ये सुधार किए गए हैं:
- ANGLE रेंडरर पर चलने के दौरान, बूट ऐनिमेशन चालू करें
- ANGLE रेंडरर पर चलने के दौरान GLES3 को बंद करें
26.1.3 (अगस्त 2017)
यह एक छोटी रिलीज़ है. इसमें गड़बड़ियां ठीक की गई हैं, परफ़ॉर्मेंस को बेहतर बनाया गया है, और सुविधाओं में कुछ बदलाव किए गए हैं.
- Android 8.0 की नई सिस्टम इमेज का इस्तेमाल करने के लिए, अब इस वर्शन की ज़रूरत होगी.
ये डिवाइस Treble के साथ काम करते हैं. इनमें अलग-अलग
vendor.imgपार्टीशन होते हैं. - HAXM 6.2.0 का नया वर्शन अब उपलब्ध है. इसे SDK Manager में देखा जा सकता है. इसमें ये अपडेट शामिल हैं:
- मेमोरी के इस्तेमाल को बेहतर बनाया गया है. HAXM की ओर से पिन की गई मेमोरी का पीक वर्किंग सेट, अब AVD की रैम के साइज़ के बराबर नहीं है. इसके बजाय, मेमोरी को ज़रूरत के हिसाब से पेज किया जाता है. इससे कम रैम वाले कंप्यूटरों पर, एम्युलेटर को ज़्यादा भरोसेमंद तरीके से चलाने में मदद मिलेगी.
- HAXM 6.2.0 वाला एम्युलेटर, अब macOS पर तेज़ी से बूट हो सकता है. इससे, लंबे समय तक चलने वाली शुरुआती प्रोसेस को स्किप किया जा सकता है.
- GPU कॉन्फ़िगरेशन में सुधार
- हमने बूट के दौरान काली स्क्रीन दिखने की समस्या ठीक कर दी है. ऐसा तब होता था, जब मेहमान के तौर पर सॉफ़्टवेयर रेंडरिंग की जाती थी. अब Swiftshader की मदद से, होस्ट के तौर पर सॉफ़्टवेयर रेंडरिंग की जाती है. एपीआई लेवल 19 से 25 के लिए, Google API के साथ सिस्टम इमेज के नए वर्शन में गेस्ट-साइड रेंडरिंग काम करनी चाहिए.
- इस समस्या को ठीक किया गया है. इसमें पुराने Intel GPU का पता चलने पर, एम्युलेटर को सॉफ़्टवेयर रेंडरर पर स्विच कर दिया जाता था. हालांकि, एम्युलेटर असल में डिसक्रीट जीपीयू पर चल रहा था. ANGLE या Swiftshader रेंडरिंग का इस्तेमाल करने के लिए, किन जीपीयू को स्विच किया जाएगा, यह इस तरह तय किया जाता है:
- Intel के पुराने iGPU में, OpenGL और ANGLE D3D, दोनों ड्राइवर में समस्याएं आती हैं. Intel HD Graphics 3xxx और इससे पुराने वर्शन वाले ग्राफ़िक्स कार्ड का इस्तेमाल करने वाले लोग, Swiftshader का इस्तेमाल करेंगे.
- कुछ उपयोगकर्ताओं ने बताया कि वे एपीआई लेवल 25 की इमेज का इस्तेमाल नहीं कर पा रहे हैं. इसकी वजह यह है कि "Pixel Launcher keeps stopping" में एक बग है. ऐसा लगता है कि Intel HD 4xxx के कुछ मॉडल में ड्राइवर से जुड़ी समस्या है. इसलिए, उन्हें अपने-आप ANGLE का इस्तेमाल करने के लिए स्विच कर दिया जाएगा.
- जीपीयू इम्यूलेशन से बेहतर नतीजे पाने के लिए, हमारा सुझाव है कि आप NVIDIA या AMD के डिसक्रीट जीपीयू या Intel के नए जीपीयू (Iris, HD 5xxx, HD 5xx/6xx) का इस्तेमाल करें.
- हमने उस समस्या को ठीक कर दिया है जिसकी वजह से, एवीडी को
hw.gpu.mode=hostके साथ कॉन्फ़िगर करने पर एम्युलेटर शुरू नहीं हो पाता था. साथ ही, एम्युलेटर को रिमोट डेस्कटॉप क्लाइंट में लॉन्च किया जाता था. - "OpenGL ES API लेवल (डिवाइस को रीस्टार्ट करना ज़रूरी है)" सेटिंग के बारे में ज़्यादा जानकारी दी गई है. साथ ही, अगर आपको OpenGL ES 3 में समस्याएं आ रही हैं या आपको OpenGL ES के निचले एपीआई लेवल पर जांच करनी है, तो OpenGL ES 3 से OpenGL ES 2 पर डाउनग्रेड करने का विकल्प जोड़ा गया है.
- Mesa रेंडरर को बंद कर दिया गया है. अब
hw.gpu.mode=mesa, होस्ट पर Swiftshader का इस्तेमाल करने के लिए अपने-आप स्विच हो जाएगा.
- macOS के लिए किए गए सुधार:
- एम्युलेटर अब macOS 10.13 High Sierra के साथ पूरी तरह से काम करता है. इसके लिए, Hypervisor.Framework या HAXM 6.2.0 का इस्तेमाल किया जा सकता है.
- macOS पर, 32-बिट x86 इमेज के लिए Hypervisor.framework अब डिफ़ॉल्ट रूप से चालू है. इससे परफ़ॉर्मेंस बेहतर होती है और macOS के साथ काम करने की सुविधा मिलती है. अगर आपको इससे जुड़ी कोई समस्या आ रही है, तो कृपया गड़बड़ी की रिपोर्ट सबमिट करें और
HVF = offको~/.android/advancedFeatures.iniमें जोड़ें. अगर यह फ़ाइल मौजूद नहीं है, तो इसे बनाएं. - Hypervisor.framework का इस्तेमाल करते समय, इंटरनेट कनेक्शन न होने या डीबगर अटैच न हो पाने की समस्याओं को ठीक किया गया है.
- वेबकैम कैप्चर की परफ़ॉर्मेंस और कंपैटिबिलिटी को बेहतर बनाने के लिए, QTKit पर आधारित कैमरा कैप्चर को AVFoundation पर आधारित बफ़र किए गए कैमरा कैप्चर से बदल दिया गया है.
- कुछ सिस्टम इमेज में वाई-फ़ाई के लिए सहायता जोड़ी गई है. फ़िलहाल, यह सुविधा सिर्फ़ एपीआई लेवल 25 के लिए उपलब्ध है.
"AndroidWifi" नाम का ऐक्सेस पॉइंट उपलब्ध है और Android इससे अपने-आप कनेक्ट हो जाता है. कमांड लाइन पैरामीटर
-feature -Wifiका इस्तेमाल करके, एम्युलेटर को चलाने पर वाई-फ़ाई की सुविधा बंद की जा सकती है. - कुछ उपयोगकर्ताओं ने शिकायत की है कि तय साइज़ वाली Play Store सिस्टम इमेज में स्टोरेज की जगह कम है. इसलिए, हमने डिफ़ॉल्ट रूप से साइज़ को 800 एमबी से बढ़ाकर 2 जीबी कर दिया है.
- सेटिंग पेज से सीधे गड़बड़ी की रिपोर्ट बनाने वाले यूज़र इंटरफ़ेस (यूआई) पेज को खोलने के लिए, कीबोर्ड शॉर्टकट (Ctrl+Shift+U) जोड़ा गया.
- हमने उस समस्या को ठीक कर दिया है जिसमें Intel x86 EPT वाला पुराना सीपीयू इस्तेमाल करने पर, एक से ज़्यादा कोर कॉन्फ़िगर होने पर इम्यूलेटर बूट नहीं होता था. हालांकि, इस सीपीयू में UG की सुविधा नहीं होती थी.
- उस समस्या को ठीक किया गया है जिसमें एम्युलेटर के Xen हाइपरवाइज़र में चलने पर, HyperV का गलत तरीके से पता लगाया जाता था.
- Linux के कुछ कॉन्फ़िगरेशन में, एम्युलेटर के शुरू होने पर क्रैश होने की समस्या को ठीक किया गया है.
26.1.2 (जुलाई 2017)
इस रिलीज़ में नई सुविधाएं जोड़ी गई हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है.
एक्सटेंडेड कंट्रोल में, कस्टम एचटीटीपी प्रॉक्सी कॉन्फ़िगरेशन तय करने की सुविधा जोड़ी गई है. इसके लिए, ज़्यादा
पर क्लिक करें. इसके बाद, सेटिंग और प्रॉक्सी पर क्लिक करें. डिफ़ॉल्ट रूप से, एम्युलेटर Android Studio की एचटीटीपी प्रॉक्सी सेटिंग का इस्तेमाल करता है. हालांकि, इस स्क्रीन पर जाकर प्रॉक्सी कॉन्फ़िगरेशन को मैन्युअल तरीके से सेट किया जा सकता है.
मेहमान मोड वाले जीपीयू के लिए वीएनसी की सुविधा जोड़ी गई है, ताकि एम्युलेटर को दूर से देखा और कंट्रोल किया जा सके. उदाहरण के लिए, एम्युलेटर को लॉन्च किया जा सकता है और VNC को पोर्ट 5901 पर सुनने की अनुमति दी जा सकती है. इसके लिए, यह तरीका अपनाएं:
- लागू करें:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1 पोर्ट 5901 से कनेक्ट करने के लिए, कोई वीएनसी व्यूअर खोलें. जैसे, tightvnc व्यूअर.
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 के लिए, एक्सपेरिमेंट के तौर पर macOS Hypervisor.Framework की सुविधा जोड़ी गई है. यह सुविधा, सर्वर फ़्लैग के ज़रिए macOS 10.10 और इसके बाद के वर्शन पर 32-बिट x86 इमेज के साथ काम करती है. इससे बूट होने में लगने वाला समय और परफ़ॉर्मेंस बेहतर होगी.
- अगर आपको इसमें समस्याएं आ रही हैं, तो
HVF = offमें~/.android/advancedFeatures.iniलाइन जोड़ें.
- अगर आपको इसमें समस्याएं आ रही हैं, तो
OpenGL ES 3.x अब सिस्टम इमेज और होस्ट GPU के लिए डिफ़ॉल्ट रूप से चालू है. ये OpenGL ES 3 के साथ काम करते हैं. फ़िलहाल, सिर्फ़ Android O (एपीआई लेवल 26) और Windows/Linux होस्ट, OpenGL ES 3 के साथ काम करते हैं.
- अगर आपको OpenGL ES 3 में समस्याएं आ रही हैं, तो
~/.android/advancedFeatures.iniमेंGLESDynamicVersion = offलाइन जोड़ें.
- अगर आपको OpenGL ES 3 में समस्याएं आ रही हैं, तो
अब एम्युलेटर, फ़ाइनल डिसप्ले इमेज पोस्ट करने के अलावा, सभी रेंडरिंग के लिए ऑफ़स्क्रीन OpenGL FBO का इस्तेमाल करता है. इससे अलग-अलग प्लैटफ़ॉर्म पर, कलर की एक जैसी क्वालिटी बनाए रखने में मदद मिलेगी.
एम्युलेटर के अचानक धीमे हो जाने की समस्याओं से जुड़ा डेटा इकट्ठा करने के बाद, हमें पता चला है कि यह समस्या, Intel के पुराने OpenGL ड्राइवर और Windows के अपडेट के बीच किसी इंटरैक्शन की वजह से हो सकती है. इसलिए, Intel HD 4000, 3000, 2000 (और इनसे जुड़े जीपीयू) का इस्तेमाल करने वाले लोगों के लिए, रेंडरिंग की सुविधा डिफ़ॉल्ट रूप से D3D रेंडरर (ANGLE) या Swiftshader (सॉफ़्टवेयर रेंडरर) पर सेट होती है.
26.0.0 (मार्च 2017)
यह रिलीज़, एपीआई लेवल 26 के साथ काम करती है. इसमें परफ़ॉर्मेंस में कई तरह के सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं.
माइनर वर्शन 26.0.3 (मई 2017)
- इस अपडेट में, ऑनलाइन अपडेट किए जा सकने वाले फ़ीचर फ़्लैग जोड़े गए हैं. इनकी मदद से, हार्डवेयर कॉन्फ़िगरेशन से जुड़ी समस्याओं को तुरंत हल किया जा सकता है. इससे Google को, सर्वर-साइड फ़्लैग अपडेट करके, उपयोगकर्ता के कॉन्फ़िगरेशन पर निर्भर करने वाली सुविधाओं और समस्याओं को ठीक करने की सुविधा मिलती है. अगर आपको किसी खास हार्डवेयर से जुड़ी समस्याएं दिखती हैं, तो कृपया गड़बड़ी की शिकायत करें, ताकि हम समस्या की जांच कर सकें.
- Android Wear API लेवल 25 सिस्टम इमेज के लिए, रोटरी इनपुट की नई सुविधा उपलब्ध है. Wear डिवाइस पर रोटरी इनपुट डायल को एम्युलेट करने के लिए, बड़ी की गई विंडो में रोटरी इनपुट टैब पर क्लिक करें.
- क्रैश रिपोर्टिंग डायलॉग का साइज़ अब बदला जा सकता है. साथ ही, यह अब क्रैश रिपोर्ट कब भेजनी हैं को बिना किसी इनपुट के पूछें पर रीसेट नहीं करता है.
- अब 32-बिट वाले एम्युलेटर के लिए, एवीडी की ज़्यादा से ज़्यादा रैम का साइज़ 512 एमबी या इससे कम होना ज़रूरी है. ऐसा इसलिए, ताकि एम्युलेटर को 2 जीबी वर्चुअल पते की जगह में जगह की कमी न हो.
- एम्युलेटर इमेज में अब ऐब्सलूट पाथ का इस्तेमाल किया जा सकता है.
- यह Google Play Store की इमेज के लिए, बड़ी की गई विंडो में एक नया टैब जोड़ता है. इस टैब में, Play सेवाएं का वर्शन दिखता है. साथ ही, Play सेवाएं के अपडेट की जांच करने के लिए एक बटन भी दिखता है.
- यह सुविधा, Emulator Settings पेज पर OpenGL रेंडरर चुनने के लिए एक ड्रॉपडाउन जोड़ती है. अगर आपको Windows मशीन पर OpenGL ड्राइवर से जुड़ी समस्याएं आ रही हैं, तो ANGLE (D3D11) या ANGLE (D3D9) विकल्पों का इस्तेमाल करके देखें. इसके लिए, आपको मशीन को रीस्टार्ट करना होगा. अगर आपको Windows के अलावा किसी अन्य मशीन पर OpenGL ड्राइवर से जुड़ी समस्याएं आ रही हैं, तो Swiftshader सॉफ़्टवेयर रेंडरर का इस्तेमाल करके देखें. इसके लिए, आपको मशीन को रीस्टार्ट करना होगा.
- जब एम्युलेटर को
exitऔरminimize, दोनों कमांड मिलती हैं, तब बंद करते समय होने वाली क्रैश की समस्या को ठीक किया गया है. - Mac मशीन पर डिसप्ले बदलते समय, स्केलिंग से जुड़ी समस्या को ठीक करता है. (समस्या 268296)
- इस अपडेट में, उस समस्या को ठीक किया गया है जिसमें स्लीप मोड से होस्ट कंप्यूटर को फिर से शुरू करने पर या एम्युलेटर के लंबे समय तक चलने पर, एम्युलेटर सीपीयू का 300% इस्तेमाल करता है और उसे होल्ड करता है.
- एम्युलेटर बंद होने पर क्रैश होने की समस्या को ठीक करता है.
HAXM v6.1.1 (मार्च 2017) के साथ अपडेट
ध्यान दें: HAXM v6.1.1, 30 मार्च से Mac उपयोगकर्ताओं के लिए SDK Manager के ज़रिए उपलब्ध है. यह Windows उपयोगकर्ताओं के लिए जल्द ही उपलब्ध होगा.
Android Emulator के 26.0.0 वर्शन में HAXM v6.1.1 काम करता है. इसमें ये अपडेट शामिल हैं:
- यह परफ़ॉर्मेंस मॉनिटरिंग यूनिट (पीएमयू) के इम्यूलेशन को चालू करता है. (समस्या 223377)
- Mac पर VirtualBox और Docker के साथ काम करने से जुड़ी समस्या ठीक की गई है. (समस्या 197915)
- इस अपडेट में, इंस्टॉलर के Windows पर Intel VT-x का पता न लगा पाने पर दिखने वाले गड़बड़ी के मैसेज में बदलाव किया गया है. आम तौर पर, ऐसा Hyper-V चालू होने की वजह से होता है.
- Hyper-V पर आधारित Windows VM में Android Emulator को तेज़ी से चलाने की सुविधा जोड़ी गई है. इस अपडेट के लिए, यह ज़रूरी है कि होस्ट Hyper-V इंस्टेंस (वह इंस्टेंस जो Windows VM/गेस्ट को मैनेज करता है) में, नेस्टेड वर्चुअलाइज़ेशन की सुविधा चालू हो और Hyper-V का नया वर्शन इस्तेमाल किया जा रहा हो. Hyper-V को गेस्ट Hyper-V इंस्टेंस (Windows VM) में बंद किया जाना चाहिए.
डिपेंडेंसी
- Android SDK प्लैटफ़ॉर्म-टूल का 25.0.4 या उसके बाद का वर्शन.
- Android SDK टूल का 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 मशीनों पर खुले हुए टीसीपी पोर्ट बंद करता है. - adb कनेक्शन अब ज़्यादा भरोसेमंद हो गए हैं. अब चालू एम्युलेटर का पता तेज़ी से चल जाता है. साथ ही, यह “ऑफ़लाइन” या “अनुमति नहीं है” स्थिति में नहीं जाता.
25.3.0 (मार्च 2017)
इस रिलीज़ के बाद से, Android Emulator को SDK टूल से अलग रिलीज़ किया जाएगा. इस रिलीज़ में, परफ़ॉर्मेंस को बेहतर बनाने के लिए कई सुधार किए गए हैं. साथ ही, नई सुविधाएं जोड़ी गई हैं और गड़बड़ियां ठीक की गई हैं.
माइनर वर्शन 25.3.1 (मार्च 2017)
- कुछ जीपीयू कॉन्फ़िगरेशन पर क्रैश होने की समस्या को ठीक किया गया है. इसके लिए, GLAsyncSwap को डिफ़ॉल्ट रूप से बंद कर दिया गया है.
इस सुविधा को 25.3.0 वर्शन में जोड़ा गया था. इसका मकसद, गेम और वीडियो के लिए फ़्रेम टाइमिंग और फ़्रेम प्रति सेकंड को बेहतर बनाना था. हालांकि, इसकी वजह से कुछ अनजान मशीन कॉन्फ़िगरेशन पर एम्युलेटर काम नहीं करता. इसे मैन्युअल तरीके से चालू किया जा सकता है. इसके लिए,
android_sdk/emulator/lib/advancedFeatures.iniफ़ाइल खोलें औरGLAsyncSwap = onसेट करें.
डिपेंडेंसी
- Android SDK Platform-Tools का 24वां या उसके बाद का वर्शन.
- Android SDK Tools का वर्शन 25.3.0.
नई सुविधाएं और गड़बड़ियां ठीक की गईं
- इमुलेशन इंजन को QEMU 2.7 पर अपडेट किया गया है. इसमें हाल ही में ठीक की गई सभी गड़बड़ियां, बेहतर परफ़ॉर्मेंस, और नई सुविधाएं शामिल हैं.
- IPv6 के लिए नई सुविधा.
- अब इम्यूलेटर, होस्ट पर SwiftShader का इस्तेमाल प्योर सॉफ़्टवेयर रेंडरर के तौर पर करता है.
- Android Pipe की परफ़ॉर्मेंस में सुधार: Android Pipe, एम्युलेटर और Android OS के बीच कम्यूनिकेशन का मुख्य चैनल है. अब यह पहले से ज़्यादा तेज़ है. इसमें कम समय लगता है और यह मल्टी-थ्रेडिंग की बेहतर परफ़ॉर्मेंस देता है. इससे एमुलेटर की परफ़ॉर्मेंस में कई तरह के सुधार होते हैं. जैसे:
- ADB पुश/पुल की स्पीड बेहतर हुई.
- 3D ऐक्सलरेशन की बेहतर सुविधा.
- एम्युलेटर की परफ़ॉर्मेंस बेहतर हुई है.
- ग्राफ़िक्स की परफ़ॉर्मेंस बेहतर हुई.
- अब इम्यूलेटर, मेहमान के अनुरोध करने पर, जीपीयू-साइड बफ़र (glBindBuffers / glBufferData) का इस्तेमाल करता है. इससे कुछ ऐप्लिकेशन में सीपीयू ओवरहेड कम हो जाता है.
- ऑडियो की सुविधा को बेहतर बनाया गया है.
- डिस्क I/O की बेहतर स्पीड: अब एम्युलेटर, डिस्क I/O को डिस्पैच करने के लिए अलग-अलग थ्रेड का इस्तेमाल करता है. इससे लेटेंसी कम होती है और थ्रूपुट बेहतर होता है (~1.5 गुना सीक्वेंशियल I/O स्पीड, ~5 गुना रैंडम ऐक्सेस I/O स्पीड). इससे डिस्क में फ़्लश होने वाले डेटा की संख्या भी कम हो जाती है. इससे फ़िज़िकल डिवाइस पर लोड काफ़ी कम हो जाता है.
- अब Windows मशीन पर डिस्क बूट के लिए, एम्युलेटर स्पार्स फ़ाइलों का इस्तेमाल करता है. इससे पहले बूट और "डेटा मिटाएं" बूट, दोनों की प्रोसेस तेज़ हो जाती है. AVD बनाते या रीसेट करते समय, अब एम्युलेटर डिस्क पर 2 जीबी या उससे ज़्यादा डेटा के बजाय 100 से 200 एमबी डेटा लिखता है.
- जीयूआई में कई सुधार किए गए हैं:
- अब एम्युलेटर, Qt 5.7.0 का इस्तेमाल करता है. इसमें गड़बड़ियां ठीक की गई हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है.
- यूज़र इंटरफ़ेस (यूआई) को शुरू करने के दौरान, अब सभी एम्युलेटर एक्ज़ीक्यूटेबल को Qt प्लगिन के तौर पर लोड करने की कोशिश नहीं की जाती. इसलिए, इसमें पहले से काफ़ी कम समय लगता है. खास तौर पर, एचडीडी पर.
- अब यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करना ज़्यादा तेज़ और आसान हो गया है. इसमें ये शामिल हैं: रोटेशन, विंडो का साइज़ बदलना, और कंट्रोल विंडो को लोड करना और बंद करना.
OpenXR™ और OpenXR लोगो, The Khronos Group Inc. के ट्रेडमार्क हैं. इन्हें चीन, यूरोपियन यूनियन, जापान, और यूनाइटेड किंगडम में ट्रेडमार्क के तौर पर रजिस्टर किया गया है.