Android Emulator, Android Studio में शामिल होता है.
25.3.0 से पहले के वर्शन वाले एम्युलेटर, Android SDK के टूल के साथ डिस्ट्रिब्यूट किए जाते थे.
यह पक्का करने के लिए कि आपके पास नया वर्शन हो, एसडीके मैनेजर में जाकर अपडेट देखें.
Android Emulator के पिछले वर्शन डाउनलोड करने के लिए, Emulator के डाउनलोड संग्रह देखें.
Emulator के 25.3.0 से पहले के वर्शन के रिलीज़ नोट देखने के लिए, Android SDK Tools के रिलीज़ नोट देखें.
Android Emulator के सबसे नए वर्शन में ठीक की गई समस्याओं के बारे में जानने के लिए, बंद की गई समस्याएं देखें.
पहले से मालूम समस्याओं और उन्हें हल करने के तरीके जानने के लिए, कृपया एम्युलेटर से जुड़ी समस्याएं हल करना लेख पढ़ें.
36.6.11 स्टेबल (2 जून, 2026)
एपीआई 37 से, एवीडी के वीएम के लिए इस्तेमाल की जाने वाली कम से कम मेमोरी (रैम) को बढ़ाकर 4 जीबी कर दिया गया है.
Android 17 (एपीआई 37) को ज़्यादा मेमोरी की ज़रूरत होती है. इसलिए, फ़ोन के Android वर्चुअल डिवाइसों (एवीडी) के लिए, अब कम से कम 4 जीबी रैम होना ज़रूरी है. अगर आपके एवीडी में कम मेमोरी कॉन्फ़िगर की गई है, तो Emulator अपने-आप सेटिंग को बदल देगा, ताकि कम से कम 4 जीबी मेमोरी असाइन की जा सके. इससे रनटाइम से जुड़ी संभावित समस्याओं को रोका जा सकेगा.
कॉन्फ़िगर किए जा सकने वाले वर्चुअल सीन के बैकग्राउंड के लिए, Emulator में "environment" कैमरा मोड जोड़ा गया. इन सीन को AVD की environment.ini फ़ाइल में तय किया जाता है. साथ ही, इन्हें रनटाइम के दौरान डाइनैमिक तरीके से फिर से लोड किया जा सकता है.
उस गड़बड़ी को ठीक किया गया है जिसमें स्नैपशॉट मिटाने के बाद, स्टैंडअलोन एम्युलेटर में स्नैपशॉट की झलक नहीं हटती थी.
[गड़बड़ी ठीक की गई]समस्या #506475581 macOS पर दो से ज़्यादा चैनलों (लूपबैक, मल्टी-आउटपुट) वाले ऑडियो इंटरफ़ेस का इस्तेमाल करने पर, एम्युलेटर का ऑडियो बहुत ज़्यादा खराब हो जाता है
[गड़बड़ी ठीक की गई]समस्या #516455370 macOS 26.3 पर, एम्युलेटर बंद करते समय मेमोरी लीक होने की समस्या को ठीक किया गया है. यह समस्या, Hypervisor.framework API के इस्तेमाल किए गए संसाधनों को हटाने से जुड़ी थी.
36.5.11 पैच (23 अप्रैल, 2026)
- [बग ठीक किया गया]समस्या #492228020 Intel GPU पर हार्डवेयर/ऑटो ग्राफ़िक्स रेंडरिंग का इस्तेमाल करने पर, Android Emulator में काली स्क्रीन दिखती है
36.5.10 स्टेबल (2 अप्रैल, 2026)
इस अपडेट में, गड़बड़ियां ठीक की गई हैं और यह सुविधा जोड़ी गई है:
Android Emulator की मदद से, मल्टी-डिवाइस इंटरैक्शन की जांच करना
Android Emulator में अब एक नया नेटवर्किंग स्टैक उपलब्ध है. इससे मल्टी-डिवाइस पर टेस्टिंग को बेहतर बनाया जा सकता है. साथ ही, एक ही होस्ट पर कई एवीडी इंस्टेंस को कनेक्ट करने के लिए, मैन्युअल तरीके से पोर्ट फ़ॉरवर्ड करने की ज़रूरत नहीं होती. एवीडी अब एक-दूसरे को अपने-आप ढूंढ सकते हैं और उनसे कम्यूनिकेट कर सकते हैं. ऐसा तब होता है, जब वे एक ही वर्चुअल नेटवर्क पर हों. इससे, Wi-Fi Direct और नेटवर्क सर्विस डिस्कवरी जैसे प्रोटोकॉल का इस्तेमाल करके, पीयर-टू-पीयर इंटरैक्शन की आसानी से टेस्टिंग की जा सकती है.
इस नए नेटवर्किंग स्टैक से डेवलपर को कई अहम फ़ायदे मिलते हैं:
- ज़ीरो-कॉन्फ़िगरेशन: अब आपको मैन्युअल तरीके से पोर्ट फ़ॉरवर्डिंग करने या adb कमांड स्क्रिप्ट करने की ज़रूरत नहीं है.
- बिना रुकावट के पीयर-टू-पीयर: वाई-फ़ाई डायरेक्ट और नेटवर्क सर्विस डिस्कवरी जैसे ज़रूरी प्रोटोकॉल, एम्युलेटर के बीच बिना किसी रुकावट के काम करते हैं.
- बेहतर स्थिरता: इससे लंबे समय से आ रही स्थिरता से जुड़ी समस्याओं को हल किया जाता है. जैसे, लेगसी स्टैक में डेटा का नुकसान (समस्या #150758736) और कनेक्शन ड्रॉप होना (समस्या #449817856).
शुरू करने के लिए, Android Studio के एसडीके मैनेजर में जाकर, Android Emulator को नए वर्शन में अपडेट करें. ज़्यादा जानकारी के लिए, दस्तावेज़ यहां उपलब्ध है.
अतिरिक्त सुविधाएं और गड़बड़ियां ठीक की गईं
नए Pixel AVD जोड़े गए हैं. इनमें Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, और Pixel 10 Pro Fold शामिल हैं
वेबकैम को उपयोगकर्ता के हिसाब से नाम दें. साथ ही, Linux में उस समस्या को ठीक करें जहां Emulator, कनेक्ट किए गए सभी वेबकैम का पता नहीं लगा सका और उन्हें सूची में शामिल नहीं कर सका
[बग ठीक किया गया]समस्या #333628462 macOS पर crashpad_handler प्रोसेस, सीपीयू का बहुत ज़्यादा इस्तेमाल करती है
36.4.10 पैच (9 मार्च, 2026)
- [बग ठीक किया गया]समस्या #489369080 Panda 2 पर अपडेट करने के बाद, टीवी एम्युलेटर पर कर्सर घुमाने पर क्रैश होने की समस्या ठीक की गई
36.4.9 स्टेबल (10 फ़रवरी, 2026)
यूज़र इंटरफ़ेस में जीपीयू चुनने की प्रोसेस को आसान बनाने के लिए, Android Emulator के एक्सटेंडेड कंट्रोल में अब हार्डवेयर और सॉफ़्टवेयर के खास विकल्प शामिल हैं. कमांड लाइन का इस्तेमाल करने वाले लोग, अब '-gpu software' विकल्प का इस्तेमाल करके, अपने सिस्टम के लिए सबसे अच्छे उपलब्ध GLES और Vulkan सॉफ़्टवेयर रेंडरिंग बैकएंड चुन सकते हैं
सभी प्लैटफ़ॉर्म पर Vulkan के साथ काम करने की सुविधा को बेहतर बनाने के लिए, Lavapipe को डिफ़ॉल्ट ग्राफ़िक्स सॉफ़्टवेयर रेंडरर के तौर पर चालू किया गया
Vulkan में किए गए सुधार:
- एम्युलेटर के साथ बंडल किए गए Vulkan लोडर को अपडेट किया गया
- Vulkan बैकएंड पर, इस्तेमाल के कई अमान्य उदाहरणों को ठीक किया गया
- नई सिस्टम इमेज पर, ग्राफ़िक्स क्यू इम्यूलेशन के साथ systemui पर SkiaVk का इस्तेमाल करने की सुविधा जोड़ी गई
- होस्ट पर GL के इस्तेमाल को बंद करने के लिए, Vulkan कंपोज़िशन के लिए सहायता जोड़ी गई. यह सुविधा, XR इमेज के लिए डिफ़ॉल्ट रूप से चालू होती है. इसे '-feature VulkanNativeSwapchain' कमांड लाइन विकल्प के साथ चालू किया जा सकता है.
[बग ठीक किया गया]समस्या #471008659 ऐक्टिविटी खोलने/बंद करने पर, एम्युलेटर के होस्ट साइड पर मेमोरी लीक होने की समस्या
36.4.3 Canary (8 दिसंबर, 2025)
एआई ग्लास का नया एम्युलेटर
हमने एआई चश्मे के लिए, एक्सपेरिमेंट के तौर पर एक नया एआई चश्मा इम्यूलेटर जोड़ा है. इसका इस्तेमाल, एआई चश्मे के लिए Jetpack XR SDK की मदद से बनाए गए ऐप्लिकेशन को डेवलप और टेस्ट करने के लिए किया जा सकता है. चश्मे के इम्यूलेटर को फ़ोन के इम्यूलेटर के साथ चलाया जा सकता है. साथ ही, दोनों को एक-दूसरे से जोड़ा जा सकता है. इसके अलावा, चश्मे पर किए जाने वाले सामान्य इंटरैक्शन किए जा सकते हैं. एआई चश्मे के इम्यूलेटर को इंस्टॉल करने और डेवलपमेंट एनवायरमेंट सेट अप करने के बारे में जानने के लिए, वर्चुअल एआई चश्मे के डिवाइस बनाना लेख पढ़ें.
एआई चश्मे का एम्युलेटर, एक्सपेरिमेंट के तौर पर उपलब्ध एक टूल है. इसमें समस्याएं आ सकती हैं. खास तौर पर, चश्मे को फ़ोन एम्युलेटर से फिर से पेयर करने और टचपैड यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करने में समस्याएं आ सकती हैं.
XR Glasses Emulator का नया वर्शन
हमने ओएसटी (ऑप्टिकल सी थ्रू) एक्सआर ग्लास के लिए, पहले लॉन्च किए गए Android XR एम्युलेटर को अपडेट किया है. एक्सआर के स्मार्ट ग्लास के एम्युलेटर का इस्तेमाल करके, अपने ऐप्लिकेशन की झलक देखी जा सकती है. इससे आपको एक्सआर के स्मार्ट ग्लास डिवाइस के फ़ील्ड ऑफ़ व्यू (एफ़ओवी) और रिज़ॉल्यूशन के बारे में अंदाज़ा मिलता है. एक्सआर के स्मार्ट ग्लास का एम्युलेटर इंस्टॉल करने और डेवलपमेंट एनवायरमेंट सेट अप करने के बारे में जानकारी के लिए, वर्चुअल एक्सआर स्मार्ट ग्लास डिवाइस बनाना लेख पढ़ें.
एक्सआर स्मार्ट ग्लास और एआई स्मार्ट ग्लास के एम्युलेटर, एक्सपेरिमेंट के तौर पर उपलब्ध टूल हैं. आपको कुछ समस्याएं आ सकती हैं. खास तौर पर, Windows के कुछ जीपीयू और ड्राइवर कॉन्फ़िगरेशन पर (Windows के लिए सिस्टम की ज़रूरी शर्तें देखें).
मौजूदा समस्याएं
आपके सुझाव/राय देने या शिकायत करने से, हमें इस सुविधा को बेहतर बनाने में मदद मिलेगी. साथ ही, इससे हमें आने वाले समय में सुविधाओं को प्राथमिकता देने के बारे में फ़ैसले लेने में मदद मिलेगी. Android Studio या Android Emulator से जुड़ी गड़बड़ियों की रिपोर्ट करने के बारे में जानकारी पाने के लिए, गड़बड़ी की रिपोर्ट करें लेख पढ़ें.
36.3.10 स्टेबल (4 दिसंबर, 2025)
[बग ठीक किया गया]समस्या #452843321 Android API 34 और उसके बाद के वर्शन पर, एम्युलेटर में बड़ी फ़ाइलें पुश करने पर परफ़ॉर्मेंस खराब हो जाती है.
वीडियो कोडेक के जीपीयू टेक्सचर मोड में चलने पर, Vulkan कंपोज़िशन क्रैश होने की समस्या ठीक की गई.
-debug-events के साथ चलाने पर, टचस्क्रीन इवेंट पर एम्युलेटर क्रैश होने की समस्या ठीक की गई.
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 i7-11850H पर WHPX का इस्तेमाल करके Windows 11 पर, API 36 और 35 (शायद इससे ज़्यादा) के लिए क्विक बूट के बाद गेस्ट कर्नल क्रैश हो गया
36.1.9 स्टेबल (31 जुलाई, 2025)
[बग ठीक किया गया]समस्या #419157428 उपयोगकर्ता नाम या AVD पाथ में UTF-8 वर्णों की वजह से, एम्युलेटर शुरू नहीं हो सकता
[गड़बड़ी ठीक की गई]समस्या #423670833 btrfs फ़ाइल सिस्टम पर Android Emulator क्रैश हो जाता है
ध्यान दें: अगर आपको X11 पर एम्युलेटर लॉन्च करने में समस्याएं आ रही हैं, तो सॉफ़्टवेयर रेंडरिंग का इस्तेमाल करें. सॉफ़्टवेयर रेंडरिंग को कॉन्फ़िगर करने का तरीका जानने के लिए, ग्राफ़िक एक्सेलरेशन कॉन्फ़िगर करना लेख पढ़ें.
35.6.11 स्टेबल वर्शन (24 जून, 2025)
Windows और Linux पर, XR इम्यूलेशन के लिए 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, चार जीबी vRAM, ड्राइवर वर्शन 553.35 या इसके बाद का वर्शन
- 16 जीबी या इससे ज़्यादा की रैम
- आठ या इससे ज़्यादा कोर
मौजूदा समस्याएं
एम्युलेटर - स्थिरता और परफ़ॉर्मेंस:
- कुछ Windows कॉन्फ़िगरेशन पर, बूट करने के दौरान या ऐप्लिकेशन चलाने के दौरान सिस्टम लॉक हो सकता है या क्रैश हो सकता है. कृपया पक्का करें कि Windows Hypervisor Platform (WHPX) चालू हो. इसके लिए, WHPX को चालू करने के लिए Android Studio डेवलपर गाइड देखें.
- लैपटॉप को बंद करके फिर से चालू करने के बाद, एवीडी या यूज़र इंटरफ़ेस (यूआई) एलिमेंट के काम न करने जैसी समस्याएं. जैसे, लैपटॉप बंद करके फिर से खोलना.
- "होम स्क्रीन मोड" से "फ़ुल स्क्रीन मोड" पर ऐप्लिकेशन स्विच करते समय, कभी-कभी क्रैश हो जाता है
- Gemini API अभी उपलब्ध नहीं हैं. इसलिए, Gemini API स्टार्टर टेंप्लेट ऐप्लिकेशन क्रैश हो जाएगा.
एम्युलेटर - इनपुट और आउटपुट को सिम्युलेट करना:
- ऐसा हो सकता है कि खोज और बदलाव वाले फ़ील्ड के लिए वर्चुअल कीपैड, फ़ील्ड ऑफ़ व्यू (कैमरे से दिख रहा व्यू) में सिर्फ़ कुछ हद तक दिखे
माउस और कीबोर्ड का इस्तेमाल करके, एलिमेंट को z-डायरेक्शन (स्क्रीन के अंदर और बाहर) में नहीं ले जाया जा सकता
AVD के माइक्रोफ़ोन से होस्ट किए गए ऑडियो इनपुट में गड़बड़ी होने की वजह से, AVD रीबूट हो सकते हैं और क्रैश हो सकते हैं.
कभी-कभी आवाज़ में स्टैटिक या खराबी होती है.
कैमरे को वर्चुअल लिविंग रूम से बाहर ले जाने पर, रेंडरिंग से जुड़ी गड़बड़ियां दिखती हैं.
Windows कॉन्फ़िगरेशन में, सामान्य से ज़्यादा गहरे रंग दिखते हैं.
एम्युलेटर को कुछ समय तक इस्तेमाल न करने और macOS पर स्क्रीन लॉक करने के बाद, ऑडियो काम नहीं करता. (एम्युलेटर को रीस्टार्ट करने पर, यह वापस आ जाएगा.)
होस्ट मशीन के वाई-फ़ाई बदलने पर, नेटवर्क कनेक्शन टूट जाता है.
Caps Lock चालू होने पर भी, छोटे अक्षरों में टाइप किया जाता है.
Mac पर ट्रैकपैड का इस्तेमाल करके स्क्रोल करने में समस्या आ रही है.
ऐसा हो सकता है कि कुछ यूज़र इंटरफ़ेस (यूआई) एलिमेंट पर क्लिक करके खींचने और छोड़ने की सुविधा काम न करे. अगर ऐसा नहीं होता है, तो स्क्रोल करने के लिए माउस के पहिए का इस्तेमाल करें.
Windows के कुछ सिस्टम कॉन्फ़िगरेशन पर,Chrome में टेक्स्ट धुंधला दिखता है. साथ ही, यूज़र इंटरफ़ेस (यूआई) और अन्य गड़बड़ियां दिखती हैं. इस समस्या को ठीक करने का तरीका: WHP को चालू करना.
एम्युलेटर - विमानों और ऐंकर को सिम्युलेट करना:
- कभी-कभी ऐंकर, उसी जगह के आस-पास फिर से नहीं दिखते
- ऐसा हो सकता है कि मूव किए जा सकने वाले पैनल, दीवारों या छत से न जुड़ें
- सिम्युलेट किए गए प्लेन, पासथ्रू मोड में 3D रूम के फ़िज़िकल लेआउट से मेल नहीं खाते
- वर्चुअल रूम में ऑब्जेक्ट ऐंकर करने के लिए, सीमित जगहें
- Windows पर पासथ्रू व्यू में दिखने वाला छोटा आर्टफ़ैक्ट
- कुछ मामलों में, ऐंकर जोड़ने पर ऐप्लिकेशन क्रैश हो सकता है
- Windows पर ऐप्लिकेशन को ज़मीन के पास ले जाने पर, ऐप्लिकेशन के ऊपर काली लाइनें दिख सकती हैं
एम्युलेटर - अन्य:
- एम्युलेटर सिर्फ़ "स्टैंडअलोन" मोड में शुरू होता है. "एम्बेड किया गया" मोड (एम्बेड किया गया यूज़र इंटरफ़ेस) फ़िलहाल काम नहीं करता.
- Windows पर एम्युलेटर में खातों से लॉग इन करने पर, एम्युलेटर काम करना बंद कर सकता है
- विंडो का साइज़ बदलने के बाद, यूज़र इंटरफ़ेस (यूआई) का कॉन्टेंट गायब हो सकता है (समस्या हल करने का तरीका: "होम" बटन दबाएं)
- JXRCore ActivityPanelTest ऐप्लिकेशन में, सेकंडरी पैनल शुरू में नहीं दिखता है
- ऐसा हो सकता है कि लंबे समय तक इस्तेमाल न करने पर, क्विक सेटिंग के आइटम सिस्टम सेटिंग से गायब हो जाएं.
- ऐसा हो सकता है कि शुरुआत में, एम्युलेटर का यूज़र इंटरफ़ेस (यूआई) स्क्रीन के बाहर दिखे. अगर ऐसा होता है, तो एम्युलेटर विंडो के साइज़ में थोड़ा बदलाव करें. इससे वह अपनी जगह पर वापस आ जाएगी.
- Windows पर Chrome रिमोट डेस्कटॉप का इस्तेमाल करते समय, एम्युलेटर चालू नहीं हो सकता
- फ़िलहाल, एम्युलेटर पर OpenXR काम नहीं करता है. साथ ही, OpenXR ऐप्लिकेशन की वजह से एम्युलेटर क्रैश हो सकता है
- Windows पर Android Studio की एक्सटेंडेड सेटिंग का इस्तेमाल करके, गड़बड़ी की रिपोर्ट सबमिट करते समय कभी-कभी गड़बड़ी होती है
- Mac पर कर्सर को सेटिंग ऐप्लिकेशन के "वापस जाएं" आइकॉन के पास ले जाने तक, वह आइकॉन ठीक से नहीं दिखता
- कुछ मामलों में, XR टेंप्लेट प्रोजेक्ट के हिस्से के तौर पर "बेसलाइन प्रोफ़ाइल" मॉड्यूल का इस्तेमाल करने पर, बिल्ड करने में गड़बड़ी हो सकती है
- "XR Talkback" की सुलभता की सुविधा को अब तक सिर्फ़ एम्युलेटर में आंशिक रूप से इंटिग्रेट किया गया है
Scene Viewer ऐप्लिकेशन:
- Scene Viewer में एलिमेंट को हिलाने-डुलाने से, यह क्रैश हो सकता है. इस समस्या को हल करने के लिए, एलिमेंट को मूव करने से पहले, हेड की पोज़िशन को उसकी शुरुआती पोज़िशन से थोड़ा दूर ले जाएं. उदाहरण के लिए, पैन, डॉली, WASD वगैरह का इस्तेमाल करके.
- अगर 3D मॉडल का असल साइज़, स्केल की कम से कम और ज़्यादा से ज़्यादा सीमा (फ़िलहाल, 20 सेमी और 70 मीटर पर सेट है) से कम या ज़्यादा है, तो 1:1 के असल साइज़ वाली सुविधा ठीक से काम नहीं करेगी
- लोड होने के बाद, 3D मॉडल पहले फ़्रेम पर कूद सकता है
35.2.10 (1 अक्टूबर, 2024)
- Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, और Pixel 9 Pro Fold जैसे नए Pixel AVD जोड़े गए
- Vanilla Ice Cream (API 35) के लिए, नई टैबलेट सिस्टम इमेज जोड़ी गई
35.1.20 (29 अगस्त, 2024)
- Pixel 8a AVD जोड़ा गया
- फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए कई गड़बड़ियां ठीक की गईं
- Qt को अपडेट किया गया है. साथ ही, Qt से जुड़े क्रैश और हैंग होने की समस्याओं को ठीक किया गया है
- [गड़बड़ी ठीक की गई] Vulkan का इस्तेमाल करने वाले ऐप्लिकेशन के साथ Windows पर क्रैश और फ़्रीज़ होने की समस्या ठीक की गई
34.2.16 (9 जुलाई, 2024)
- [बग ठीक किया गया] Pixel Fold को फ़ोल्ड/अनफ़ोल्ड करते समय यूज़र इंटरफ़ेस (यूआई) के फ़्रीज़ होने की समस्या
- [गड़बड़ी ठीक की गई] Mac M1 पर, Android के वर्शन को API 35 के बजाय Android Vanilla Ice Cream Preview के तौर पर गलत तरीके से दिखाया जा रहा था.
- [गड़बड़ी ठीक की गई] समस्या #296162661: Pixel C टैबलेट के एम्युलेटर पर HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE, सही वैल्यू दिखाता है
34.2.15 (31 मई, 2024)
- स्वैंगल मोड और विज्ञापन देने वाले व्यक्ति या कंपनी के खाते को बंद करने से जुड़ी क्रैश की कई समस्याओं को ठीक किया गया
34.2.14 (20 मई, 2024)
इसे Android Studio Jellyfish के स्टेबल वर्शन के पहले पैच के साथ टेस्ट किया गया है.
- [गड़बड़ी ठीक की गई] कभी-कभी, एम्बेड किए गए एम्युलेटर पर स्नैपशॉट रुक जाता है
- [बग ठीक किया गया] स्नैपशॉट पर 'नहीं' और 'रद्द करें' बटन ठीक से काम नहीं कर रहे हैं
- [बग ठीक किया गया] डायरेक्शनल पैड के बटन काम नहीं कर रहे हैं
- [बग ठीक किया गया] Windows पर दिखने वाली उस समस्या को ठीक किया गया है जिसकी वजह से, ANGLE के साथ GPU मोड का इस्तेमाल करते समय कुछ स्थितियों में एम्युलेटर शुरू नहीं हो पाता था. साथ ही, लॉग में “Failed to initialize GL emulation” गड़बड़ी का मैसेज दिखता था. ध्यान दें कि इस वर्शन में, कमांड लाइन के ज़रिए
-gpu swangle_indirectविकल्प के साथ एम्युलेटर शुरू करने पर अब भी यह गड़बड़ी दिख सकती है. अगर आपको इस वर्शन में, Windows पर कमांड लाइन का इस्तेमाल करके सॉफ़्टवेयर ग्राफ़िक्स रेंडरिंग के साथ एम्युलेटर शुरू करना है, तो कृपया-gpu swiftshader_indirectका इस्तेमाल करें - [बग ठीक किया गया] कीबोर्ड पर मौजूद जगह की जानकारी वाले शॉर्टकट से, इस्तेमाल न किया जा सकने वाला मैप लोड होता है
- [बग ठीक किया गया] जगह की जानकारी सेट करते समय, "रास्ता सेव करें" डायलॉग मौजूद नहीं है
34.2.13 (30 अप्रैल, 2024)
इसे Android Studio Jellyfish के स्टेबल वर्शन के साथ टेस्ट किया गया है.
- Qt 6.5.3 पर अपडेट करें
- Google Maps API के अपडेट के साथ काम करने की सुविधा. इसका इस्तेमाल, एम्युलेटर के एक्सटेंडेड कंट्रोल में मौजूद जगह की जानकारी की सुविधाओं के लिए किया जाता है. यह सुविधा, मई के आखिर में उपलब्ध होगी.
- क्रैश होने की समस्या को ठीक करने के लिए, बहुत ज़्यादा असर डालने वाले सुधार
- Pixel AVD से जुड़ी कई समस्याओं को ठीक किया गया
- सॉफ़्टवेयर रेंडरिंग के लिए इस्तेमाल की जाने वाली ग्राफ़िक्स लाइब्रेरी को अपडेट किया गया
- [बग ठीक किया गया]समस्या 225541819 Chrome शुरू करने पर, x86_64 पर एम्युलेटर क्रैश हो जाता है
- [बग ठीक किया गया]समस्या 314614435
-http-proxyस्विच को गलत तरीके से पार्स किया गया
34.1.20 (1 अप्रैल, 2024)
इसकी जांच Android Studio Iguana Stable वर्शन के साथ की गई है.
- [बग ठीक किया गया] समस्या #314614435:
-http-proxyस्विच को गलत तरीके से पार्स करने की समस्या को ठीक किया गया
34.1.19 (7 मार्च, 2024)
इसकी जांच Android Studio Iguana Stable वर्शन के साथ की गई है.
- [बग ठीक किया गया] समस्या #312677259: विंडो का साइज़ बदलने के बाद, एम्बेड किए गए एम्युलेटर में स्क्रीन फ़्रीज़ होने की समस्या ठीक की गई.
34.1.18 (29 फ़रवरी, 2024)
इसकी जांच Android Studio Iguana Stable वर्शन के साथ की गई है.
- डिवाइसों को एम्युलेटर में जोड़ा गया. इनमें ये शामिल हैं:
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- gRPC इंटिग्रेशन टेस्ट: gRPC एंडपॉइंट अब एम्युलेटर में चल रहे इंस्ट्रुमेंटेड टेस्ट के लिए उपलब्ध हैं. इससे असली स्थितियों की जांच की जा सकेगी. इस सुविधा की मदद से, डेवलपर Android इंस्ट्रुमेंटेशन टेस्ट के दौरान, Android Emulator पर होस्ट किए गए gRPC एंडपॉइंट के साथ सुरक्षित तरीके से इंटरैक्ट कर सकते हैं.
- कई गड़बड़ियां ठीक की गईं
- बग ठीक किया गया: फ़ोल्ड किए जा सकने वाले डिवाइसों पर इस्तेमाल करने से जुड़ी समस्याओं को ठीक किया गया
- बग ठीक किया गया: रोटेशन के बाद, Emulator की पोज़िशन को अडजस्ट किया गया
- क्रैश से जुड़ी समस्याएं ठीक की गईं
33.1.24 (28 दिसंबर, 2023)
इसे Android Studio Hedgehog के स्टेबल वर्शन और Iguana Beta 1 के साथ टेस्ट किया गया है.
- इमुलेटर के वेबकैम से जुड़ी उस समस्या को ठीक किया गया है जिसकी वजह से, mp4 फ़ॉर्मैट में स्क्रीन रिकॉर्ड नहीं की जा सकती.
- स्क्रीन रिकॉर्डिंग के दौरान, Pixel Fold AVD को अनफ़ोल्ड करने पर, Emulator के क्रैश होने की समस्या ठीक की गई.
- उस समस्या को ठीक किया गया जिसमें Pixel Fold पर, कीबोर्ड के अलग होने पर फ़ोन की अलग स्किन दिखती है और उसका इस्तेमाल नहीं किया जा सकता. यह समस्या Windows, Mac Intel, और Linux पर ठीक कर दी गई है
- स्टैंडअलोन मोड में वर्चुअल सेंसर के दिखने में गड़बड़ी को ठीक किया गया है. यह गड़बड़ी Windows, Mac Intel, और Linux पर ठीक की गई है
- कुछ क्रैश की समस्याओं को ठीक किया गया है. खास तौर पर, एम्युलेटर बंद करते समय होने वाली समस्याओं को ठीक किया गया है
33.1.23 (30 नवंबर, 2023)
इसकी जांच Android Studio Giraffe Patch 4 और Hedgehog Stable के साथ की गई है.
- Pixel Fold डिवाइस को बेहतर तरीके से चलाने के लिए, फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए नया सिस्टम लागू किया गया है. यह एपीआई 34 के साथ काम करता है
- ग्राफ़िक्स बैकएंड को अपग्रेड किया गया है: हमने अपने ग्राफ़िक्स बैकएंड के लिए gfxstream प्रोटोकॉल लागू किया है. इस सुधार से, आपके सिस्टम की ग्राफ़िक्स परफ़ॉर्मेंस और स्थिरता बेहतर होती है. इसके अलावा, एपीआई 34 वाली सिस्टम इमेज से Vulkan 1.3 के साथ काम करने की सुविधा शुरू की जा रही है
- सुविधा का अनुरोध: पिंच करके ज़ूम करने वाले जेस्चर को बंद करने या इसकी हॉटकी को फिर से असाइन करने का विकल्प
- [गड़बड़ी ठीक की गई] समस्या #302562962 MacOS Sonoma का इस्तेमाल करते समय, Emulator का वेबकैम क्रैश होने की समस्या ठीक की गई
- [बग ठीक किया गया] समस्या #293503871 Emulator को रीस्टार्ट करने पर, 'माइक्रोफ़ोन' सेटिंग सेव न होने की समस्या ठीक की गई
- [बग ठीक किया गया] समस्या #270386314 एवीडी स्क्रीन को छोटा करने के बाद भी साइडबार खुला रहने की ऐनिमेशन से जुड़ी गड़बड़ी को ठीक किया गया
- [बग ठीक किया गया] समस्या #154896775 बग सबमिट करने वाले टूल से जुड़ी समस्या ठीक की गई
32.1.15 (29 अगस्त, 2023)
इसकी जांच Android Studio Giraffe Patch 1 और Hedgehog Canary 16 के साथ की गई है.
- AAE Emulator में सेंसर के लिए, GAS के एचडब्ल्यू से जुड़ी ज़रूरी शर्तों का पालन करना
- [गड़बड़ी ठीक की गई] समस्या #266201208 एपीआई 33 पर हिब्रू भाषा में एसएमएस नहीं भेजा जा रहा है
- [गड़बड़ी ठीक की गई] समस्या #257097404 API 29 और 30 पर होस्ट के चालू होने के बाद, एम्युलेटर में सही समय नहीं दिखता
- [बग ठीक किया गया] समस्या #228201899 Android Emulator के एक्सटेंडेड कंट्रोल में Google Maps नहीं दिख रहा है
32.1.14 (27 जून, 2023)
इसकी जांच Android Studio Hedgehog Canary 8, Giraffe Beta 5, और Flamingo Stable के साथ की गई है.
- एम्युलेटर के कैमरे के ओरिएंटेशन और इमेज में होने वाली गड़बड़ियों को ठीक किया गया.
- [बग ठीक किया गया] समस्या #257097404 "होस्ट को चालू करने के बाद, एम्युलेटर में सही समय नहीं दिखता". यह गड़बड़ी, एपीआई 29 और एपीआई 30 के लिए अब भी दोहराई जा सकती है.
- [बग ठीक किया गया] समस्या #243456582 "API 30 के बाद वाले Android वर्शन, Mac M1 मशीनों पर एम्युलेटर में ठीक से शुरू नहीं हो सकते"
32.1.13 (22 मई, 2023)
इसे Android Studio Hedgehog Canary 2, Giraffe Beta 1, और Flamingo Stable के साथ टेस्ट किया गया है.
- Pixel Fold और Pixel Tablet के एवीडी के लिए सहायता जोड़ी गई.
- gLinux के क्रैश होने की समस्या को ठीक किया गया.
- [बग ठीक किया गया] समस्या #215231636 "Intel 12th gen प्रोसेसर में, API 30 से ऊपर वाले एपीआई के साथ काम करने वाला एम्युलेटर काम नहीं कर रहा है".
- [बग ठीक किया गया] समस्या #275397905 Android Emulator M1 में कर्सर को बार-बार अंदर और बाहर ले जाने पर, क्रैश होने की समस्या का लेवल ज़्यादा है.
- जब नए वर्शन वाले एम्युलेटर की क्रैश रिपोर्ट मौजूद होती है, तब एवीडी लॉन्च करने में समस्या आती है. ज़्यादा जानकारी के लिए, एम्युलेटर से जुड़ी समस्या हल करना लेख देखें.
32.1.12 (21 मार्च, 2023)
इसे Android Studio Giraffe Canary 10, Flamingo RC, और Electric Eel Patch 2 के साथ टेस्ट किया गया है.
- [बग ठीक किया गया] समस्या #267647323 Android Studio से शुरू किए गए एम्युलेटर पर नेटवर्क काम नहीं करता
- [बग ठीक किया गया] समस्या #268498686 Emulator की स्क्रीन फ़्लिकर हो रही है
- [गड़बड़ी ठीक की गई] समस्या #270034824 वर्शन 33.1.1 पर अपडेट करने के बाद, एम्युलेटर की परफ़ॉर्मेंस खराब हो गई
- [बग ठीक किया गया] समस्या #225541819 Chrome शुरू करने पर, x86_64 पर Emulator क्रैश हो जाता है
- [बग ठीक किया गया] समस्या #257097404 होस्ट के चालू होने के बाद, एम्युलेटर में सही समय नहीं दिखता
- Apple M1 डिवाइसों के लिए क्रैश रिपोर्टिंग की सुविधा जोड़ना
32.1.11 (8 फ़रवरी, 2023)
इस सुविधा को Android Studio Giraffe Canary 2, Flamingo Beta 1, और Electric Eel Patch 1 के साथ टेस्ट किया गया है.
- नेटवर्क की स्पीड को ऑप्टिमाइज़ करना
- एम्बेड किए गए एम्युलेटर में माउस का इस्तेमाल करने की सुविधा
- Virtio-snd में सुधार
- इंस्टॉल करने के दौरान, Android Emulator को अनज़िप करते समय सिमलंक के इस्तेमाल को बंद करें
- एम्युलेटर की जांच करने वाले टूल में क्रैश होने की समस्या ठीक की गई
31.3.14 (13 दिसंबर, 2022)
इसे Android Studio Dolphin, Electric Eel RC1, और Flamingo Canary 9 के साथ टेस्ट किया गया है.
- [गड़बड़ी ठीक की गई] Play Store में लॉग इन करते समय, AVD क्रैश होने की समस्या को ठीक किया गया.
31.3.13 (27 अक्टूबर, 2022)
इसकी जांच Android Studio Dolphin, Electric Eel Beta 2, और Flamingo Canary 5 के साथ की गई है.
- [बग ठीक किया गया] समस्या #249948338: टाइम ज़ोन पैरामीटर काम नहीं कर रहा है
- [बग ठीक किया गया] समस्या #249366543: API 31 के बाद, Emulator -dns-server विकल्प काम नहीं करता
31.3.12 (10 अक्टूबर, 2022)
इसे Android Studio Dolphin और Electric Eel Beta 1 के साथ टेस्ट किया गया है.
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- [बग ठीक किया गया] समस्या #247843000: एवीडी के रिलेटिव पाथ को हैंडल करने में गड़बड़ी
- एपीआई 24 और इसके बाद के वर्शन के लिए, डिस्क का साइज़ बढ़ाना
31.3.11 (23 सितंबर, 2022)
इसकी जांच Android Studio Dolphin और Electric Eel Canary 10 के साथ की गई है.
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- [बग ठीक किया गया] एक्सटेंडेड कंट्रोल विंडो पर एंबेड किया गया एम्युलेटर एवीडी क्रैश हो जाता है
- [बग ठीक किया गया] समस्या #183139207: 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 OS एम्युलेटर के अपडेट किए गए बटन
- gRPC ऑडियो स्ट्रीमिंग में सुधार
- रीसाइज़ किए जा सकने वाले एम्युलेटर कंसोल कमांड को जोड़ा गया
- Chrome Fix for API 31
- [गड़बड़ी ठीक की गई] GmsCore v21.42.18 के साथ Google खाते की पुष्टि नहीं हो पा रही है
31.2.10 (20 अप्रैल, 2022)
इसकी जांच Android Studio Dolphin Canary 8 और Chipmunk RC 1 के साथ की गई है.
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- Vulkan फ़ंक्शन को फ़ॉलबैक के साथ लोड करने की सुविधा जोड़ें
- [गड़बड़ी ठीक की गई] gcc8 बिल्ड की गड़बड़ी ठीक की गई
31.2.9 (23 मार्च, 2022)
इसकी जांच Android Studio Dolphin Canary 7 के साथ की गई है.
इस अपडेट में, यह समस्या ठीक की गई है:
- [बग ठीक किया गया] M1 पर स्नैपशॉट सेव करते समय, मेमोरी पर पड़ने वाले दबाव को अनदेखा करें
31.2.8 (7 फ़रवरी, 2022)
इसकी जांच Android Studio Bumblebee Patch 1 और Chipmunk Canary 6 के साथ की गई है.
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- [बग ठीक किया गया] ऐप्लिकेशन में साइन इन नहीं किया जा सका
- [बग ठीक किया गया] समस्या #215368358: Intel प्लैटफ़ॉर्म पर "adb reboot" कमांड का इस्तेमाल करने पर, "vcpu shutdown request" की वजह से AVD क्रैश हो जाएगा
31.2.7 (1 फ़रवरी, 2022)
इसकी जांच Android Studio Bumblebee Patch 1 और Chipmunk Canary 6 के साथ की गई है.
इस अपडेट में, यह समस्या ठीक की गई है:
- [गड़बड़ी ठीक की गई] M1 मशीन पर एम्युलेटर के हैंग होने की गड़बड़ी ठीक की गई.
31.2.6 (20 जनवरी, 2022)
इसे Android Studio Arctic Fox, Bumblebee Beta 4, और Chipmunk Canary 6 के साथ टेस्ट किया गया है.
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- Wear OS एम्युलेटर में Wear बटन जोड़े गए.
- वीएचएएल टैब में, वाहन की सभी प्रॉपर्टी में बदलाव करने की सुविधा जोड़ी गई.
- [गड़बड़ी ठीक की गई] GmsCore v21.42.18 के साथ Google खाते की पुष्टि नहीं हो पाई.
- [बग ठीक किया गया] Netshaper, VirtioWifi के साथ ठीक से काम नहीं कर रहा था.
- [बग ठीक किया गया] इवेंट माउस कंसोल कमांड काम नहीं कर रही थी.
- स्थानीय एवीडी बनाने के लिए, केवीएम की जांच करने की सुविधा जोड़ी गई.
31.1.3 (18 जनवरी, 2022)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- Fuchsia के लिए कंसोल पोर्ट चालू किए गए.
- एक से ज़्यादा डिसप्ले वाली विंडो का साइज़ बदलते समय, ओरिएंटेशन को अनदेखा कर दिया जाता है.
- वाई-फ़ाई: MAT मैक पते के आधार पर, यूनिकास्ट पैकेट को फ़िल्टर करने की सुविधा जोड़ी गई है.
- वाई-फ़ाई: vmnet का इस्तेमाल करते समय क्रैश होने की समस्या ठीक की गई.
30.9.5 (15 दिसंबर, 2021)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- डेस्कटॉप या टैबलेट के साइज़ की विंडो में आसानी से साइज़ बदलने की सुविधा जोड़ी गई है.
- इस सुविधा को इस्तेमाल करने वाले होस्ट डिवाइसों से, मल्टी-टच इनपुट के लिए सहायता जोड़ी गई.
- VirtioWifi: टैप नेटवर्क के लिए सहायता जोड़ी गई.
- Wear सिस्टम इमेज के लिए, रोटरी इनपुट की सुविधा चालू की गई.
- gRPC ऑडियो कॉन्फ़िगरेशन से जुड़ी समस्या को ठीक किया गया.
- SensorReplay Emulator Playback को अपडेट किया गया है, ताकि यह स्टैंडर्ड Android सेंसर के साथ काम कर सके.
- यूएसबी पास थ्रू की सुविधा का इस्तेमाल करके, यूएसबी की मदद से एम्युलेटर को सहायक डिवाइसों और अन्य डिवाइसों से कनेक्ट किया गया हो.
30.4.5 (23 फ़रवरी, 2021)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- macOS: ऑडियो इनपुट में गड़बड़ी होने की समस्याएं ठीक की गईं.
- उपयोगकर्ता स्पेस में virtio-vsock के लिए सहायता जोड़ी गई.
- आने वाले समय में, सिस्टम इमेज में logcat और कर्नल मैसेज के लिए virtio-console का इस्तेमाल किया जाएगा.
- Vulkan रेंडरिंग की स्पीड बढ़ाएं.
- जांच के दौरान गड़बड़ी होने पर, स्नैपशॉट डीबग करने की सुविधा जोड़ी गई.
- virtio-gpu: नई परिभाषाएं जोड़ी गईं, ताकि नई blob रिसॉर्स enum का इस्तेमाल किया जा सके.
- 'asg' टाइप के ग्राफ़िक ट्रांसपोर्ट के लिए स्नैपशॉट की सुविधा जोड़ी गई.
- macOS: macOS SDK 11.1 और इसके बाद के वर्शन के साथ काम करने की सुविधा जोड़ी गई.
- KVMclock, नई सिस्टम इमेज पर डिफ़ॉल्ट रूप से चालू होता है.
- Wear के एम्युलेटर में, धड़कन की दर मापने वाले सेंसर के लिए सहायता जोड़ी गई.
- libportability Vulkan बैकएंड को हटा दिया गया है.
- मोडम सिम्युलेटर में ज़्यादा सुविधाओं के लिए सहायता जोड़ी गई.
30.0.26 (16 अगस्त, 2020)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.
वर्चुअल हिंज सेंसर और 3D व्यू के साथ, फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए सहायता
फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए, हिंज सेंसर की सुविधा जोड़ी गई है. इसके लिए, Android 11 की सिस्टम इमेज और AVD कॉन्फ़िगरेशन की ज़रूरत होगी. 3D फ़ोल्ड करने की सुविधा और हिंज के पैरामीटर को अब फ़ोल्ड करने की सुविधा वाले मौजूदा प्रीसेट के साथ इंटिग्रेट कर दिया गया है. इनका इस्तेमाल, उदाहरण के लिए, 7.3 फ़ोल्ड किए जा सकने वाले AVD की
config.iniफ़ाइल के साथ किया जा सकता है:hw.sensor.hinge = yes hw.sensor.hinge.count = 1 hw.sensor.hinge.type = 1 hw.sensor.hinge.ranges = 180-360 hw.sensor.hinge.defaults = 180 hw.sensor.hinge.areas = 54.7-0 hw.sensor.posture_list=4, 3 hw.sensor.hinge_angles_posture_definitions=210-360, 180-210 hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4फ़ोल्ड किए जा सकने वाले डिवाइसों में अब सब-टाइप पैरामीटर भी होता है.
config.iniप्रॉपर्टीhw.sensor.hinge.sub_type = hinge/foldअब उपलब्ध है. ज़्यादा जानने के लिए, Android Emulator की मदद से Android 11 के लिए डेवलपमेंट करना ब्लॉग पोस्ट पढ़ें.अब हिंज सेंसर डिफ़ॉल्ट रूप से चालू होता है.
अगर कोई फ़ोल्ड किया जा सकने वाला डिवाइस कॉन्फ़िगर किया गया है, तो अब एम्युलेटर, मेहमान को हिंज के ऐंगल वाले सेंसर के अपडेट और डिवाइस की स्थिति में होने वाले बदलावों की जानकारी भेजता है. अब फ़ोल्ड किए जा सकने वाले मौजूदा डिवाइसों में, टूलबार के फ़ोल्ड या अनफ़ोल्ड बटन दबाने पर, हिंज सेंसर के ऐंगल और डिवाइस की स्थिति अपडेट हो जाएगी.

ARM64 होस्ट के लिए एम्युलेटर
Linux इम्यूलेटर का सोर्स कोड अब x86_64 से arm64 होस्ट पर क्रॉस कंपाइलेशन के साथ काम करता है. इससे KVM वर्चुअलाइज़ेशन के साथ arm64 सिस्टम इमेज को चलाया जा सकता है. फ़िलहाल, सिर्फ़
-gpu swiftshader_indirect(Swiftshader arm64 होस्ट रेंडरिंग) काम करता है. हालांकि, lib64/gles_swiftshader को बदलकर, होस्ट जीपीयू libEGL/libGLESv2 लाइब्रेरी का इस्तेमाल किया जा सकता है. इसके बाद,-gpu swiftshader_indirectकी मदद से फिर से लॉन्च किया जा सकता है. ऐसा हो सकता है कि स्नैपशॉट की सुविधा भी काम न कर रही हो. इसके लिए, कमांड लाइन में-no-snapshotजोड़ें. निर्देश:mkdir emu cd emu repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1 repo sync -qcj 12 cd external/qemu pip install absl-py pip install urlfetch sudo apt-get install crossbuild-essential-arm64 python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64Apple Silicon के लिए सहायता सेवा उपलब्ध कराने पर काम चल रहा है.
virtio-gpu की सुविधा
- आने वाले virtio-gpu होस्ट कोहेरेंट blob रिसॉर्स के लिए, होस्ट साइड पर सपोर्ट जोड़ा गया.
- एम्युलेटर रेंडरिंग के काम करने के तरीके की वजह से, अब हम virtio-gpu virtqueue को vcpu थ्रेड में प्रोसेस करते हैं. ऐसा इसलिए, क्योंकि रेंडरिंग को किसी भी तरह से अन्य थ्रेड पर ऑफ़लोड किया जाता है. virtio-gpu रेंडरिंग, सिस्टम इमेज और एम्युलेटर के आने वाले वर्शन में चालू की जाएगी.
- आने वाले समय में, सिस्टम इमेज में एमुलेटर, virtio-gpu पर आधारित स्टैक की मदद से सभी ग्राफ़िक चला सकेगा.
अन्य नई सुविधाएं और सुधार
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>का इस्तेमाल करके, अब Windows पर यूएसबी पासथ्रू की सुविधा उपलब्ध है. (यह सुविधा, Linux और macOS पर पहले से काम कर रही है)- WebRTC लाइब्रेरी को M83 पर अपडेट किया गया.
- इमुलेटर अब WebRTC पर कंटेनर में ऑडियो स्ट्रीमिंग की सुविधा देता है.
- darwinn पाइप एंडपॉइंट को हटा दिया गया है.
- अगर हार्डवेयर में CUDA VPx डिकोड उपलब्ध है, तो अब वीडियो के लिए CUDA VPx डिकोड उपलब्ध है. इसे एनवायरमेंट वैरिएबल
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1के ज़रिए इस्तेमाल किया जा सकता है. - macOS पर, Android गेस्ट के अंदर से SSE 4.1 और 4.2 का इस्तेमाल किया जा सकता है.
- macOS पर, INVTSC अब डिफ़ॉल्ट रूप से चालू है. इससे मेहमान के समय के मेज़रमेंट की सटीकता को बेहतर बनाया जा सकता है.
- अब हम मेट्रिक में यह ट्रैक करते हैं कि उपयोगकर्ता ने कौनसे एक्सटेंडेड कंट्रोल पैनल को चुना है.
- Linux इम्यूलेटर अब KVM पैरावर्चुअलाइज़्ड क्लॉक का इस्तेमाल करता है. ऐसा तब होता है, जब गेस्ट कर्नल का वर्शन >= 5.4 (R सिस्टम इमेज या बाद के वर्शन) हो.
- इमुलेटर अब गेस्ट कर्नल को डीकंप्रेस करने के लिए LZ4 का इस्तेमाल करता है. इससे यह आधुनिक कर्नल पाइपलाइन के साथ काम कर पाता है.
एम्युलेटर एवीडी डायरेक्ट्री, Studio में एम्बेड किए गए इस्तेमाल के उदाहरण में डिस्कवरी फ़ाइल का पाथ, और स्नैपशॉट का पाथ पाने के लिए, कंसोल कमांड जोड़ी गईं:
adb emu avd path # Obtains path to AVD directory adb emu avd discoverypath # Obtains path to discovery file adb emu avd snapshotspath # Obtains path to snapshots folder adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
स्क्रीन पर ज़्यादा जगह बचाने के लिए, हमने ज़्यादा कंट्रोल > सेटिंग में, मौजूदा एवीडी के लिए डिवाइस फ़्रेम को छिपाने का विकल्प जोड़ा है. सभी एवीडी के लिए डिवाइस फ़्रेम को ग्लोबल लेवल पर छिपाने के लिए, हमने
NoDeviceFrameफ़ीचर फ़्लैग उपलब्ध कराया है. इसे चालू करने के लिए, कमांड लाइन से-feature NoDeviceफ़्रेम के साथ एम्युलेटर लॉन्च करें. इसे लॉक करने के लिए,~/.android/advancedFeatures.iniमेंNoDeviceFrame = onजोड़ें. अगर यह फ़ाइल पहले से मौजूद नहीं है, तो इसे बनाएं.मोबाइल डेटा पेज में एक ड्रॉप-डाउन आइटम जोड़ा गया है, ताकि मीटर किए गए नेटवर्क के साथ काम करने की सुविधा को चालू और बंद किया जा सके. यह सुविधा, पुरानी सिस्टम इमेज के लिए काम नहीं करती है. ऐसा इसलिए, क्योंकि ये इमेज, 5G मीटर किए गए नेटवर्क के टॉगल के साथ काम नहीं करती हैं.
- इसी मकसद के लिए, कंसोल कमांड भी जोड़ी गई है:
gsm meter on|off
- इसी मकसद के लिए, कंसोल कमांड भी जोड़ी गई है:
C++17 के लिए टूलचेन / बिल्ड को अपग्रेड किया गया.
ठीक की गई समस्याएं: एम्बेड किया गया एम्युलेटर
- अब क्लिपबोर्ड की सुविधा काम करेगी.
- एम्युलेटर में, अपरकेस वर्णों को लोअर केस वर्णों के तौर पर डिलीवर करने की समस्या को ठीक किया गया है.
- Windows में यूनिकोड पाथ से कंसोल टोकन लोड करने की समस्या ठीक की गई.
- Linux पर
SO_REUSEPORTगड़बड़ी के मैसेज को ठीक किया गया. - हमने स्नैपशॉट खराब होने की समस्या को ठीक कर दिया है. यह समस्या, gRPC के ज़रिए स्नैपशॉट कमांड भेजने के साथ-साथ Android Studio में एम्बेड किए गए एम्युलेटर में स्नैपशॉट सेव करने के बटन को दबाने पर आ रही थी.
Studio में एम्बेड किए गए Linux एम्युलेटर का इस्तेमाल करते समय, हमें पता चला कि अगर Chrome रिमोट डेस्कटॉप के ज़रिए ऐसा किया जाता है, तो एक गड़बड़ी होती है. इसमें
XDG_RUNTIME_DIRसेट नहीं होता है. इसकी वजह से, एम्बेड किया गया एम्युलेटर नहीं दिख सकता है, क्योंकि एम्युलेटर डिस्कवरी फ़ाइलों कोXDG_RUNTIME_DIRमें रखा जाता है. Chrome के Issue Tracker में, इस समस्या से जुड़ी जानकारी देखी जा सकती है.इस समस्या को हल करने के लिए, अब एम्युलेटर, डिस्कवरी फ़ाइलों का इस्तेमाल करता है. ये फ़ाइलें, उपयोगकर्ता के यूआईडी के आधार पर किसी दूसरी डायरेक्ट्री में मौजूद हो सकती हैं:
/run/user/<uid>.एम्बेड किया गया एम्युलेटर: गोल कोनों/नॉच वाले डिवाइसों का लेआउट अब ठीक से बदलता है, ताकि कोनों और नॉच के लिए जगह बन सके. इसके लिए, उन इम्यूलेटर को कोल्ड बूट करना होगा.
gRPC एंडपॉइंट अब डिवाइस पर एसएमएस भेजने की सुविधा देता है.
सामान्य समस्याएं ठीक करना
- हमने देखा है कि Riot Vanguard चालू होने पर, Windows Emulator को चलाने में समस्याएं आ रही हैं. Windows Emulator अब Vanguard anti-cheat का पता लगाता है. अगर Vanguard का पता चलता है, तो यह चेतावनी वाला मैसेज दिखाता है.
- Windows पर
FD_SETSIZEसे जुड़ी गड़बड़ी को ठीक किया गया. अब हम लूपबैक सर्वर से नॉन-ब्लॉकिंग कनेक्शन बनाने के लिए,WSAEventSelect()के बजायselect()का इस्तेमाल करते हैं. - Linux इम्यूलेटर में F16C CPUID सुविधा के लिए सहायता जोड़ी गई है. साथ ही, NDK ट्रांसलेशन के ज़रिए कुछ ARM64 ऐप्लिकेशन चलाने से जुड़ी समस्याओं को ठीक किया गया है. macOS/Windows पर काम जारी है.
- टाइमस्टैंप के हिसाब से, gpx/kml फ़ाइल में सेव किए गए रास्ते को चलाने की सुविधा ठीक की गई.
- MacOs के लिए, लॉन्च के समय आइकॉन के उछलने की समस्या ठीक की गई.
config.iniमेंhw.audioInput=noऔरhw.audioOutput=noके लिए, एम्युलेटर का ऑडियो अब ठीक से बंद हो गया है.- हमने उस समस्या को ठीक कर दिया है जिसमें एक्सटेंडेड कंट्रोल विंडो खुली होने पर, अगर एम्युलेटर विंडो को छोटा किया जाता था, तो एक्सटेंडेड कंट्रोल विंडो दिखती रहती थी. हालांकि, ऐसा तब होता था, जब एक्सटेंडेड कंट्रोल विंडो चालू नहीं होती थी. हम आने वाले समय में होने वाले अपडेट में, इस व्यवहार को पूरी तरह से हटा देंगे. ऐसा तब होता था, जब एक्सटेंडेड कंट्रोल विंडो चालू होती थी.
- एम्युलेटर शुरू होने पर, वाई-फ़ाई कनेक्ट न होने की समस्या ठीक कर दी गई है.
- जब एम्युलेटर, लंबे या अनिश्चित समय के लिए शेल कमांड जारी करता है, तो बंद होने में लगने वाले समय से जुड़ी समस्या को ठीक किया गया.
- pc-bios को अपडेट किया गया है. इसमें
-initrdको पास की गई बड़ी इमेज को बेहतर तरीके से सपोर्ट करने के लिए सुधार किए गए हैं; पिछले BIOS में, बहुत ही खराब तरीके का इस्तेमाल किया गया था. -wifi-server-portविकल्प का इस्तेमाल करने पर, बंद होने के दौरान क्रैश होने की समस्या ठीक की गई.- अगर
-propको ऐसे विकल्प दिए जाते हैं जो काम नहीं करते हैं, तो अब एम्युलेटर एक चेतावनी दिखाता है (सिर्फ़ qemu.* प्रॉपर्टी काम करती हैं). - Windows पर एम्युलेटर बनाते समय, फ़ाइलों में लिखने से जुड़ी गड़बड़ियों के कम होने की संभावना होनी चाहिए. ज़्यादा जानकारी के लिए, Windows बिल्ड से जुड़े निर्देश देखें.
- फ़ोल्ड किए जा सकने वाले एवीडी के लिए, ज़ूम करने की सुविधा वाले बटन को बंद कर दिया गया है. इससे समस्याएं आ रही थीं.
- अब एम्युलेटर, डिवाइस के रीबूट होने के समय को सही तरीके से रिपोर्ट करता है.
- Linux: अगर 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 शेडर को ट्रांसलेट करते समय मेमोरी करप्ट होने की समस्या ठीक हो गई है. ये शेडर, नॉन-स्क्वेयर मैट्रिक्स का इस्तेमाल करते थे. शेडर ट्रांसलेटर अब एक अलग शेयर की गई लाइब्रेरी,
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 की सिस्टम इमेज पर, एआरएम बाइनरी के लिए सहायता
अगर आपका ऐप्लिकेशन एआरएम बाइनरी पर निर्भर था, तो पहले Android Emulator का इस्तेमाल नहीं किया जा सकता था. हालांकि, अब अपने ऐप्लिकेशन को चलाने के लिए, Android 9 x86 सिस्टम इमेज या Android 11 की किसी भी सिस्टम इमेज का इस्तेमाल किया जा सकता है. एआरएम बाइनरी चलाने के लिए, अब किसी खास सिस्टम इमेज को डाउनलोड करना ज़रूरी नहीं है. 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-बिट इमेज, हेडलेस बिल्ड के साथ काम कर सकती हैं. ध्यान दें कि एपीआई 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 में, कंप्रेस की गई बनावटी बनावटों में गैर-ज़रूरी पाइपलाइन बैरियर से जुड़ी समस्या को ठीक किया गया है.
- एचटीटीपी प्रॉक्सी अनुरोधों से जुड़ी गड़बड़ी को ठीक किया गया है. यह गड़बड़ी, चंक किए गए ट्रांसफ़र कोडिंग का इस्तेमाल करने पर होती थी. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें.
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-बिट का इस्तेमाल किया जा रहा है, तो 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 से, एम्युलेटर में हेडलेस बिल्ड विकल्प शामिल है. यह विकल्प, यूज़र इंटरफ़ेस (यूआई) के बिना काम कर सकता है. डॉकर और लगातार इंटिग्रेशन (सीआई) वर्कफ़्लो के लिए एम्युलेटर सेट अप करने के लिए, हेडलेस बिल्ड का इस्तेमाल किया जा सकता है.
इस अपडेट के साथ, हमने कुछ और सुधार किए हैं. इससे एम्युलेटर को कम से कम डिपेंडेंसी के साथ चलाने में मदद मिलेगी. 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- इस कमांड से, स्क्रीन बंद होने का टाइमआउट बढ़ जाता है. इससे, बैटरी मोड में बिना चार्ज किए ही एम्युलेटर का इस्तेमाल किया जा सकता है. बैटरी मोड में, बैकग्राउंड में सीपीयू का इस्तेमाल काफ़ी कम हो जाता है.
- एसी चार्जिंग मोड में, GMSCore के बैकग्राउंड में होने वाले ऑपरेशन, जैसे कि ऐप्लिकेशन अपडेट करने के लिए, डिवाइस के सभी सीपीयू कोर का इस्तेमाल किया जा सकता है. साथ ही, उपयोगकर्ता के डिवाइस के सभी सीपीयू कोर का इस्तेमाल किया जा सकता है. इसके लिए, कोई चेतावनी नहीं दी जाती.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO- इस कमांड से, Google Search ऐप्लिकेशन के लिए माइक्रोफ़ोन की अनुमतियां रद्द हो जाती हैं. इससे, Google Search ऐप्लिकेशन के चालू होने पर, होम स्क्रीन और लॉन्चर पर बैकग्राउंड में सीपीयू का इस्तेमाल काफ़ी कम हो जाता है.
- यह कमांड, होस्ट के लिए होस्ट ऑडियो बंद करने की सुविधा के साथ-साथ एमुलेटर के डिफ़ॉल्ट व्यवहार में भी काम करती है. इसके अलावा, यह 28.0.23 वर्शन के लिए, हॉटवर्ड की पहचान करने की सुविधा के लिए बताए गए सीपीयू के इस्तेमाल को कम करने की सुविधा अपने-आप उपलब्ध कराता है.
परफ़ॉर्मेंस मॉनिटर करने के लिए नए एनवायरमेंट वैरिएबल
अब दो नई एनवायरमेंट वैरिएबल का इस्तेमाल किया जा सकता है. इससे, एम्युलेटर की परफ़ॉर्मेंस और संसाधन के इस्तेमाल की पूरी जानकारी को मॉनिटर किया जा सकता है.
SHOW_PERF_STATS=1- इस एनवायरमेंट वैरिएबल की मदद से, सीपीयू और रैम, दोनों के इस्तेमाल को ट्रैक किया जा सकता है. RAM के इस्तेमाल को ट्रैक करने की सुविधा, ग्राफ़िक के इस्तेमाल और कुल रेज़िडेंट मेमोरी के बीच अंतर करती है.
ANDROID_EMU_TRACING=1- इस एनवायरमेंट वैरिएबल की मदद से, हर बार इनपुट या ग्राफ़िक्स ऑपरेशन में ज़्यादा समय (1 मि॰से॰ से ज़्यादा) लगने पर प्रिंटिंग की सुविधा चालू की जा सकती है.
- हम इस एनवायरमेंट वैरिएबल का इस्तेमाल, उन समस्याओं का पता लगाने के लिए भी कर रहे हैं जो Windows इस्तेमाल करने वाले लोगों को हुई हैं. इन समस्याओं में, macOS या Linux इस्तेमाल करने वाले लोगों की तुलना में ज़्यादा जंक (ड्रॉप किए गए फ़्रेम) शामिल हैं.
Project Marble में सामान्य सुधार
इस अपडेट में, Project Marble पहल के तहत किए गए ये सामान्य सुधार भी शामिल हैं:
- अब कंसोल की इन कमांड का इस्तेमाल करके, एम्युलेटर पर सभी वीसीपीयू को तुरंत रोका जा सकता है:
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 के नतीजे का इस्तेमाल करता है. यह नतीजे को सिम्युलेट नहीं करता. इस बदलाव से उन समस्याओं को ठीक करने में मदद मिलती है जिनमें रीडबैक के लिए सही फ़ॉर्मैट न होने की वजह से, इमेज और ऐसेट नहीं दिखती हैं.- OpenGL ES एक्सटेंशन
GL_EXT_texture_format_BGRA8888औरGL_APPLE_texture_format_BGRA8888के लिए सपोर्ट जोड़ा गया. हालांकि, ऐसा तब होगा, जब ये एक्सटेंशन होस्ट के साथ काम करते हों. - Bugreport यूज़र इंटरफ़ेस (यूआई) में, डाइग्नोस्टिक से जुड़ी ज़्यादा जानकारी जोड़ी गई है. इसके अलावा, इन कमांड का इस्तेमाल करके कंसोल से गड़बड़ी की रिपोर्ट ऐक्सेस की जा सकती हैं:
telnet localhost 5554avd bugreport
- Android Q सिस्टम इमेज पर, एम्युलेटर अपनी कम से कम रैम को 2 जीबी तक बढ़ा देता है.
- जब भी OpenGL या हाइपरवाइज़र शुरू नहीं होता है, तब ज़्यादा लॉगिंग और प्रिंटिंग की सुविधा जोड़ी गई है.
- अगर एम्युलेटर, एवीडी के
-read-onlyइंस्टेंस को एक साथ शुरू नहीं कर पाता है, तो अब एम्युलेटर,-read-onlyएवीडी को तीन सेकंड में तीन बार फिर से लॉन्च करने की कोशिश करता है. इस बदलाव से, एम्युलेटर के एक साथ-read-onlyइंस्टेंस को लॉन्च करने की संभावना बढ़ जाती है. ऐसा तब होता है, जब एवीडी के अन्य राइटेबल इंस्टेंस, पुरानी फ़ाइलों को मिटा नहीं पाते. - आने वाली सिस्टम इमेज के लिए, एम्युलेटर अब Hardware Composer 2.0 के साथ काम करता है. इस बदलाव से, ज़्यादातर ऐनिमेशन चलाने पर ड्राइवर का ओवरहेड कम हो जाएगा.
- अब एम्युलेटर बिल्ड, CMake/Ninja पर आधारित है.
- एम्युलेटर के एक्सटेंडेड कंट्रोल के यूज़र इंटरफ़ेस (यूआई) में, कीबोर्ड शॉर्टकट की टेबल में मौजूद डिवाइडर लाइनें वापस आ गई हैं.
- उपयोगकर्ता अब हमारी टीम को, सीपीयू और रैम के इस्तेमाल से जुड़ी मेट्रिक भेज सकते हैं. ये मेट्रिक, हर 10 सेकंड के अंतराल पर भेजी जा सकती हैं. हम इन मेट्रिक का इस्तेमाल, एम्युलेटर के संसाधन इस्तेमाल से जुड़े डेटा को बेहतर बनाने के लिए करते हैं. इससे हमें उपयोगकर्ताओं के अलग-अलग इस्तेमाल के उदाहरणों के बारे में जानकारी मिलती है. इससे हमें एम्युलेटर को ज़्यादा असरदार और तेज़ी से काम करने वाला बनाने में मदद मिलती है.
Project Marble से जुड़ी सामान्य समस्याएं ठीक की गईं
इस अपडेट में, Project Marble पहल के तहत किए गए ये सामान्य सुधार भी शामिल हैं:
- Android Q सिस्टम इमेज का इस्तेमाल करते समय, Intel GPU वाले सिस्टम पर दिखने वाले फ़्रेम के गलत होने और उनके हिलने से जुड़ी समस्याएं ठीक की गईं.
- उन समस्याओं को ठीक किया गया है जिनमें Pixel 2 XL की स्किन (या नॉच या गोल कोनों वाली कोई भी स्किन) के साथ Android Q सिस्टम इमेज का इस्तेमाल करने पर, काली स्क्रीन दिखती थी.
- उस समस्या को ठीक किया गया है जिसमें
-partition-sizeकमांड लाइन विकल्प, डेटा पार्टीशन का साइज़ सेट नहीं करता था. - उस समस्या को ठीक किया गया है जिसमें कुछ मामलों में, Linx एमुलेटर पर pulseaudio स्पिन होता था और पूरे सीपीयू कोर का इस्तेमाल करता था.
- कंप्रेस की गई बनावटों को प्रोसेस करते समय, मेमोरी को तय सीमा से ज़्यादा ऐक्सेस करने से जुड़ी समस्याएं ठीक की गईं.
glTexSubImage2Dमें होस्ट पर होने वाली GL गड़बड़ियों को ठीक किया गया है. ये गड़बड़ियां, कुछ ग्रैलोक बफ़र (फ़ॉर्मैट RGB 565, RGB10A2, RGB(A)16F) अपडेट करते समय होती थीं.- Android Q की सिस्टम इमेज में स्नैपशॉट के साथ डिस्प्ले से जुड़ी समस्या को ठीक किया गया है. इसमें सूचना पैनल की ज्यामिति को इंस्टेंस डिवाइज़र की गलत सेटिंग के साथ रेंडर किया गया था.
- लॉन्च के दौरान क्रैश और फ़्रीज़ होने की कुछ ऐसी समस्याओं को ठीक किया गया है जिन्हें दोहराना मुश्किल था. ये समस्याएं, Qt के सिग्नल खोने या स्टार्टअप के दौरान अस्थिर और असंगत स्थितियों की वजह से होती थीं.
- एक साथ कई अनुरोध मिलने से जुड़ी कई समस्याओं को ठीक किया गया है. अब हम ThreadSanitizer (TSAN) की मदद से Linux Emulator बना सकते हैं. इससे ऐसी गड़बड़ियों का पता आसानी से लगाया जा सकता है जिन्हें ठीक करना मुश्किल होता है.
- Linux का इस्तेमाल करने वाले लोगों के लिए: हमें पता चला है कि कुछ होस्ट कर्नल पर, मेहमान के तौर पर इस्तेमाल किए जा रहे Android कर्नल में गड़बड़ी हो सकती है. साथ ही, यह KVM में सामान्य हार्डवेयर की गड़बड़ी के साथ बंद हो सकता है. अब ऐसा होने पर, एम्युलेटर
abort()हो जाएगा, ताकि डीबग करने में आसानी हो. इससे पहले, एम्युलेटर सिर्फ़ हैंग हो जाता था. - Linux का इस्तेमाल करने वाले लोगों के लिए: सीआई सेटअप को आसानी से इस्तेमाल करने के लिए,
-stdouterr-file <file-name>औरstderr, दोनों को किसी फ़ाइल पर रीडायरेक्ट करने के लिए,-stdouterr-file <file-name>कमांड लाइन के नए विकल्प का इस्तेमाल किया जा सकता है.stdout SO_REUSEADDRका गलत तरीके से इस्तेमाल करने से जुड़ी समस्या को ठीक किया गया है. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें.- Windows Emulator में लंबे समय से आ रही एक समस्या को ठीक किया गया है. इस समस्या में, अगर उपयोगकर्ता नाम में स्पेस होते थे, तो ADB कमांड जैसी सब-प्रोसेस शुरू नहीं हो पाती थीं.
- HAXM vCPU थ्रेड में RCU के इनिशियलाइज़ेशन के मौजूद न होने की समस्या को ठीक किया गया है. इस फ़िक्स से, कुछ क्रैश और रेस कंडीशन की समस्याओं को ठीक किया जा सकता है.
- Android Q की हाल ही की सिस्टम इमेज का इस्तेमाल करके, स्नैपशॉट यूज़र इंटरफ़ेस (यूआई) से स्नैपशॉट सेव और लोड करने के कुछ पैटर्न में होने वाली क्रैश की समस्या को ठीक किया गया है.
- उस समस्या को ठीक किया गया है जिसमें स्नैपशॉट से एम्युलेटर शुरू करने पर, वर्चुअल सीन कैमरा खाली दिखता था. ऐसा तब होता था, जब स्नैपशॉट सेव करते समय एआर मैक्रो चल रहा हो.
- हमने उस समस्या को ठीक कर दिया है जिसमें रिमोट डेस्कटॉप सेटअप वाले कुछ उपयोगकर्ताओं को Linux पर एम्युलेटर लॉन्च करते समय काली स्क्रीन दिखती थी. इस समस्या से बचने के लिए, एम्युलेटर अब
MESA_RGB_VISUALको साफ़ तौर पर कॉन्फ़िगर करता है. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें. - एक समस्या ठीक की गई है. इसमें टीवी एवीडी पर रोटेट करने वाले बटन दिखते थे.
- एक समस्या ठीक की गई है. इस समस्या में, अगर एम्युलेटर को हमेशा सबसे ऊपर सेट किया जाता था, तो एम्युलेटर को घुमाने पर हर बार एक्सटेंडेड कंट्रोल विंडो दिखती थी.
फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए हार्डवेयर प्रोफ़ाइलें
एम्युलेटर में अब फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए हार्डवेयर प्रोफ़ाइलें शामिल हैं. इन नई हार्डवेयर प्रोफ़ाइलों का इस्तेमाल करने के लिए, आपके पास Android Studio 3.5 Canary 10 या इसके बाद का वर्शन होना चाहिए.
AVD बनाने के लिए, फ़ोल्ड किए जा सकने वाले दो हार्डवेयर प्रोफ़ाइल का इस्तेमाल किया जा सकता है:
- 7.3" फ़ोल्डेबल: अनफ़ोल्ड होने पर 1536x2152, फ़ोल्ड होने पर 4.6" 840x1960
- 8" फ़ोल्ड किया जा सकने वाला डिवाइस: अनफ़ोल्ड होने पर 2200x2480, फ़ोल्ड होने पर 6.6" 1480x2480
इनमें से किसी एक हार्डवेयर प्रोफ़ाइल का इस्तेमाल करके एम्युलेटर चलाने पर, एम्युलेटर टूलबार में मौजूद फ़ोल्ड और अनफ़ोल्ड करने की कार्रवाइयों, कंसोल कमांड या यहां दिए गए कीबोर्ड शॉर्टकट का इस्तेमाल करके, डिवाइस को फ़ोल्ड और अनफ़ोल्ड किया जा सकता है:
- फ़ोल्ड करें:
Ctrl + F(macOS परCommand + F) - अनफ़ोल्ड करें:
Ctrl + U(macOS परCommand + U)
एआर मैक्रो
इमुलेटर में अब एआर मैक्रो शामिल हैं. इनकी मदद से, एआर की सामान्य कार्रवाइयों को टेस्ट किया जा सकता है. उदाहरण के लिए, डिवाइस के सभी सेंसर को उनकी डिफ़ॉल्ट स्थिति पर रीसेट करने के लिए, मैक्रो का इस्तेमाल किया जा सकता है.
ज़्यादा जानकारी के लिए, मैक्रो की मदद से एआर की सामान्य कार्रवाइयों को टेस्ट करना लेख पढ़ें.
Vulkan के साथ काम करता है (Windows, Linux)
Windows और Linux का इस्तेमाल करने वाले लोग, Android Emulator के साथ Vulkan ऐप्लिकेशन की जांच कर सकते हैं. इसके लिए, उन्हें Vulkan 1.1 तक के वर्शन का इस्तेमाल करना होगा. हालांकि, इसके लिए उन्हें Android Q Beta 3 या इसके बाद के वर्शन (Vulkan 1.1 के लिए) और Android Q Beta 2 (Vulkan 1.0 के लिए) के साथ काम करने वाली सिस्टम इमेज का इस्तेमाल करना होगा. साथ ही, उन्हें होस्ट जीपीयू (इसमें 2014 और इसके बाद के ज़्यादातर Intel, NVIDIA, और AMD जीपीयू शामिल हैं) का इस्तेमाल करना होगा.
Vulkan की सुविधा चालू करने के लिए, आपको अपनी ~/.android/advancedFeatures.ini फ़ाइल में ये सुविधा फ़्लैग जोड़ने होंगे. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं:
Vulkan = onGLDirectMem = on
ROM डेवलपर के लिए शुरुआती सहायता
ROM डेवलपर, अब AOSP master ब्रांच पर sdk_phone_x86 या sdk_phone_x86_64 (userdebug, eng वैरिएंट) टारगेट करने वाले ऐप्लिकेशन के लिए, Vulkan की सुविधा वाला एम्युलेटर चला सकते हैं.
यह सुविधा, फ़िलहाल एक्सपेरिमेंट के तौर पर उपलब्ध है. यह मुख्य रूप से उन डेवलपर के लिए है जो सिस्टम इमेज, ड्राइवर, और गेम इंजन पर काम करते हैं. अब भी कई एक्सटेंशन मौजूद नहीं हैं.
हालांकि, HOST_COHERENT मेमोरी के साथ काम किया जा सकता है. अब Vulkan API ट्यूटोरियल के सैंपल चलाए जा सकते हैं.
अगर Linux का इस्तेमाल किया जा रहा है, तो इन कमांड का इस्तेमाल करके इसे आज़माएं:
mkdir aosp-mastercd aosp-masterrepo init -u https://android.googlesource.com/platform/manifest -b master --depth=1repo sync -c -j12. build/envsetup.shlunch sdk_phone_x86_64-userdebugmake -j12emulator -no-snapshot -feature Vulkan,GLDirectMem
Vulkan की मदद से Skia रेंडरिंग
Vulkan के साथ काम करने वाले NVIDIA और AMD के जीपीयू, GL_EXT_memory_objects एक्सटेंशन के ज़रिए OpenGL के साथ ज़ीरो-कॉपी इंटरऑप की सुविधा भी देते हैं. एम्युलेटर, इस सुविधा का इस्तेमाल करके, Skia Vulkan API की मदद से Android यूज़र इंटरफ़ेस (यूआई) को पूरी तरह से रेंडर करता है.
अगर आपके पास NVIDIA या AMD GPU है, जो 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 शेल कमांड चलाना. इसमें ज़्यादा समय लग सकता है या telnet कंसोल का इस्तेमाल करना. यह ज़्यादा तेज़ है, लेकिन हो सकता है कि यह कुछ नेटवर्क कॉन्फ़िगरेशन के साथ काम न करे.
- CI के उपयोगकर्ता अक्सर इम्यूलेटर को हेडलेस मोड में चलाते हैं. इससे ऐसी समस्याओं का पता लगाना मुश्किल हो सकता है जिनके लिए स्क्रीन का दिखना या इंटरैक्टिव होना ज़रूरी है.
- रिमोट डेस्कटॉप का इस्तेमाल करने वाले लोग, होस्ट जीपीयू रेंडरिंग का इस्तेमाल करते समय अक्सर एम्युलेटर के साथ इंटरैक्ट नहीं कर पाते. ऐसा इसलिए होता है, क्योंकि जीपीयू रेंडरिंग अक्सर होस्ट के नॉन-वर्चुअल डिसप्ले से जुड़ी होती है.
इस समस्या को हल करने के लिए, Linux मशीन पर चलने वाला एम्युलेटर अब gRPC सेवा देता है. gRPC , आरपीसी के लिए एक सामान्य फ़्रेमवर्क है, जो एचटीटीपी पर काम करता है.
डिफ़ॉल्ट रूप से, एम्युलेटर की gRPC सेवा बंद होती है. हालांकि, इसे चालू किया जा सकता है. इसके लिए, यहां दिए गए कमांड लाइन विकल्प का इस्तेमाल करें. इसमें <port> वह पोर्ट है जिस पर एम्युलेटर को gRPC अनुरोधों को पूरा करना चाहिए. आम तौर पर, यह 5556 होता है:
-grpc <port>
सेवा शुरू होने के बाद, क्लाइंट से gRPC कमांड जारी की जा सकती हैं. कमांड के मौजूदा सेट की मदद से, इनपुट इवेंट भेजे जा सकते हैं और स्क्रीनशॉट पाए जा सकते हैं. इन कमांड से, इन समस्याओं को हल करने में मदद मिलती है:
- इनपुट कमांड को एचटीटीपी पर कम ओवरहेड के साथ, एम्युलेटर को भेजा जा सकता है. एचटीटीपी, कमांड को अतिरिक्त नेटवर्क कॉन्फ़िगरेशन में भेजने की सुविधा भी देता है.
- स्क्रीनशॉट लेने की कमांड, मौजूदा स्क्रीन के बारे में क्वेरी करने के लिए भेजी जा सकती हैं. भले ही, इम्यूलेटर हेडलेस मोड में चल रहा हो. इंटरैक्टिविटी के लिए, इनपुट इवेंट को इम्यूलेटर पर वापस भी भेजा जा सकता है.
- रिमोट डेस्कटॉप का इस्तेमाल करने वाले लोग, मुख्य डिसप्ले पर हेडलेस मोड में एम्युलेटर चला सकते हैं. इसके लिए, उन्हें जीपीयू की मदद से रेंडरिंग की सुविधा का इस्तेमाल करना होगा. साथ ही, एम्युलेटर से इंटरैक्ट करने के लिए, gRPC का इस्तेमाल करके स्क्रीनशॉट लेने और इनपुट इवेंट भेजने होंगे.
उपलब्ध कमांड की पूरी सूची देखने के लिए, यह प्रोटोबफ़ देखें.
gRPC का इस्तेमाल शुरू करने में आपकी मदद करने के लिए, हमने कुछ सैंपल क्लाइंट दिए हैं. इन्हें रेफ़र किया जा सकता है.
फ़िलहाल, इसमें ये सैंपल शामिल हैं:
- यह Go पर आधारित एक सेवा है. इसका इस्तेमाल इम्यूलेटर की स्थितियों के बारे में क्वेरी करने के लिए किया जा सकता है.
- यह एक React ऐप्लिकेशन है. इसमें स्क्रीनशॉट और इनपुट आरपीसी के ज़रिए रिमोट इंटरैक्टिविटी दिखाई गई है. इस सैंपल के लिए, protobuf का 3.7.0 या उसके बाद का वर्शन ज़रूरी है.
- यह Python का एक सैंपल है. यह इम्यूलेटर के वीएम कॉन्फ़िगरेशन के बारे में क्वेरी करता है. इसके बाद, यह कई कमांड भेजता है.
28.0.25 (29 मार्च, 2019)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
बिना ग्राफ़िक यूज़र इंटरफ़ेस वाले एम्युलेटर का बिल्ड
सिस्टम की कुछ ज़रूरी शर्तों की वजह से, Docker और अन्य कंटीन्यूअस इंटिग्रेशन (सीआई) वर्कफ़्लो के साथ एम्युलेटर को सेट अप करना मुश्किल हो गया है. जैसे, सिस्टम को Qt के साथ-साथ, शेयर की गई लाइब्रेरी की डिपेंडेंसी को भी सपोर्ट करना होगा. इसके अलावा, कुछ और समस्याएं भी हैं.
इस समस्या को हल करने के लिए, हमने QEMU एक्ज़ीक्यूटेबल के साथ, एम्युलेटर लॉन्चर का एक वैरिएंट लॉन्च किया है. यह Qt पर निर्भर नहीं करता. Linux पर, अब भी libX11 का लिंक मौजूद है. हालांकि, हमें उम्मीद है कि हम इसे भी जल्द ही हटा देंगे.
हेडलेस एम्युलेटर का इस्तेमाल करने के लिए, एम्युलेटर को कमांड लाइन से सामान्य तरीके से चलाएं. हालांकि, एम्युलेटर बाइनरी इनवोकेशन को emulator-headless से बदलें. ज़्यादा जानकारी के लिए, 28.1.8 Canary रिलीज़ अपडेट देखें.
- Android Q सिस्टम इमेज चलाने पर, Intel GPU में फ़्रेम के गलत तरीके से दिखने और फ़्रेम के हिलने की समस्या ठीक की गई.
- उन समस्याओं को ठीक किया गया है जिनमें Pixel 2 XL की स्किन के साथ Android Q सिस्टम इमेज का इस्तेमाल करने पर, काली स्क्रीन दिखती थी.
- अब इम्यूलेटर को चालू करने के लिए, BIOS के नए बाइनरी का इस्तेमाल किया जाता है. इस बदलाव से, "वीसीपीयू बंद करने का अनुरोध" वाली गड़बड़ियों को कम किया जा सकता है. ये गड़बड़ियां कभी-कभी Windows पर एम्युलेटर लॉन्च करते समय होती हैं.
- "स्नैपशॉट से Android Q सिस्टम इमेज फिर से शुरू करने पर, गलत डिसप्ले" समस्या को ठीक करने के लिए, बैकपोर्ट किया गया.
- प्लैटफ़ॉर्म-टूल 28.0.2 में ADB में हुए बदलाव की वजह से, उपयोगकर्ताओं को "अनधिकृत" एम्युलेटर से जुड़ी समस्याएं आ रही थीं. अब एम्युलेटर के साथ, प्लैटफ़ॉर्म-टूल 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)
- मैप की गई फ़ाइल को रैम स्नैपशॉट के तौर पर इस्तेमाल करने पर, अब एम्युलेटर बंद होने पर फ़ाइल मैपिंग को साफ़ तौर पर अनमैप करता है.
28.0.20 (11 दिसंबर, 2018)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
- Windows पर उस समस्या को ठीक किया गया है जिसकी वजह से, Intel GPU के कुछ मॉडल के साथ स्नैपशॉट लोड करने पर एम्युलेटर फ़्रीज़ हो जाता था.
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से,
ANDROID_SDK_HOMEकी गैर-स्टैंडर्ड जगह का इस्तेमाल करते समय,unauthorizedADB डिवाइस की स्थिति में बदलाव हो जाता था. - 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 फ़ाइलों को प्री-कमिट किया जा सकता है.
इसके अलावा, फ़ाइल-बैक किए गए मेहमान ओएस की रैम के स्नैपशॉट सुविधा के साथ इस्तेमाल करने पर, कई एवी़डी इंस्टेंस, प्राइमरी एवी़डी के क्विकबूट स्नैपशॉट को कॉपी-ऑन-राइट मेहमान ओएस की रैम के सामान्य सोर्स के तौर पर शेयर करते हैं. इस प्रॉपर्टी का मतलब है कि इंस्टेंस, अपनी ज़्यादातर रैम को सामान्य तौर पर शेयर करते हैं. इस सुविधा का इस्तेमाल उन टेस्ट को चलाने के लिए करें जिनके लिए, कई डिवाइसों को एक साथ चलाने की ज़रूरत होती है.
हम आपके सुझावों का स्वागत करते हैं. ये सुझाव, सामान्य इंटरैक्टिव या सीआई वर्कफ़्लो में इस्तेमाल होने वाले संभावित मामलों के बारे में होने चाहिए. कृपया Issue Tracker में समस्याएं बनाएं या उनके लिए वोट करें.
फ़ाइल के साथ सेव किए गए गेस्ट रैम के स्नैपशॉट
गेस्ट रैम को फ़ाइल के तौर पर पहले से असाइन और मैप करने की सुविधा की मदद से, अब एम्युलेटर रनटाइम के दौरान Quickboot स्नैपशॉट सेव कर सकता है. इसके लिए, उसे बंद होने के बाद तक इंतज़ार नहीं करना पड़ता. अगर आपको अपने इम्यूलेटर बंद करते समय, सेव होने में ज़्यादा समय लगता है, तो इस सुविधा को चालू करें. इससे क्विकबूट की परफ़ॉर्मेंस बेहतर होगी. डिफ़ॉल्ट रूप से, Quickboot स्नैपशॉट को बंद करने पर सेव किया जाता है. साथ ही, इसे हर बार फिर से लोड किया जाता है. यह ठीक उसी तरह काम करता है जैसे किसी असली डिवाइस को स्लीप मोड में डालना और फिर से चालू करना.
Android में गेस्ट रैम अब डिफ़ॉल्ट रूप से अपने-आप सेव हो जाती है. इसलिए, अगर आपको डिवाइस की स्थिति तय करनी है और उसे बार-बार लोड करना है, तो आपको एम्युलेटर को यह बताना होगा कि हर सेशन के बाद बदलावों को खारिज कर दिया जाए. ऐसा इन तरीकों से किया जा सकता है:
- कमांड लाइन से एम्युलेटर लॉन्च करते समय,
-no-snapshot-saveया-read-onlyफ़्लैग का इस्तेमाल करें. - बेहतर कंट्रोल > स्नैपशॉट > सेटिंग पर जाएं. इसके बाद, क्या मौजूदा स्थिति को क्विकबूट में अपने-आप सेव करना है? को नहीं पर स्विच करें.
- इस विकल्प को चुनने के बाद, आपको एम्युलेटर को रीस्टार्ट करना होगा. अगर एम्युलेटर को अपने-आप सेव होने के लिए सेट किया गया है, तो चेकपॉइंट सेट करने के लिए यह कमांड चलाएं:
इस निर्देश को चलाने के बाद, एम्युलेटर का क्विकबूट स्नैपशॉट उस चेकपॉइंट पर बना रहेगा. अपने चेकपॉइंट से एम्युलेटर को लोड करने के लिए, इसी कमांड का फिर से इस्तेमाल करें.adb emu avd snapshot remap 0
स्नैपशॉट, स्नैपशॉट यूज़र इंटरफ़ेस (यूआई) फ़ंक्शन के ज़रिए लिए जाते हैं और लोड किए जाते हैं. ये पहले की तरह ही काम करते हैं. इनमें फ़ाइल मैपिंग नहीं होती.
क्विकबूट के काम करने के तरीके में यह एक बड़ा बदलाव है. इसलिए, हम आपसे यह जानने के लिए अनुरोध करते हैं कि क्या इससे क्विकबूट की परफ़ॉर्मेंस बेहतर हुई है. साथ ही, इसका इस्तेमाल करते समय आपको किस तरह की समस्याएं आईं. अगर आपको समस्याएं आ रही हैं, तो इस सुविधा को बंद किया जा सकता है. इसके लिए, अपनी ~/.android/advancedFeatures.ini फ़ाइल में यह लाइन जोड़ें:
QuickbootFileBacked = off
स्नैपशॉट से एम्युलेटर शुरू करने पर, एम्युलेटर इन सुविधाओं को बंद कर देता है: क्विकबूट स्नैपशॉट के लिए अपने-आप सेव होने की सुविधा और एम्युलेटर बंद होने पर क्विकबूट स्नैपशॉट सेव करने की सुविधा. स्नैपशॉट से एम्युलेटर शुरू करने के लिए, -snapshot कमांड लाइन विकल्प का इस्तेमाल करें या AVD मैनेजर में स्नैपशॉट से एम्युलेटर लॉन्च करें. इससे, Quickboot स्नैपशॉट के अनजाने में बदले जाने की संभावना कम हो जाती है. साथ ही, फ़ाइल-बैक किए गए Quickboot स्नैपशॉट का इस्तेमाल न करने वाले फ़ॉलबैक पाथ के धीमे होने से बचा जा सकता है.
QEMU 2.12
हमने QEMU के अपने वर्शन को QEMU 2.9 से QEMU 2.12 पर रीबेस किया है. इस अपडेट में, QEMU में हुए ये बदलाव शामिल हैं:
- https://wiki.qemu.org/ChangeLog/2.10
- https://wiki.qemu.org/ChangeLog/2.11
- https://wiki.qemu.org/ChangeLog/2.12
यहां कुछ ऐसे अहम बदलावों के बारे में बताया गया है जिनसे Android Emulator पर असर पड़ता है:
- x86:
gdbstubअब SSE रजिस्टर का ऐक्सेस देता है. - डिस्क इमेज: इमेज लॉक करने की सुविधा जोड़ी गई है और यह डिफ़ॉल्ट रूप से चालू होती है. जब तक होस्ट, ओएफ़डी या पॉज़िक्स लॉकिंग की सुविधा के साथ काम करता है, तब तक एक से ज़्यादा 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) के साथ काम करता है. - अब ज़्यादातर नए जीपीयू, डिफ़ॉल्ट रूप से OpenGL ES 3.x चालू करके, बिना
GLESDynamicVersionफ़ीचर फ़्लैग का इस्तेमाल किए, एम्युलेटर लॉन्च कर सकते हैं. -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 पर एमुलेटर हैंग होने की समस्या आ रही है, तो कृपया समस्या ट्रैकर में समस्या की जानकारी दें.
- उस समस्या को ठीक किया गया है जिसमें एम्युलेटर को बंद करने पर यूज़र इंटरफ़ेस (यूआई) बंद हो जाता था, लेकिन एम्युलेटर बंद नहीं होता था.
- कभी-कभी क्रैश होने की समस्याओं को ठीक किया गया है. इनमें
/dev/urandomके बहुत ज़्यादा इंस्टेंस खोलने की वजह से बंद होने की समस्या भी शामिल है. - उस समस्या को ठीक किया गया है जिसकी वजह से, पहली बार के बाद एम्युलेटर शुरू नहीं हो पाता था. ऐसा तब होता था, जब ADB को ज़बरदस्ती बंद कर दिया जाता था.
- MIPS बिल्ड को हटा दिया गया है. अगर आपको अब भी MIPS की ज़रूरत है, तो कृपया Issue Tracker में समस्या की जानकारी दें.
- स्नैपशॉट लोड करने पर, ADB कनेक्शन खराब होने की समस्या को ठीक किया गया है.
- स्नैपशॉट को फिर से शुरू करने पर, एम्युलेटर विंडो में इमेज के धुंधले दिखने या स्क्रीन से गायब होने की समस्या को ठीक किया गया है. ऐसा तब होता था, जब डिवाइस का ओरिएंटेशन, एवीडी के डिफ़ॉल्ट ओरिएंटेशन से अलग होता था.
- स्नैपशॉट सेव करते समय क्रैश होने की समस्याओं को ठीक किया गया है.
- Linux पर, btrfs फ़ाइल सिस्टम की वजह से, इम्यूलेटर की स्पीड बहुत कम हो सकती है. ऐसा इसलिए होता है, क्योंकि इम्यूलेटर अपने-आप स्नैपशॉट सेव करता है और वर्चुअल डिस्क डिवाइसों के लिए कॉपी-ऑन-राइट का इस्तेमाल करता है. हमारा सुझाव है कि
~/.android/avdडायरेक्ट्री को खाली करें और खाली~/.android/avdडायरेक्ट्री पर यह कमांड चलाएं: इससे ऐसे फ़ोल्डर में नए स्नैपशॉट बनते हैं जहां कॉपी-ऑन-राइट की सुविधा बंद होती है.chattr +C
HAXM 7.3.2
हम HAXM 7.3.2 के बारे में फिर से बताना चाहते हैं, क्योंकि एमुलेटर पर हाल की सिस्टम इमेज को ठीक से चलाने के लिए, इसे इंस्टॉल करना ज़रूरी है. HAXM 7.3.2, स्टेबल चैनल में पहले से ही उपलब्ध होना चाहिए. इसे https://github.com/intel/haxm/releases से मैन्युअल तरीके से भी इंस्टॉल किया जा सकता है.
इस वर्शन में, HAXM से जुड़ी कुछ समस्याएं हल की गई हैं. यहां उनके बारे में बताया गया है:
- हाल ही के Linux कर्नल (>= 4.6) का इस्तेमाल करने वाले गेस्ट ओएस के रैंडम क्रैश की समस्या ठीक की गई है. उदाहरण के लिए, Ubuntu 18.04 (#39, #74).
- x86 इंस्ट्रक्शन एम्युलेटर की गड़बड़ी को ठीक किया गया है. इसकी वजह से, होस्ट क्रैश हो सकता था (#93).
Windows के 32-बिट वर्शन के लिए सहायता बंद कर दी गई है
कम इस्तेमाल और रखरखाव की ज़्यादा लागत की वजह से, हम Windows पर चलने वाले Android Emulator के 32-बिट वर्शन को बंद करने का प्लान बना रहे हैं. हम Android Emulator के 32-बिट वर्शन को हटाने और उसके बंद होने से पहले, ट्रांज़िशन प्लान रोल आउट करेंगे. हालांकि, हम इस बदलाव के बारे में आपके सुझाव/राय/शिकायत का इंतज़ार कर रहे हैं.
अगर आपको Windows पर चलने वाले Android Emulator के 32-बिट वर्शन की ज़रूरत है, तो कृपया हमें Issue Tracker में बताएं. साथ ही, हमें बताएं कि हम आने वाले समय में आपके साथ बेहतर तरीके से कैसे काम कर सकते हैं.
27.3.10 (अगस्त 2018)
इस अपडेट में, गड़बड़ी को ठीक करने के लिए यह बदलाव किया गया है:
रैम के साइज़ से जुड़ी कॉन्फ़िगरेशन की समस्या ठीक की गई
कुछ उपयोगकर्ताओं ने बताया है कि एम्युलेटर धीरे चल रहा है. हमें एक ऐसी वजह का पता चला है जिसकी वजह से, एवीडी की config.ini फ़ाइल में एवीडी के रैम साइज़ को गलत तरीके से सेट किया जा रहा था.
इस समस्या को ठीक करने के लिए, एम्युलेटर उन इमेज के लिए कम से कम रैम लेवल को बढ़ाता है जो API लेवल 26 या इससे ज़्यादा का इस्तेमाल करती हैं. यह Android Studio के डिफ़ॉल्ट लेवल 1536 एमबी तक होता है. अगर आपके AVD की config.ini फ़ाइल में hw.ramSize को मेगाबाइट में नहीं दिखाया जा रहा है, तो कृपया Issue Tracker में समस्या की जानकारी दें. config.ini फ़ाइल यहां मौजूद होती है:
~/.android/avd/<avdname>.avd/config.ini
27.3.9 (जुलाई 2018)
इस अपडेट में, ये सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं:
Windows Hypervisor Platform के लिए, गड़बड़ी के मैसेज को बेहतर बनाया गया है
कुछ उपयोगकर्ताओं को यह पता लगाने में समस्या आ रही थी कि WHPX इम्यूलेटर चालू करने पर, Windows Hypervisor Platform (WHPX) शुरू क्यों नहीं हुआ. इन समस्याओं का पता लगाने में आपकी मदद करने के लिए, हमने गड़बड़ी के बारे में ज़्यादा जानकारी देने वाले मैसेज जोड़े हैं. इन मैसेज को चालू करने के लिए, कमांड लाइन से इम्यूलेटर चलाएं और -verbose फ़्लैग का इस्तेमाल करें.
सामान्य समस्याएं ठीक करना
- कैमरा ऐप्लिकेशन में स्नैपशॉट लोड करते समय होने वाली OpenGL गड़बड़ियों को ठीक किया गया है.
27.3.8 (जुलाई 2018)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.
स्नैपशॉट
अब किसी डिवाइस कॉन्फ़िगरेशन के लिए, एक से ज़्यादा एवीडी स्नैपशॉट सेव किए जा सकते हैं. साथ ही, एमुलेटर शुरू करते समय, यह चुना जा सकता है कि सेव किए गए स्नैपशॉट में से किसे लोड करना है.
Android Studio 3.2 Canary 13 से, हर डिवाइस कॉन्फ़िगरेशन में वर्चुअल डिवाइस कॉन्फ़िगरेशन डायलॉग में मौजूद ऐडवांस सेटिंग में एक कंट्रोल शामिल होता है. इसकी मदद से, यह तय किया जा सकता है कि एवीडी शुरू करते समय, कौनसे एवीडी स्नैपशॉट को लोड करना है.
स्नैपशॉट की सुविधाओं को बेहतर बनाने के लिए, हमने ज़्यादा कंट्रोल डायलॉग में स्नैपशॉट कैटगरी जोड़ी है. इस नए पैनल में, एवीडी स्नैपशॉट को सेव और लोड करने के कंट्रोल शामिल हैं. इनमें, क्विक-बूट स्नैपशॉट को सेव और लोड करने के कंट्रोल भी शामिल हैं. ये कंट्रोल पहले सेटिंग पैनल में मौजूद थे.
सेव किए गए हर स्नैपशॉट का नाम और ब्यौरा बदला जा सकता है.
ज़्यादा जानकारी के लिए, स्नैपशॉट देखें.
HAXM 7.2.0
HAXM 7.2.0 अब सभी चैनलों में उपलब्ध है.
इस अपडेट में, गड़बड़ियों को ठीक किया गया है. साथ ही, ज़्यादा रैम के लिए बेहतर सपोर्ट दिया गया है. इसके अलावा, HAXM के इस अपडेट और Emulator 27.3 और इसके बाद के वर्शन में, स्नैपशॉट के कॉन्टेंट को वर्चुअल डिवाइस के शुरू होने पर पूरी तरह से लोड करने के बजाय, ज़रूरत के हिसाब से रैम में लोड किया जाता है. इस बदलाव से, स्नैपशॉट को लोड करने में लगने वाला समय काफ़ी कम हो जाएगा.
ज़्यादा जानकारी के लिए, वीएम ऐक्सेलरेट करने की सुविधा कॉन्फ़िगर करना लेख पढ़ें.
27.2.9 (मई 2018)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.
स्क्रीन रिकॉर्डिंग
अब Android Emulator से वीडियो और ऑडियो रिकॉर्ड किया जा सकता है. साथ ही, रिकॉर्डिंग को WebM या ऐनिमेट किया गया GIF फ़ाइल फ़ॉर्मैट में सेव किया जा सकता है.
स्क्रीन रिकॉर्डिंग के कंट्रोल, ज़्यादा कंट्रोल विंडो के स्क्रीन रिकॉर्ड करें टैब में होते हैं.
अहम जानकारी: स्क्रीन रिकॉर्डिंग के कंट्रोल खोलने के लिए, Control + Shift + R (Mac पर Command + Shift + R) दबाएं.
स्क्रीन रिकॉर्डिंग शुरू करने के लिए, स्क्रीन रिकॉर्ड टैब में मौजूद, रिकॉर्डिंग शुरू करें बटन पर क्लिक करें. रिकॉर्डिंग रोकने के लिए, रिकॉर्डिंग रोकें पर क्लिक करें.
रिकॉर्ड किए गए वीडियो को चलाने और सेव करने के कंट्रोल, स्क्रीन रिकॉर्ड टैब में सबसे नीचे मौजूद होते हैं. वीडियो सेव करने के लिए, टैब में सबसे नीचे मौजूद मेन्यू से WebM या GIF चुनें. इसके बाद, सेव करें पर क्लिक करें.
कमांड लाइन पर यह कमांड इस्तेमाल करके, एम्युलेटर से स्क्रीन रिकॉर्डिंग को रिकॉर्ड और सेव भी किया जा सकता है:
adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm
स्क्रीनशॉट
कमांड लाइन से स्क्रीनशॉट लेने के लिए, इनमें से किसी एक कमांड का इस्तेमाल करें:
screenrecord screenshot [destination-directory]adb emu screenrecord screenshot [destination-directory]
स्क्रीनशॉट, PNG फ़ॉर्मैट में सेव किए जाते हैं.
वर्चुअल सीन कैमरा और ARCore
ARCore की मदद से ऑगमेंटेड रिएलिटी (एआर) वाले ऐप्लिकेशन डेवलप और टेस्ट करना अब और भी आसान हो गया है. इसके लिए, नए वर्चुअल सीन कैमरे का इस्तेमाल करें. इससे आपको वर्चुअल एनवायरमेंट में एआर का अनुभव करने का मौका मिलेगा.
एम्युलेटर में वर्चुअल सीन कैमरा इस्तेमाल करने के बारे में जानकारी पाने के लिए, Android Emulator में एआर ऐप्लिकेशन चलाना लेख पढ़ें.
Pixel डिवाइस पर Google Play Store की इमेज
Pixel और Pixel 2 डिवाइस की इमेज के लिए, Google Play Store की सुविधा अब चालू हो गई है. Android Studio 3.2 और इसके बाद के वर्शन में, AVD Manager में इसकी जानकारी दी गई है. साथ ही, Play Store कॉलम में Google Play का लोगो भी दिखाया गया है. जिन AVD में 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 फ़्रेम प्रति सेकंड तक होता है.
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)
यह एक छोटी रिलीज़ है. इसमें गड़बड़ियां ठीक की गई हैं. साथ ही, GPU कॉन्फ़िगरेशन में ये सुधार किए गए हैं:
- ANGLE रेंडरर पर चलने के दौरान बूट ऐनिमेशन चालू करें
- ANGLE रेंडरर पर चलने के दौरान GLES3 को बंद करें
26.1.3 (अगस्त 2017)
यह एक छोटी रिलीज़ है. इसमें गड़बड़ियां ठीक की गई हैं, परफ़ॉर्मेंस में सुधार किए गए हैं, और सुविधाओं में छोटे-मोटे बदलाव किए गए हैं.
- Android 8.0 की नई सिस्टम इमेज का इस्तेमाल करने के लिए, अब इस वर्शन की ज़रूरत होगी.
ये Treble के साथ काम करते हैं और इनमें अलग-अलग
vendor.imgपार्टीशन होते हैं. - HAXM 6.2.0 का नया वर्शन अब उपलब्ध है. इसे SDK Manager में देखा जा सकता है. इसमें ये अपडेट शामिल हैं:
- मेमोरी के इस्तेमाल में सुधार किया गया है. HAXM की ओर से पिन की गई मेमोरी का पीक वर्किंग सेट, अब एवीडी की रैम के साइज़ के बराबर नहीं है. इसके बजाय, मेमोरी को मांग पर पेज किया जाता है. इससे कम रैम वाले कंप्यूटरों पर, एम्युलेटर को ज़्यादा भरोसेमंद तरीके से चलाने में मदद मिलेगी.
- HAXM 6.2.0 वाला एम्युलेटर, अब macOS पर तेज़ी से बूट हो सकता है. इससे, लंबे समय तक चलने वाली शुरुआती प्रोसेस को स्किप किया जा सकता है.
- GPU कॉन्फ़िगरेशन में सुधार
- बूट के दौरान काली स्क्रीन की समस्या ठीक की गई. ऐसा गेस्ट-साइड सॉफ़्टवेयर रेंडरिंग के बजाय, Swiftshader के साथ होस्ट-साइड सॉफ़्टवेयर रेंडरिंग का इस्तेमाल करके किया गया. Google APIs के साथ API लेवल 19 से 25 के लिए, सिस्टम इमेज के नए वर्शन में गेस्ट-साइड रेंडरिंग काम करनी चाहिए.
- हमने उस समस्या को ठीक कर दिया है जिसमें पुराने Intel GPU का पता चलने पर, एम्युलेटर को सॉफ़्टवेयर रेंडरर पर स्विच कर दिया जाता था. हालांकि, एम्युलेटर असल में डिसक्रीट जीपीयू पर चल रहा था. ANGLE या Swiftshader रेंडरिंग का इस्तेमाल करने के लिए, किन जीपीयू को स्विच किया जाएगा, यह इस तरह से तय किया जाता है:
- पुराने Intel iGPU में, OpenGL और ANGLE D3D, दोनों ड्राइवर से जुड़ी समस्याएं हैं. Intel HD Graphics 3xxx और इससे पुराने वर्शन वाले iGPU का इस्तेमाल करने वाले लोग, Swiftshader का इस्तेमाल करेंगे.
- कुछ उपयोगकर्ताओं ने बताया कि वे एपीआई लेवल 25 की इमेज का इस्तेमाल नहीं कर पा रहे हैं. इसकी वजह यह है कि "Pixel Launcher काम नहीं कर रहा है" बग की वजह से ऐसा हो रहा है. ऐसा लगता है कि Intel HD 4xxx के कुछ मॉडल में ड्राइवर से जुड़ी समस्या है. इसलिए, उन्हें अपने-आप ANGLE का इस्तेमाल करने के लिए स्विच कर दिया जाएगा.
- जीपीयू इम्यूलेशन से बेहतर नतीजे पाने के लिए, हमारा सुझाव है कि आप NVIDIA या AMD के डिसक्रीट जीपीयू या Intel के नए जीपीयू (Iris, HD 5xxx, HD 5xx/6xx) का इस्तेमाल करें.
- हमने उस समस्या को ठीक कर दिया है जिसकी वजह से एम्युलेटर शुरू नहीं हो पाता था. ऐसा तब होता था, जब एवीडी को
hw.gpu.mode=hostके साथ कॉन्फ़िगर किया गया हो और एम्युलेटर को रिमोट डेस्कटॉप क्लाइंट में लॉन्च किया गया हो. इस समस्या की वजह से, OpenGL इम्यूलेशन शुरू नहीं हो पाता था. - "OpenGL ES एपीआई लेवल (डिवाइस को रीस्टार्ट करना ज़रूरी है)" सेटिंग के बारे में ज़्यादा जानकारी दी गई है. साथ ही, अगर आपको समस्याएं आ रही हैं या आपको OpenGL ES के निचले एपीआई लेवल पर टेस्ट करना है, तो OpenGL ES 3 से OpenGL ES 2 पर डाउनग्रेड करने का विकल्प जोड़ा गया है.
- Mesa रेंडरर अब काम नहीं करता;
hw.gpu.mode=mesaअब होस्ट पर Swiftshader का इस्तेमाल करने के लिए अपने-आप स्विच हो जाएगा.
- macOS के लिए किए गए सुधार:
- इम्यूलेटर अब macOS 10.13 High Sierra के साथ पूरी तरह से काम करता है. इसके लिए, Hypervisor.Framework या HAXM 6.2.0 का इस्तेमाल किया जा सकता है.
- macOS पर, 32-बिट x86 इमेज के लिए Hypervisor.framework अब डिफ़ॉल्ट रूप से चालू होता है. इससे परफ़ॉर्मेंस बेहतर होती है और macOS के साथ काम करने की सुविधा मिलती है. अगर आपको इसमें कोई समस्या आ रही है, तो कृपया गड़बड़ी की रिपोर्ट सबमिट करें और
HVF = offको~/.android/advancedFeatures.iniमें जोड़ें. अगर यह फ़ाइल मौजूद नहीं है, तो इसे बनाएं. - Hypervisor.framework का इस्तेमाल करते समय, इंटरनेट न होने या डीबगर अटैच न हो पाने की समस्याओं को ठीक किया गया है.
- वेबकैम से कैप्चर की गई इमेज की परफ़ॉर्मेंस और कंपैटिबिलिटी को बेहतर बनाने के लिए, QTKit पर आधारित कैमरा कैप्चर को AVFoundation पर आधारित बफ़र किए गए कैमरे से बदल दिया गया है.
- कुछ सिस्टम इमेज में वाई-फ़ाई के लिए सहायता जोड़ी गई है. फ़िलहाल, यह सुविधा सिर्फ़ एपीआई लेवल 25 के लिए उपलब्ध है.
"AndroidWifi" नाम का ऐक्सेस पॉइंट उपलब्ध है और Android इससे अपने-आप कनेक्ट हो जाता है. कमांड लाइन पैरामीटर
-feature -Wifiका इस्तेमाल करके एम्युलेटर को चलाने पर, वाई-फ़ाई की सुविधा बंद की जा सकती है. - कुछ उपयोगकर्ताओं ने शिकायत की है कि तय साइज़ वाली Play Store सिस्टम इमेज में, स्टोरेज की जगह कम होती है. इसलिए, हमने डिफ़ॉल्ट रूप से साइज़ को 800 एमबी से बढ़ाकर 2 जीबी कर दिया है.
- गड़बड़ी की रिपोर्ट करने वाले यूज़र इंटरफ़ेस (यूआई) पेज को सीधे सेटिंग पेज से खोलने के लिए, कीबोर्ड शॉर्टकट (Ctrl+Shift+U) जोड़ा गया है.
- उस समस्या को ठीक किया गया है जिसमें Intel x86 EPT वाला पुराना सीपीयू इस्तेमाल करने पर, एक से ज़्यादा कोर कॉन्फ़िगर होने पर एम्युलेटर बूट नहीं होता था. हालांकि, इस सीपीयू में UG की सुविधा नहीं होती थी.
- उस समस्या को ठीक किया गया है जिसमें अगर एम्युलेटर, Xen हाइपरवाइज़र में चल रहा होता था, तो HyperV का पता सही तरीके से नहीं चल पाता था.
- Linux के कुछ कॉन्फ़िगरेशन में, एम्युलेटर के शुरू होने पर क्रैश होने की समस्या को ठीक किया गया है.
26.1.2 (जुलाई 2017)
इस रिलीज़ में नई सुविधाएं जोड़ी गई हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है.
ज़्यादा कंट्रोल में, कस्टम एचटीटीपी प्रॉक्सी कॉन्फ़िगरेशन तय करने की सुविधा जोड़ी गई. इसके लिए, ज़्यादा
पर क्लिक करें. इसके बाद, सेटिंग और प्रॉक्सी पर क्लिक करें. डिफ़ॉल्ट रूप से, एम्युलेटर Android Studio की एचटीटीपी प्रॉक्सी सेटिंग का इस्तेमाल करता है. हालांकि, इस स्क्रीन पर मैन्युअल प्रॉक्सी कॉन्फ़िगरेशन तय किया जा सकता है.
मेहमान मोड वाले जीपीयू के लिए वीएनसी की सुविधा जोड़ी गई है, ताकि एम्युलेटर को दूर से देखा और कंट्रोल किया जा सके. उदाहरण के लिए, एम्युलेटर लॉन्च किया जा सकता है और वीएनसी को पोर्ट 5901 पर सुनने की अनुमति दी जा सकती है. इसके लिए, यह तरीका अपनाएं:
- लागू करें:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1 पोर्ट 5901 से कनेक्ट करने के लिए, कोई वीएनसी व्यूअर खोलें. जैसे, tightvnc viewer.
Mac में पहले से मौजूद स्क्रीन शेयरिंग क्लाइंट का इस्तेमाल करने के लिए, एम्युलेटर लॉन्च करते समय वीएनसी पासवर्ड की ज़रूरत होती है. पासवर्ड सेट करने के लिए, इस कमांड का इस्तेमाल करें:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdioइसके बाद, कंसोल में
change vnc passwordडालें और पासवर्ड डालें.
फ़िलहाल, Android O पर वीएनसी मोड काम नहीं करता.
- लागू करें:
एक्सटेंडेड कंट्रोल की सहायता स्क्रीन में, बग की शिकायत करें बटन जोड़ा गया है (ज़्यादा
पर क्लिक करें. इसके बाद, सहायता और एम्युलेटर की सहायता पर क्लिक करें). गड़बड़ी की रिपोर्ट करें पर क्लिक करने से एक डायलॉग बॉक्स खुलता है. इसमें गड़बड़ी की रिपोर्ट की जानकारी देखी जा सकती है. जैसे, स्क्रीनशॉट, एवीडी कॉन्फ़िगरेशन की जानकारी, और गड़बड़ी की रिपोर्ट का लॉग. इसके बाद, रिपोर्ट को अपने लिए सेव किया जा सकता है या इमुलेटर से जुड़ी समस्याओं की शिकायत की जा सकती है.एम्युलेटर और वर्चुअल सेंसर पैनल में, जाइरोस्कोप सेंसर जोड़ा गया. इसके लिए, ऐसी सिस्टम इमेज की ज़रूरत होती है जिसमें जायरोस्कोप काम करता हो. फ़िलहाल, यह सुविधा एपीआई लेवल 24 और 25 पर काम करती है.
Windows पर Qemu DNS की सूची में, होस्ट के लिए पसंदीदा DNS जोड़ा गया है. ऐसा तब किया जाता है, जब होस्ट पर कई वर्चुअल नेटवर्क इंटरफ़ेस, कई DNS पते उपलब्ध कराते हैं. हालांकि, ये पते एम्युलेटर के लिए काम नहीं करते.
macOS 10.10 और इसके बाद के वर्शन पर, सर्वर फ़्लैग के ज़रिए 32-बिट x86 इमेज के लिए, macOS Hypervisor.Framework की एक्सपेरिमेंटल सुविधा जोड़ी गई है. इससे बूट होने में लगने वाला समय और परफ़ॉर्मेंस बेहतर होगी.
- अगर आपको इसमें समस्याएं आ रही हैं, तो
HVF = offमेंHVF = offलाइन जोड़ें.~/.android/advancedFeatures.ini
- अगर आपको इसमें समस्याएं आ रही हैं, तो
OpenGL ES 3.x को अब सिस्टम इमेज और होस्ट जीपीयू के लिए डिफ़ॉल्ट रूप से चालू किया गया है. ये OpenGL ES 3 के साथ काम करते हैं. फ़िलहाल, सिर्फ़ Android O (एपीआई लेवल 26) और Windows/Linux होस्ट, OpenGL ES 3 के साथ काम करते हैं.
- अगर आपको OpenGL ES 3 में समस्याएं आ रही हैं, तो
~/.android/advancedFeatures.iniमेंGLESDynamicVersion = offलाइन जोड़ें.
- अगर आपको OpenGL ES 3 में समस्याएं आ रही हैं, तो
एम्युलेटर अब सभी रेंडरिंग के लिए, ऑफ़स्क्रीन OpenGL FBO का इस्तेमाल करता है. हालांकि, फ़ाइनल डिसप्ले इमेज पोस्ट करने के लिए इसका इस्तेमाल नहीं किया जाता. इससे अलग-अलग प्लैटफ़ॉर्म पर, कलर कंसिस्टेंसी से जुड़ी समस्याओं को ठीक करने में मदद मिलेगी.
एम्युलेटर के अचानक धीमे हो जाने की समस्याओं से जुड़ा डेटा इकट्ठा करने के बाद, हमें पता चला है कि यह समस्या, Intel के पुराने OpenGL ड्राइवर और Windows के अपडेट के बीच किसी इंटरैक्शन की वजह से हो सकती है. इसलिए, Intel HD 4000, 3000, 2000 (और इनसे जुड़े जीपीयू) का इस्तेमाल करने वाले लोगों के लिए, रेंडरिंग को डिफ़ॉल्ट रूप से D3D रेंडरर (ANGLE) या Swiftshader (सॉफ़्टवेयर रेंडरर) पर सेट कर दिया गया है.
26.0.0 (मार्च 2017)
यह रिलीज़, एपीआई लेवल 26 के साथ काम करती है. इसमें परफ़ॉर्मेंस में कई सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं.
माइनर वर्शन 26.0.3 (मई 2017)
- इस अपडेट में, ऑनलाइन अपडेट की जा सकने वाली सुविधा के फ़्लैग जोड़े गए हैं. इससे हार्डवेयर कॉन्फ़िगरेशन से जुड़ी समस्याओं को तुरंत ठीक किया जा सकेगा. इससे Google, सर्वर-साइड फ़्लैग को अपडेट करके, उन सुधारों और सुविधाओं को रोल आउट कर सकेगा जो उपयोगकर्ता के कॉन्फ़िगरेशन पर निर्भर करती हैं. अगर आपको किसी हार्डवेयर से जुड़ी समस्याएं दिखती हैं, तो कृपया गड़बड़ी की शिकायत करें, ताकि हम समस्या की जांच कर सकें.
- Android Wear API लेवल 25 सिस्टम इमेज के लिए, रोटरी इनपुट की नई सुविधा उपलब्ध है. Wear डिवाइस पर रोटरी इनपुट डायल की सुविधा का इस्तेमाल करने के लिए, बड़ी की गई विंडो में रोटरी इनपुट टैब पर क्लिक करें.
- क्रैश रिपोर्टिंग डायलॉग का साइज़ अब बदला जा सकता है. साथ ही, यह अब बिना किसी इनपुट के क्रैश रिपोर्ट कब भेजनी हैं को पूछें पर रीसेट नहीं होता.
- अब 32-बिट वाले एम्युलेटर के लिए, एवीडी की रैम का ज़्यादा से ज़्यादा साइज़ 512 एमबी से कम या उसके बराबर होना चाहिए. इससे एम्युलेटर को 2 जीबी वर्चुअल पते की जगह में जगह खत्म होने से रोका जा सकेगा.
- एम्युलेटर इमेज में अब ऐब्सलूट पाथ का इस्तेमाल किया जा सकता है.
- Google Play Store की इमेज के लिए, बड़ी की गई विंडो में एक नया टैब जोड़ता है. यह Play सेवाएं का वर्शन दिखाता है. साथ ही, Play सेवाएं के अपडेट की जांच करने के लिए एक बटन दिखाता है.
- यह सुविधा, Emulator Settings पेज पर OpenGL रेंडरर चुनने के लिए एक ड्रॉपडाउन जोड़ती है. अगर आपको Windows मशीन पर OpenGL ड्राइवर से जुड़ी समस्याएं आ रही हैं, तो ANGLE (D3D11) या ANGLE (D3D9) विकल्पों का इस्तेमाल करके देखें. इसके लिए, आपको मशीन को रीस्टार्ट करना होगा. अगर आपको Windows के अलावा किसी अन्य मशीन पर OpenGL ड्राइवर से जुड़ी समस्याएं आ रही हैं, तो Swiftshader सॉफ़्टवेयर रेंडरर का इस्तेमाल करके देखें. इसके लिए, आपको मशीन को रीस्टार्ट करना होगा.
- जब एम्युलेटर को
exitऔरminimize, दोनों कमांड मिलती हैं, तब बंद करते समय होने वाली क्रैश की समस्या को ठीक किया गया है. - Mac मशीन पर डिसप्ले बदलने पर, स्केलिंग से जुड़ी समस्या को ठीक किया गया है. (समस्या 268296)
- इस अपडेट में, सीपीयू के 300% इस्तेमाल से जुड़ी समस्या को ठीक किया गया है. यह समस्या तब होती है, जब होस्ट कंप्यूटर को स्लीप मोड से वापस लाया जाता है या जब एम्युलेटर लंबे समय से चल रहा होता है.
- एम्युलेटर बंद होने पर क्रैश होने की समस्या को ठीक किया गया है.
HAXM v6.1.1 (मार्च 2017) के साथ अपडेट
ध्यान दें: HAXM v6.1.1, 30 मार्च से Mac उपयोगकर्ताओं के लिए SDK मैनेजर के ज़रिए उपलब्ध है. यह Windows उपयोगकर्ताओं के लिए जल्द ही उपलब्ध होगा.
Android Emulator का 26.0.0 वर्शन, HAXM v6.1.1 के साथ काम करता है. इसमें ये अपडेट शामिल हैं:
- यह परफ़ॉर्मेंस मॉनिटरिंग यूनिट (पीएमयू) के इम्यूलेशन को चालू करता है. (समस्या 223377)
- Mac पर VirtualBox और Docker के साथ काम करने से जुड़ी समस्याओं को ठीक किया गया है. (समस्या 197915)
- Windows पर Intel VT-x का पता न चलने पर, इंस्टॉलर को दिखने वाले गड़बड़ी के मैसेज में बदलाव किया गया है. आम तौर पर, ऐसा Hyper-V चालू होने की वजह से होता है.
- इस अपडेट से, Hyper-V पर आधारित Windows VM में Android Emulator को तेज़ी से चलाने में मदद मिलती है. इस अपडेट के लिए, ज़रूरी है कि होस्ट Hyper-V इंस्टेंस (Windows VM/मेहमान को मैनेज करने वाला इंस्टेंस), नेस्टेड वर्चुअलाइज़ेशन की सुविधा के साथ Hyper-V का नया वर्शन इस्तेमाल कर रहा हो. मेहमान Hyper-V इंस्टेंस (Windows VM) में Hyper-V बंद होना चाहिए.
डिपेंडेंसी
- Android SDK प्लैटफ़ॉर्म-टूल का अपडेट 25.0.4 या उसके बाद का अपडेट.
- Android SDK Tools का 26.0.0 या इसके बाद का वर्शन.
नई सुविधाएं और गड़बड़ियां ठीक की गईं
- एपीआई लेवल 26 के साथ काम करता है.
- यह पूरी तरह से GLES 2.0 के साथ काम करता है. अगर होस्ट जीपीयू में डेस्कटॉप OpenGL ड्राइवर मौजूद हैं, तो अब एम्युलेटर, Android CTS dEQP-GLES2
mustpasslist के 100% टेस्ट पास कर लेता है. इसे एपीआई लेवल 24 x86 इमेज (रिविज़न 11 और इसके बाद के वर्शन) के लिए रिलीज़ किया गया है. इसे जल्द ही सभी सिस्टम इमेज के लिए उपलब्ध कराया जाएगा. - वीडियो चलाने की बेहतर परफ़ॉर्मेंस. अब एम्युलेटर, सभी वीडियो कलर बफ़र को होस्ट/गेस्ट की शेयर की गई मेमोरी में सेव करता है. साथ ही, ज़रूरी फ़ाइनल YUV को आरजीबी में बदलने की प्रोसेस, जीपीयू में करता है. अब ज़्यादातर सिस्टम में 1080p30 का इस्तेमाल किया जा सकता है. इसे एपीआई लेवल 24 x86 इमेज (रिविज़न 11 और उसके बाद के वर्शन) के लिए रिलीज़ किया गया है. इसे जल्द ही सभी सिस्टम इमेज के लिए उपलब्ध कराया जाएगा.
- अब एम्युलेटर, बंद होने पर
adb devicesसूची से खुद को सही तरीके से अनरजिस्टर करता है. साथ ही, Linux मशीनों पर खुले हुए टीसीपी पोर्ट बंद करता है. - adb कनेक्शन अब ज़्यादा भरोसेमंद हैं. चल रहे एम्युलेटर का पता अब तेज़ी से लगाया जा सकता है. साथ ही, अब यह “ऑफ़लाइन” या “अनुमति नहीं है” स्थिति में नहीं जाता.
25.3.0 (मार्च 2017)
इस रिलीज़ के बाद से, Android Emulator को SDK टूल से अलग रिलीज़ किया जाएगा. इस रिलीज़ में, परफ़ॉर्मेंस को बेहतर बनाया गया है. साथ ही, नई सुविधाएं जोड़ी गई हैं और गड़बड़ियां ठीक की गई हैं.
माइनर वर्शन 25.3.1 (मार्च 2017)
- कुछ जीपीयू कॉन्फ़िगरेशन पर क्रैश होने की समस्या को ठीक किया गया है. इसके लिए, GLAsyncSwap को डिफ़ॉल्ट रूप से बंद कर दिया गया है.
इस सुविधा को 25.3.0 वर्शन में जोड़ा गया था. इससे गेम और वीडियो के लिए, फ़्रेम टाइमिंग और फ़्रेम प्रति सेकंड को बेहतर बनाया जा सकता है. हालांकि, इससे कुछ अनजान मशीन कॉन्फ़िगरेशन पर एम्युलेटर काम नहीं करता. इसे मैन्युअल तरीके से चालू किया जा सकता है. इसके लिए,
android_sdk/emulator/lib/advancedFeatures.iniफ़ाइल खोलें औरGLAsyncSwap = onसेट करें.
डिपेंडेंसी
- Android SDK प्लैटफ़ॉर्म-टूल का अपडेट 24 या उसके बाद का अपडेट.
- Android SDK के टूल का वर्शन 25.3.0.
नई सुविधाएं और गड़बड़ियां ठीक की गईं
- इम्यूलेशन इंजन को QEMU 2.7 पर अपडेट किया गया है. इसमें हाल ही में ठीक की गई सभी गड़बड़ियां, बेहतर परफ़ॉर्मेंस, और नई सुविधाएं शामिल हैं.
- IPv6 के लिए नई सुविधा.
- अब एम्युलेटर, होस्ट पर सॉफ़्टवेयर रेंडरर के तौर पर SwiftShader का इस्तेमाल करता है.
- Android पाइप की परफ़ॉर्मेंस में सुधार: Android पाइप, एम्युलेटर और Android OS के बीच कम्यूनिकेशन का मुख्य चैनल है. अब यह पहले से ज़्यादा तेज़ है. इसमें कम इंतज़ार का समय लगता है और यह मल्टी-थ्रेडिंग की बेहतर परफ़ॉर्मेंस देता है. इससे एम्युलेटर की परफ़ॉर्मेंस में कई तरह के सुधार होते हैं. जैसे:
- ADB पुश/पुल की स्पीड बेहतर हुई.
- 3D ऐक्सलरेशन की बेहतर सुविधा.
- एम्युलेटर की परफ़ॉर्मेंस बेहतर हुई.
- ग्राफ़िक्स की बेहतर परफ़ॉर्मेंस.
- अब इम्यूलेटर, मेहमान के अनुरोध करने पर GPU-साइड बफ़र (glBindBuffers / glBufferData) का इस्तेमाल करता है. इससे कुछ ऐप्लिकेशन में सीपीयू का ओवरहेड कम हो जाता है.
- ऑडियो की बेहतर सुविधा.
- डिस्क I/O की स्पीड बढ़ी: अब एम्युलेटर, डिस्क I/O को डिस्पैच करने के लिए अलग-अलग थ्रेड का इस्तेमाल करता है. इससे लेटेंसी कम होती है और थ्रूपुट बेहतर होता है (~1.5 गुना सीक्वेंशियल I/O स्पीड, ~5 गुना रैंडम ऐक्सेस I/O स्पीड). इससे डिस्क में फ़्लश की संख्या भी कम हो जाती है. इसलिए, फ़िज़िकल डिवाइस पर लोड बहुत कम होता है.
- अब Windows मशीन पर डिस्क बूट के लिए, एम्युलेटर स्पार्स फ़ाइलों का इस्तेमाल करता है. इससे पहले बूट और "wipe-data" बूट, दोनों की प्रोसेस तेज़ हो जाती है. AVD बनाते या रीसेट करते समय, अब एम्युलेटर डिस्क पर 2 जीबी या उससे ज़्यादा डेटा के बजाय 100 से 200 एमबी डेटा लिखता है.
- जीयूआई में कई तरह के सुधार:
- अब एम्युलेटर, Qt 5.7.0 का इस्तेमाल करता है. इसमें गड़बड़ियां ठीक की गई हैं और परफ़ॉर्मेंस में सुधार किया गया है.
- यूज़र इंटरफ़ेस (यूआई) को शुरू करने के दौरान, अब सभी एम्युलेटर एक्ज़ीक्यूटेबल को Qt प्लगिन के तौर पर लोड करने की कोशिश नहीं की जाती. इसलिए, इसमें पहले से काफ़ी कम समय लगता है. खास तौर पर, एचडीडी पर.
- यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करने की सुविधा अब ज़्यादा तेज़ और बेहतर हो गई है. इसमें ये शामिल हैं: रोटेशन, विंडो का साइज़ बदलना, और एक्सटेंडेड कंट्रोल विंडो को लोड करना और बंद करना.
OpenXR™ और OpenXR लोगो, The Khronos Group Inc. के ट्रेडमार्क हैं. इन्हें चीन, यूरोपियन यूनियन, जापान, और यूनाइटेड किंगडम में ट्रेडमार्क के तौर पर रजिस्टर किया गया है.