Android Studio में Android एमुलेटर शामिल होता है.
25.3.0 से पहले के Emulator के वर्शन, Android SDK टूल के हिस्से के तौर पर उपलब्ध कराए गए थे.
यह पक्का करने के लिए कि आपके पास SDK टूल का नया वर्शन है, अपडेट के लिए SDK Manager देखें.
Android Emulator के पिछले वर्शन डाउनलोड करने के लिए, Emulator के डाउनलोड संग्रह पर जाएं.
25.3.0 से पहले के एम्युलेटर वर्शन के रिलीज़ नोट के लिए, Android SDK टूल के रिलीज़ नोट देखें.
पहले से मालूम समस्याओं और उन्हें हल करने के बारे में जानने के लिए, कृपया एम्युलेटर से जुड़ी समस्याओं को हल करना लेख पढ़ें.
35.4.4 Canary (12 दिसंबर, 2024)
नया Android XR एमुलेटर
हमने हेडसेट के लिए, Jetpack XR SDK टूल से बनाए गए ऐप्लिकेशन को डेवलप और टेस्ट करने के लिए, एक्सपेरिमेंट के तौर पर एक नया Android XR एमुलेटर जोड़ा है. Android XR एमुलेटर इंस्टॉल करने और डेवलपमेंट एनवायरमेंट सेट अप करने के बारे में जानने के लिए, यह गाइड देखें.
Android XR एमुलेटर, एक्सपेरिमेंट के तौर पर उपलब्ध टूल है. हमने आपके साथ यह सुविधा जल्द से जल्द शेयर करने का फ़ैसला लिया है, ताकि आप इसे जल्द से जल्द टेस्ट कर सकें. खास तौर पर, Windows के कुछ जीपीयू और ड्राइवर कॉन्फ़िगरेशन में समस्याएं आ सकती हैं. मौजूदा 2D मोबाइल ऐप्लिकेशन के साथ काम करने से जुड़ी जांच के दौरान भी समस्याएं आ सकती हैं. आपके सुझाव, शिकायत या राय से, हमें आने वाले समय में सुविधाओं की प्राथमिकता तय करने में मदद मिलेगी.
अब तक, Android XR एम्युलेटर को इन हार्डवेयर कॉन्फ़िगरेशन पर टेस्ट किया गया है:
- Mac (ARM)
- Windows 11
- nVidia जीपीयू, 4 जीबी वीआरएम, ड्राइवर का वर्शन 553.35 या इसके बाद का
- 16 जीबी या इससे ज़्यादा रैम
- आठ या उससे ज़्यादा कोर
ऐसी समस्याएं जिनकी जानकारी पहले से है
इम्यूलेटर - हैंग और क्रैश होने जैसी गड़बड़ियां ठीक की गई हैं. साथ ही, परफ़ॉर्मेंस में सुधार किया गया है:
- कुछ Windows कॉन्फ़िगरेशन में, बूट करने या ऐप्लिकेशन चलाने के दौरान, सिस्टम लॉक हो सकता है या क्रैश हो सकता है. कृपया पक्का करें कि Windows Hypervisor Platform (WHPX) चालू हो. इसके लिए, WHPX को चालू करने के लिए Android Studio डेवलपर गाइड देखें.
- लैपटॉप को बंद करके फिर से चालू करने के बाद, AVD या यूज़र इंटरफ़ेस (यूआई) एलिमेंट काम न करना. जैसे, लैपटॉप को बंद करके फिर से चालू करना.
- ऐप्लिकेशन को "होम स्क्रीन मोड" से "फ़ुल स्क्रीन मोड" पर स्विच करने पर, कभी-कभी ऐप्लिकेशन क्रैश हो जाता है
- Gemini API फ़िलहाल उपलब्ध नहीं हैं. इसलिए, Gemini API का स्टार्टर टेंप्लेट ऐप्लिकेशन क्रैश हो जाएगा.
एम्युलेटर - इनपुट और आउटपुट को सिम्युलेट करना:
- हो सकता है कि खोज और बदलाव करने के लिए फ़ील्ड में, वर्चुअल कीपैड सिर्फ़ कुछ हिस्से में दिखे
माउस और कीबोर्ड का इस्तेमाल करके, एलिमेंट को z-डायरेक्शंस (स्क्रीन में और बाहर) में नहीं ले जाया जा सकता
AVD माइक्रोफ़ोन होस्ट के ऑडियो इनपुट में होने वाली गड़बड़ी की वजह से, AVD रीबूट हो सकता है और क्रैश हो सकता है.
कभी-कभी आवाज़ में स्टैटिक या गड़बड़ी होती है.
जब कैमरे को वर्चुअल लिविंग रूम से बाहर ले जाया जाता है, तो रेंडरिंग से जुड़ी गड़बड़ियां दिखती हैं.
Windows कॉन्फ़िगरेशन में, सामान्य से ज़्यादा गहरे रंग दिखते हैं.
macOS पर, एमुलेटर को कुछ समय के लिए इस्तेमाल न करने और स्क्रीन लॉक करने के बाद, ऑडियो काम नहीं करता. (एमुलेटर को रीस्टार्ट करने पर, यह सुविधा वापस आ जाएगी.)
होस्ट मशीन के वाई-फ़ाई बदलने पर, नेटवर्क कनेक्शन टूट जाता है.
Caps Lock चालू होने पर भी, छोटे अक्षर टाइप किए जा सकते हैं.
Mac पर ट्रैकपैड का इस्तेमाल करके स्क्रोल करने पर, स्क्रीन पर ज़्यादा फ़्रीज़िंग होती है.
ऐसा हो सकता है कि डिज़ाइन के हिसाब से, कुछ यूज़र इंटरफ़ेस (यूआई) एलिमेंट पर क्लिक करके खींचकर छोड़ने की सुविधा काम न करे. अगर ऐसा नहीं है, तो स्क्रोल करने के लिए माउस व्हील का इस्तेमाल करें.
Windows के कुछ सिस्टम कॉन्फ़िगरेशन पर, Chrome में टेक्स्ट और यूज़र इंटरफ़ेस (यूआई) धुंधला दिखना और अन्य गड़बड़ियां. समस्या हल करने का तरीका: डब्ल्यूएचपी चालू करना.
एम्युलेटर - विमानों और ऐंकर को सिम्युलेट करना:
- कभी-कभी एंकर, रीस्पॉन होने के बाद उसी जगह पर नहीं आते
- हो सकता है कि मूव किए जा सकने वाले पैनल, दीवारों या छत से अटैच न हों
- सिम्युलेट किए गए प्लेन, पासथ्रू मोड में 3D रूम के फ़िज़िकल लेआउट से मेल नहीं खाते
- वर्चुअल रूम में ऑब्जेक्ट को ऐंकर करने के लिए, सीमित जगहें
- Windows पर पास-थ्रू व्यू में दिखने वाला छोटा आर्टफ़ैक्ट
- कुछ मामलों में, ऐंकर डालने से ऐप्लिकेशन क्रैश हो सकता है
- Windows पर ऐप्लिकेशन को ज़मीन के करीब ले जाने पर, ऐप्लिकेशन के ऊपर काली लाइनें दिख सकती हैं
एम्युलेटर - अन्य:
- एमुलेटर सिर्फ़ "स्टैंडअलोन" मोड में शुरू होता है. फ़िलहाल, "एम्बेड किया गया" मोड (एम्बेड किया गया यूज़र इंटरफ़ेस) काम नहीं करता.
- Windows पर एमुलेटर में खातों से लॉग इन करने पर, एमुलेटर हैंग हो सकता है
- विंडो का साइज़ बदलने के बाद, यूज़र इंटरफ़ेस (यूआई) का कॉन्टेंट दिखना बंद हो सकता है. इसे ठीक करने के लिए, "होम" बटन दबाएं
- JXRCore ActivityPanelTest ऐप्लिकेशन में, शुरुआत में सेकंडरी पैनल नहीं दिखता
- लंबे समय तक इस्तेमाल न करने पर, क्विक सेटिंग के आइटम सिस्टम सेटिंग से हट सकते हैं.
- शुरुआत में, एमुलेटर का यूज़र इंटरफ़ेस (यूआई), स्क्रीन के बाहर दिख सकता है. अगर ऐसा है, तो एमुलेटर विंडो का साइज़ थोड़ा अडजस्ट करें. ऐसा करने पर, यह अपनी जगह पर वापस आ जाएगी.
- ऐसा हो सकता है कि Windows पर Chrome Remote Desktop का इस्तेमाल करते समय, एमुलेटर शुरू न हो
- फ़िलहाल, एम्युलेटर पर Open XR काम नहीं करता. साथ ही, Open XR ऐप्लिकेशन से एम्युलेटर क्रैश हो सकता है
- Windows पर Android Studio की एक्सटेंडेड सेटिंग की मदद से, गड़बड़ी की रिपोर्ट सबमिट करने के दौरान, कभी-कभी गड़बड़ियां होना
- Mac पर सेटिंग ऐप्लिकेशन में, "वापस जाएं" आइकॉन तब तक सही से नहीं दिखता, जब तक कर्सर को उसके आस-पास न घुमाया जाए
- कुछ मामलों में, XR टेंप्लेट प्रोजेक्ट के हिस्से के तौर पर "बेसलाइन प्रोफ़ाइल" मॉड्यूल का इस्तेमाल करने पर, बिल्डिंग में गड़बड़ी हो सकती है
- "XR Talkback" की सुलभता की सुविधा, अब तक एमुलेटर में सिर्फ़ कुछ हद तक इंटिग्रेट की गई है
Scene Viewer ऐप्लिकेशन:
- सीन व्यूअर में एलिमेंट को एक जगह से दूसरी जगह ले जाने पर, यह क्रैश हो सकता है. इस समस्या को हल करने के लिए, एलिमेंट को मूव करने से पहले, हेड की पोज़िशन को उसकी शुरुआती पोज़िशन से थोड़ा दूर मूव करें. जैसे, पैन, डॉली, WASD वगैरह का इस्तेमाल करके.
- अगर 3D मॉडल का असल साइज़, स्केल की तय की गई कम से कम और ज़्यादा से ज़्यादा सीमाओं (फ़िलहाल, 20 सेंटीमीटर और 70 मीटर) से कम या ज़्यादा है, तो 1:1 असल साइज़ की सुविधा ठीक से काम नहीं करेगी
- लोड होने के बाद, 3D मॉडल पहले फ़्रेम पर कूद सकता है
35.2.10 (1 अक्टूबर, 2024)
- Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, और Pixel 9 Pro Fold जैसे नए Pixel AVD जोड़े गए
- Vanilla Ice Cream (API 35) के लिए, टेबलेट की नई सिस्टम इमेज जोड़ी गई
35.1.20 (29 अगस्त, 2024)
- Pixel 8a AVD जोड़ा गया
- फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए कई गड़बड़ियां ठीक की गईं
- Qt अपडेट और Qt से जुड़े क्रैश और हैंग को ठीक करना
- [बग ठीक किया गया] Vulkan का इस्तेमाल करने वाले ऐप्लिकेशन के साथ, Windows पर ऐप्लिकेशन के क्रैश होने और फ़्रीज़ होने की समस्या ठीक की गई
34.2.16 (9 जुलाई, 2024)
- [बग ठीक किया गया] Pixel Fold को फ़ोल्ड/अनफ़ोल्ड करते समय, यूज़र इंटरफ़ेस (यूआई) फ़्रीज़ होने की समस्या ठीक की गई
- [बग ठीक किया गया] Mac M1 पर, Android वर्शन को एपीआई 35 के बजाय, Android Vanilla Ice Cream के रिलीज़ होने से पहले के वर्शन के तौर पर गलत तरीके से दिखाया जा रहा था.
- [बग ठीक किया गया] समस्या #296162661: HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE, Pixel C टैबलेट एमुलेटर पर 'सही है' दिखाता है
34.2.15 (31 मई, 2024)
- स्वैंगल मोड और विज्ञापन देने वाले लोगों या कंपनियों के खाते से जुड़ी क्रैश की समस्याओं को ठीक करना
34.2.14 (20 मई, 2024)
Android Studio Jellyfish के स्टेबल पैच 1 के साथ टेस्ट किया गया.
- [बग ठीक किया गया] एम्बेड किए गए एम्युलेटर पर, स्नैपशॉट कभी-कभी फ़्रीज़ हो जाता है
- [बग ठीक किया गया] स्नैपशॉट पर 'नहीं' और 'रद्द करें' बटन ठीक से काम नहीं कर रहे थे
- [बग ठीक किया गया] डायरेक्शनल पैड के बटन काम नहीं कर रहे हैं
- [गड़बड़ी ठीक की गई] Windows पर ANGLE के साथ GPU मोड का इस्तेमाल करने पर, कुछ स्थितियों में एमुलेटर के शुरू न होने की समस्या को ठीक किया गया. साथ ही, लॉग में “GL इम्यूलेशन को शुरू करने में गड़बड़ी हुई” गड़बड़ी का मैसेज दिखने की समस्या को भी ठीक किया गया. ध्यान दें कि
-gpu swangle_indirect
विकल्प के साथ कमांड लाइन से एमुलेटर शुरू करने पर, अब भी इस वर्शन में यह गड़बड़ी जनरेट हो सकती है. अगर आपको अब भी इस वर्शन के साथ, सॉफ़्टवेयर ग्राफ़िक रेंडरिंग की सुविधा के साथ Windows पर कमांड-लाइन का इस्तेमाल करके एमुलेटर शुरू करना है, तो कृपया-gpu swiftshader_indirect
का इस्तेमाल करें - [बग ठीक किया गया] कीबोर्ड पर जगह की जानकारी का शॉर्टकट दबाने पर, ऐसा मैप लोड होता है जिसका इस्तेमाल नहीं किया जा सकता
- [बग ठीक किया गया] जगह की जानकारी सेट करते समय, "रास्ता सेव करें" डायलॉग नहीं दिख रहा है
34.2.13 (30 अप्रैल, 2024)
Android Studio Jellyfish Stable के साथ टेस्ट किया गया.
- Qt 6.5.3 पर अपडेट करना
- Google Maps API के उन अपडेट के साथ काम करना जो जगह की जानकारी की सुविधाओं में इस्तेमाल किए जाते हैं. ये अपडेट, मई के आखिर में एमुलेटर के एक्सटेंडेड कंट्रोल में दिखेंगे.
- ऐप्लिकेशन के क्रैश होने से जुड़ी ऐसी समस्याएं जिनका असर बहुत ज़्यादा होता है
- Pixel AVD में कई समस्याएं ठीक की गईं
- सॉफ़्टवेयर रेंडरिंग के लिए इस्तेमाल की जाने वाली ग्राफ़िक लाइब्रेरी को अपडेट करना
- [बग ठीक किया गया]समस्या 225541819 x86_64 पर Chrome शुरू करने से एम्युलेटर क्रैश हो जाता है
- [बग ठीक किया गया]समस्या 314614435
-http-proxy
स्विच को गलत तरीके से पार्स किया गया
34.1.20 (1 अप्रैल, 2024)
Android Studio Iguana के स्टेबल वर्शन के साथ टेस्ट किया गया.
- [बग ठीक करना] समस्या #314614435:
-http-proxy
स्विच को गलत तरीके से पार्स करने की समस्या को ठीक करना
34.1.19 (7 मार्च, 2024)
Android Studio Iguana के स्टेबल वर्शन के साथ टेस्ट किया गया.
- [बग ठीक किया गया] समस्या #312677259: विंडो का साइज़ बदलने के बाद, एम्बेड किए गए एमुलेटर में स्क्रीन फ़्रीज़ होने की समस्या को ठीक किया गया.
34.1.18 (29 फ़रवरी, 2024)
Android Studio Iguana के स्टेबल वर्शन के साथ टेस्ट किया गया.
- एम्युलेटर में ये डिवाइस जोड़े गए:
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- gRPC इंटिग्रेशन टेस्ट: gRPC एंडपॉइंट अब एमुलेटर में चल रहे इंस्ट्रूमेंट किए गए टेस्ट के लिए उपलब्ध हैं. इससे, असल स्थितियों की जांच करने में मदद मिलेगी. इस सुविधा की मदद से, डेवलपर Android इंस्ट्रूमेंटेशन टेस्ट में, Android एमुलेटर के होस्ट किए गए gRPC एंडपॉइंट के साथ सुरक्षित तरीके से इंटरैक्ट कर सकते हैं.
- कई गड़बड़ियां ठीक की गईं
- गड़बड़ी ठीक करना: फ़ोल्ड किए जा सकने वाले डिवाइस के इस्तेमाल में सुधार
- बग ठीक करना: रोटेशन के बाद, एमुलेटर की पोज़िशन में बदलाव करना
- क्रैश से जुड़ी गड़बड़ियां ठीक की गईं
33.1.24 (28 दिसंबर, 2023)
Android Studio के Hedgehog Stable और Iguana Beta 1 वर्शन के साथ टेस्ट किया गया.
- एम्युलेटर वेबकैम से जुड़ी समस्या को ठीक किया गया, जिसकी वजह से स्क्रीन को एमपी4 फ़ॉर्मैट में रिकॉर्ड नहीं किया जा सकता.
- स्क्रीन रिकॉर्डिंग के दौरान, Pixel Fold AVD को अनफ़ोल्ड करने पर, एमुलेटर क्रैश होने की समस्या को ठीक किया गया है.
- Pixel Fold पर, अलग-अलग फ़ोन की स्किन दिखने और अलग कीबोर्ड के साथ काम न करने की समस्या को ठीक किया गया. यह समस्या Windows, Mac Intel, और Linux पर ठीक की गई है
- स्टैंडअलोन मोड में वर्चुअल सेंसर के दिखने में आने वाली गड़बड़ी को ठीक किया गया. यह गड़बड़ी Windows, Mac Intel, और Linux पर ठीक की गई है
- कुछ क्रैश ठीक किए गए हैं. खास तौर पर, एमुलेटर बंद करते समय होने वाले क्रैश ठीक किए गए हैं
33.1.23 (30 नवंबर, 2023)
Android Studio Giraffe Patch 4 और Hedgehog Stable के साथ टेस्ट किया गया.
- Pixel Fold डिवाइस को बेहतर तरीके से एमुलेट करने के लिए, फ़ोल्ड किए जा सकने वाले डिवाइस के लिए नई सुविधा जोड़ी गई है. यह सुविधा, नए एपीआई 34 के साथ काम करती है
- ग्राफ़िक्स बैकएंड अपग्रेड: हमने अपने ग्राफ़िक्स बैकएंड के लिए gfxstream प्रोटोकॉल लागू किया है. इस बेहतर सुविधा से, आपके सिस्टम की ग्राफ़िक्स परफ़ॉर्मेंस और स्थिरता बेहतर होती है. इसके अलावा, हम एपीआई 34 वाली सिस्टम इमेज के साथ, Vulkan 1.3 की सुविधा भी पेश कर रहे हैं
- सुविधा का अनुरोध: पिंच करके ज़ूम करने के जेस्चर को बंद करने या उसका हॉटकी फिर से असाइन करने का विकल्प
- [बग ठीक किया गया] समस्या #302562962 MacOS sonoma का इस्तेमाल करते समय, एमुलेटर वेबकैम क्रैश होने की समस्या को ठीक किया गया
- [बग ठीक किया गया] समस्या #293503871 'माइक्रोफ़ोन' सेटिंग को एम्युलेटर को रीस्टार्ट करने पर सेव न होने की समस्या को ठीक किया गया
- [बग ठीक किया गया] समस्या #270386314 ऐनिमेशन से जुड़ी गड़बड़ी को ठीक किया गया. इसमें, AVD स्क्रीन को छोटा करने के बाद भी साइडबार खुला रहता था
- [बग ठीक करना] समस्या #154896775 गड़बड़ी सबमिट करने वाले टूल को ठीक करना
32.1.15 (29 अगस्त, 2023)
Android Studio Giraffe Patch 1 और Hedgehog Canary 16 के साथ टेस्ट किया गया.
- AAE एमुलेटर में सेंसर के लिए, GAS के हार्डवेयर से जुड़ी ज़रूरी शर्तों का पालन करना
- [बग ठीक किया गया] समस्या #266201208 एपीआई 33 पर हिब्रू एसएमएस नहीं भेजा जा रहा है
- [बग ठीक किया गया] समस्या #257097404 एपीआई 29 और 30 पर होस्ट के जागने के बाद, एमुलेटर सही समय नहीं दिखाता
- [बग ठीक किया गया] समस्या #228201899 Android एमुलेटर के एक्सटेंडेड कंट्रोल में Google Maps नहीं दिख रहा
32.1.14 (27 जून, 2023)
Android Studio के Hedgehog Canary 8, Giraffe Beta 5, और Flamingo के स्थिर वर्शन के साथ टेस्ट किया गया.
- इम्यूलेटर के कैमरे के ओरिएंटेशन और डिस्टॉर्शन को ठीक करना.
- [बग ठीक किया गया] समस्या #257097404 "होस्ट के चालू होने के बाद, एमुलेटर सही समय नहीं दिखाता". एपीआई 29 और एपीआई 30 के लिए, यह गड़बड़ी अब भी दिख सकती है.
- [बग ठीक किया गया] समस्या #243456582 "ऐपीआई 30 के बाद रिलीज़ होने वाले Android वर्शन, Mac M1 मशीनों पर एमुलेटर में ठीक से शुरू नहीं हो सकते"
32.1.13 (22 मई, 2023)
Android Studio के Hedgehog Canary 2, Giraffe Beta 1, और Flamingo Stable वर्शन के साथ टेस्ट किया गया.
- Pixel Fold और Pixel Tablet के AVD के लिए सहायता जोड़ी गई.
- gLinux के क्रैश होने की समस्या को ठीक करना.
- [बग ठीक किया गया] समस्या #215231636 "Intel के 12वें जनरेशन के प्रोसेसर में, एपीआई 30 से ज़्यादा वाले एपीआई वाला एमुलेटर काम नहीं कर रहा है".
- [बग ठीक किया गया] समस्या #275397905 Android Emulator M1 पर, कर्सर को बार-बार एमुलेटर में और उससे बाहर ले जाने पर, ऐप्लिकेशन क्रैश होने की समस्या.
- AVD लॉन्च से जुड़ी समस्या समस्या #281725854. ज़्यादा जानकारी के लिए, कृपया एम्युलेटर से जुड़ी समस्या हल करना लेख पढ़ें.
32.1.12 (21 मार्च, 2023)
Android Studio Giraffe Canary 10, Flamingo RC, और Electric Eel Patch 2 के साथ टेस्ट किया गया.
- [बग ठीक किया गया] समस्या #267647323 Android Studio से शुरू किए गए एम्युलेटर पर नेटवर्क काम नहीं करता
- [बग ठीक किया गया] समस्या #268498686 एमुलेटर की स्क्रीन फ़्लिकर कर रही है
- [बग ठीक किया गया] समस्या #270034824 वर्शन 33.1.1 पर अपडेट करने के बाद, एमुलेटर की परफ़ॉर्मेंस खराब हो गई
- [बग ठीक किया गया] समस्या #225541819 Chrome शुरू करने पर, x86_64 पर एम्युलेटर क्रैश हो जाता है
- [बग ठीक किया गया] समस्या #257097404 होस्ट के चालू होने के बाद, एमुलेटर सही समय नहीं दिखाता
- Apple M1 डिवाइसों के लिए क्रैश रिपोर्टिंग जोड़ना
32.1.11 (8 फ़रवरी, 2023)
Android Studio Giraffe Canary 2, Flamingo Beta 1, और Electric Eel Patch 1 के साथ टेस्ट किया गया.
- नेटवर्क स्पीड ऑप्टिमाइज़ेशन
- एम्बेड किए गए एम्युलेटर में माउस की सुविधा
- Virtio-snd में किए गए सुधार
- इंस्टॉलेशन के दौरान, Android एमुलेटर को अनज़िप करते समय, सिंबल लिंक का इस्तेमाल बंद करना
- एम्युलेटर-चेक में क्रैश होने की समस्या को ठीक करना
31.3.14 (13 दिसंबर, 2022)
Android Studio Dolphin, Electric Eel RC1, और Flamingo Canary 9 के साथ टेस्ट किया गया.
- [बग ठीक करना] Play Store में लॉग इन करते समय, AVD के क्रैश होने की समस्या को ठीक करना.
31.3.13 (27 अक्टूबर, 2022)
Android Studio Dolphin, Electric Eel Beta 2, और Flamingo Canary 5 के साथ टेस्ट किया गया.
- [बग ठीक किया गया] समस्या #249948338: टाइम ज़ोन पैरामीटर काम नहीं कर रहा है
- [बग ठीक किया गया] समस्या #249366543: एपीआई 31 के बाद, एमुलेटर -dns-server विकल्प काम नहीं करता
31.3.12 (10 अक्टूबर, 2022)
Android Studio के Dolphin और Electric Eel बीटा 1 वर्शन के साथ टेस्ट किया गया.
इस अपडेट में ये सुधार और गड़बड़ियां ठीक की गई हैं:
- [बग ठीक किया गया] समस्या #247843000: AVD के रिलेटिव पाथ को मैनेज करने से जुड़ी गड़बड़ी
- एपीआई 24 और उसके बाद के वर्शन के लिए डिस्क का साइज़ बढ़ाना
31.3.11 (23 सितंबर, 2022)
Android Studio Dolphin और Electric Eel Canary 10 के साथ टेस्ट किया गया.
इस अपडेट में ये सुधार और गड़बड़ियां ठीक की गई हैं:
- [बग ठीक किया गया] एक्सटेंडेड कंट्रोल विंडो पर, एम्बेड किए गए एम्युलेटर AVD क्रैश हो जाता है
- [बग ठीक किया गया] समस्या #183139207: एमुलेटर के माइक्रोफ़ोन चालू करने से जुड़ी ऑडियो से जुड़ी समस्याएं
- [बग ठीक किया गया] समस्या #229764024: AVD में स्टिक टच की गड़बड़ी, जिसकी वजह से यूज़र इंटरफ़ेस (यूआई) के काम करने के तरीके से जुड़ी समस्याएं आती हैं
- [बग ठीक किया गया] Mac M1 पर एपीआई 33 AVD को लॉन्च करने में गड़बड़ी.
- [बग ठीक किया गया] समस्या #243053479: एमुलेटर को अपडेट करने के बाद, नेटवर्क की स्पीड धीमी हो जाती है
- [बग ठीक किया गया] समस्या #244617627: Windows और Linux पर Maps की जगह की जानकारी की सुविधा काम नहीं कर रही थी
- [बग ठीक किया गया] समस्या #232971796: बेहतर कंट्रोल > फ़ोन पेज पर, “डिवाइस पर कॉल करें” बटन काम नहीं कर रहा था
- Android Emulator को minigbm पर अपडेट करना
- Python3 पर बिल्ड स्क्रिप्ट को माइग्रेट करना
31.3.10 (18 अगस्त, 2022)
Android Studio के Dolphin Beta 5 और Electric Eel Canary 9 वर्शन के साथ टेस्ट किया गया.
अब एमुलेटर को अलग से डाउनलोड किया जा सकता है. अगर आपको इस नए वर्शन में कोई समस्या आ रही है या यह क्रैश हो रहा है, तो कृपया बग की शिकायत करें और एम्युलेटर के डाउनलोड किए गए पुराने वर्शन के संग्रह से, पहले इस्तेमाल किया जा चुका वर्शन डाउनलोड करें.
इस अपडेट में ये सुधार और गड़बड़ियां ठीक की गई हैं:
- Windows पर यूनिकोड पाथ के लिए बेहतर सहायता
- एम्युलेटर के बंद होने को बेहतर तरीके से मैनेज किया गया, ताकि उसी AVD को फिर से लॉन्च किया जा सके.
- फ़ोल्ड किए जा सकने वाले AVD का अपडेट किया गया डिज़ाइन और डिफ़ॉल्ट सेटिंग
- Wear एम्युलेटर के बटन अपडेट किए गए
- gRPC ऑडियो स्ट्रीमिंग में सुधार
- रीसाइज़ किए जा सकने वाले एमुलेटर कंसोल कमांड को जोड़ा गया
- Chrome में 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 एम्युलेटर में, स्मार्टवॉच के बटन जोड़े गए हैं.
- VHAL टैब में, वाहन की सभी प्रॉपर्टी में बदलाव करने की सुविधा जोड़ी गई है.
- [बग ठीक किया गया] GmsCore के v21.42.18 वर्शन में, Google खाते की पुष्टि करने में समस्या आ रही थी.
- [बग ठीक किया गया] Netshaper, VirtioWifi के साथ ठीक से काम नहीं करता था.
- [बग ठीक किया गया] इवेंट माउस कंसोल कमांड काम नहीं कर रहा था.
- स्थानीय AVD बनाने के लिए, KVM की जांच करने की सुविधा जोड़ी गई.
31.1.3 (18 जनवरी, 2022)
इस अपडेट में ये सुधार और गड़बड़ियां ठीक की गई हैं:
- Fuchsia के लिए कंसोल पोर्ट चालू किए गए हैं.
- एक से ज़्यादा डिसप्ले वाली विंडो का साइज़ बदलते समय, ओरिएंटेशन को अनदेखा कर दिया जाता है.
- वाई-फ़ाई: MAT मैक पते के आधार पर यूनीकास्ट पैकेट को फ़िल्टर करने की सुविधा जोड़ी गई.
- वाई-फ़ाई: vmnet के इस्तेमाल के दौरान क्रैश होने की समस्या को ठीक किया गया.
30.9.5 (15 दिसंबर, 2021)
इस अपडेट में ये सुधार और गड़बड़ियां ठीक की गई हैं:
- डेस्कटॉप या टैबलेट के साइज़ वाली विंडो में आसानी से साइज़ बदलने की सुविधा जोड़ी गई है.
- साथ काम करने वाले होस्ट डिवाइसों से, मल्टी-टच इनपुट की सुविधा जोड़ी गई.
- VirtioWifi: टैप नेटवर्क के लिए सहायता जोड़ी गई.
- Wear की सिस्टम इमेज के लिए, रोटरी इनपुट की सुविधा चालू की गई है.
- gRPC ऑडियो कॉन्फ़िगरेशन से जुड़ी समस्या को ठीक किया गया.
- स्टैंडर्ड Android सेंसर के साथ काम करने के लिए, SensorReplay एमुलेटर प्लेबैक को अपडेट किया गया.
- यूएसबी पास-थ्रू की सुविधा का इस्तेमाल करके, एमुलेटर को यूएसबी की मदद से, सहायक डिवाइसों और डिवाइसों से कनेक्ट किया गया हो.
30.4.5 (23 फ़रवरी, 2021)
इस अपडेट में ये सुधार और गड़बड़ियां ठीक की गई हैं:
- macOS: ऑडियो इनपुट में गड़बड़ी से जुड़ी समस्याएं ठीक की गईं.
- उपयोगकर्ता स्पेस में virtio-vsock के लिए सहायता जोड़ी गई.
- आने वाले समय में, सिस्टम इमेज में logcat और कर्नेल मैसेज के लिए, virtio-console का इस्तेमाल किया जाएगा.
- Vulkan रेंडरिंग की स्पीड बढ़ाएं.
- जांच में गड़बड़ी होने पर, स्नैपशॉट डीबग करने की सुविधा जोड़ी गई.
- virtio-gpu: ब्लॉब रिसॉर्स की नई सूचियों के साथ काम करने के लिए, परिभाषाओं को अपडेट किया गया.
- '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 इम्युलेटर की मदद से Android 11 के लिए ऐप्लिकेशन बनाना ब्लॉग पोस्ट पढ़ें.अब हिंज सेंसर डिफ़ॉल्ट रूप से चालू है.
अगर फ़ोल्ड किए जा सकने वाले डिवाइस को कॉन्फ़िगर किया गया है, तो एमुलेटर अब मेहमान को हिंज ऐंगल सेंसर के अपडेट और पोज़िशन में हुए बदलावों की जानकारी भेजता है. टूलबार के फ़ोल्ड या अनफ़ोल्ड बटन दबाने पर, अब मौजूदा फ़ोल्ड किए जा सकने वाले डिवाइसों के हिंज सेंसर के ऐंगल और पोज़िशन अपडेट हो जाएंगी.
ARM64 होस्ट के लिए एम्युलेटर
Linux एमुलेटर का सोर्स कोड, अब x86_64 से arm64 होस्ट पर क्रॉस कंपाइल करने की सुविधा देता है. इससे, KVM वर्चुअलाइज़ेशन की मदद से arm64 सिस्टम इमेज को चलाया जा सकता है. फ़िलहाल, सिर्फ़
-gpu swiftshader_indirect
(Swiftshader arm64 होस्ट रेंडरिंग) का इस्तेमाल किया जा सकता है. हालांकि, होस्ट GPU libEGL/libGLESv2 लाइब्रेरी के साथ काम करने वाले सेट का भी इस्तेमाल किया जा सकता है. इसके लिए, lib64/gles_swiftshader को उनसे बदलें और फिर-gpu swiftshader_indirect
के साथ फिर से लॉन्च करें. हो सकता है कि स्नैपशॉट भी काम न कर रहे हों. इसके लिए, कमांड लाइन में-no-snapshot
जोड़ें. निर्देश:mkdir emu cd emu repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1 repo sync -qcj 12 cd external/qemu pip install absl-py pip install urlfetch sudo apt-get install crossbuild-essential-arm64 python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64
Apple Silicon के लिए सहायता उपलब्ध कराने की प्रोसेस जारी है.
virtio-gpu की सुविधा
- आने वाले समय में virtio-gpu होस्ट के लिए, कोहर्टेड ब्लॉब रिसॉर्स के इस्तेमाल की सुविधा जोड़ी गई है.
- एमुलेटर रेंडरिंग के काम करने के तरीके की वजह से, अब हम vcpu थ्रेड में virtio-gpu virtqueue को प्रोसेस करते हैं. ऐसा इसलिए है, क्योंकि रेंडरिंग को अन्य थ्रेड पर ऑफ़लोड किया जाता है. आने वाले समय में, सिस्टम इमेज और एमुलेटर के वर्शन में virtio-gpu रेंडरिंग की सुविधा चालू की जाएगी.
- आने वाले समय में, सिस्टम इमेज में एमुलेटर, वर्चुअल जीपीयू पर आधारित स्टैक की मदद से सभी ग्राफ़िक चला पाएगा.
अन्य नई सुविधाएं और सुधार
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>
का इस्तेमाल करके, Windows पर अब यूएसबी पासथ्रू की सुविधा उपलब्ध है. (यह सुविधा, Linux और macOS पर पहले से ही काम कर रही होनी चाहिए)- WebRTC लाइब्रेरी को M83 पर अपडेट किया गया.
- अब एमुलेटर, WebRTC के ज़रिए कंटेनर में ऑडियो स्ट्रीमिंग की सुविधा देता है.
- darwinn pipe एंडपॉइंट हटा दिया गया है.
- अगर CUDA VPx डिकोड करने की सुविधा हार्डवेयर में उपलब्ध है, तो वीडियो के लिए CUDA VPx डिकोड करने की सुविधा अब उपलब्ध है. इसके लिए, आपको एनवायरमेंट वैरिएबल
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
का इस्तेमाल करना होगा. - macOS पर, Android मेहमान ओएस में अब SSE 4.1 और 4.2 उपलब्ध हैं.
- macOS पर, INVTSC अब डिफ़ॉल्ट रूप से चालू है. इससे, मेहमान के बताए गए समय की सटीक जानकारी मिल सकती है.
- अब हम यह ट्रैक करते हैं कि मेट्रिक में उपयोगकर्ता ने कौनसा बड़ा कंट्रोल पैनल चुना था.
- Linux एमुलेटर अब KVM के पैरावर्चुअलाइज़्ड क्लॉक का इस्तेमाल करता है. ऐसा तब होता है, जब मेहमान कर्नेल का वर्शन 5.4 (R सिस्टम इमेज या उसके बाद का) या उससे ज़्यादा हो.
- एमुलेटर अब मेहमान कर्नेल को डिकंप्रेस करने के लिए LZ4 का इस्तेमाल करता है. इससे यह आधुनिक कर्नेल पाइपलाइन के साथ काम करता है.
Studio में एम्बेड किए गए इस्तेमाल के उदाहरण में, एमुलेटर AVD डायरेक्ट्री, डिस्कवरी फ़ाइल का पाथ, और स्नैपशॉट का पाथ पाने के लिए, कंसोल कमांड जोड़े गए हैं:
adb emu avd path # Obtains path to AVD directory adb emu avd discoverypath # Obtains path to discovery file adb emu avd snapshotspath # Obtains path to snapshots folder adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
वर्टिकल स्क्रीन स्पेस को आसानी से सेव करने के लिए, हमने एक्सटेंडेड कंट्रोल > सेटिंग में, मौजूदा AVD के लिए डिवाइस फ़्रेम को छिपाने का विकल्प जोड़ा है. हमने सभी AVD के लिए, डिवाइस फ़्रेम को दुनिया भर में छिपाने के लिए,
NoDeviceFrame
सुविधा फ़्लैग उपलब्ध कराया है. इसे चालू करने के लिए,-feature NoDevice
फ़्रेम के साथ कमांड लाइन से एमुलेटर लॉन्च करें. इसके अलावा, इसे लॉक करने के लिए,~/.android/advancedFeatures.ini
मेंNoDeviceFrame = on
जोड़ें. अगर यह फ़ाइल पहले से मौजूद नहीं है, तो इसे बनाएं.मोबाइल इंटरनेट पेज में एक ड्रॉप-डाउन आइटम जोड़ा गया है, ताकि डेटा इस्तेमाल करने की दर को कम करने की सुविधा को चालू और बंद किया जा सके. यह सुविधा, उन पुरानी सिस्टम इमेज के लिए काम नहीं करती जो 5G डेटा इस्तेमाल करने की दर को कम करने की सुविधा के टॉगल के साथ काम नहीं करती हैं.
- इसी मकसद के लिए, कंसोल कमांड भी जोड़ा गया है:
gsm meter on|off
- इसी मकसद के लिए, कंसोल कमांड भी जोड़ा गया है:
टूलचेन / बिल्ड को C++17 पर अपग्रेड किया गया.
ठीक किया गया: एम्बेड किया गया एम्युलेटर
- अब क्लिपबोर्ड काम करेगा.
- एमुलेटर में अपरकेस वर्णों को लोअरकेस वर्णों के तौर पर डिलीवर करने से जुड़ी समस्या को ठीक किया गया.
- Windows में यूनिकोड पाथ से कंसोल टोकन लोड करने की समस्या को ठीक किया गया.
- Linux पर
SO_REUSEPORT
गड़बड़ी का मैसेज ठीक किया गया. - gRPC के ज़रिए स्नैपशॉट के निर्देश भेजते समय, स्नैपशॉट के खराब होने की समस्या को ठीक किया गया. साथ ही, Android Studio के एम्बेड किए गए एमुलेटर में स्नैपशॉट सेव करने के बटन को दबाने पर भी, स्नैपशॉट के खराब होने की समस्या को ठीक किया गया.
Studio में एम्बेड किए गए Linux एमुलेटर का इस्तेमाल करते समय, हमें पता चला है कि अगर ऐसा Chrome Remote Desktop के ज़रिए किया जाता है, तो एक गड़बड़ी होती है. इस गड़बड़ी की वजह से
XDG_RUNTIME_DIR
सेट नहीं होता. साथ ही, हो सकता है कि एम्बेड किया गया एमुलेटर न दिखे. ऐसा इसलिए होता है, क्योंकि एमुलेटर डिस्कवरी फ़ाइलेंXDG_RUNTIME_DIR
में सेव होती हैं. Chrome के समस्या ट्रैकर में, उससे जुड़ी समस्या की स्थिति देखी जा सकती है.इस समस्या को हल करने के लिए, अब एमुलेटर, उपयोगकर्ता के यूआईडी:
/run/user/<uid>
के आधार पर बनी किसी दूसरी डायरेक्ट्री में डिस्कवरी फ़ाइलों का इस्तेमाल करता है.एम्बेड किया गया एमुलेटर: अब गोल कोनों/नॉच वाले डिवाइसों के लेआउट में, कोनों और नॉच के लिए जगह बनाने के लिए सही तरीके से बदलाव किया जाता है. इसके लिए, उन एमुलेटर को कोल्ड बूट करना ज़रूरी है.
gRPC एंडपॉइंट अब डिवाइस पर एसएमएस भेजने की सुविधा देता है.
सामान्य समस्याएं ठीक करना
- हमें पता चला है कि Riot Vanguard चालू होने पर, Windows इम्यूलेटर को चलाने में समस्याएं आ रही हैं. Windows एमुलेटर अब Vanguard के धोखाधड़ी रोकने वाले सिस्टम का पता लगाता है. साथ ही, Vanguard का पता चलने पर चेतावनी वाला मैसेज पॉप-अप करता है.
- Windows पर
FD_SETSIZE
गड़बड़ी को ठीक किया गया. अब हम लूपबैक सर्वर से नॉन-ब्लॉकिंग कनेक्शन बनाने के लिए,select()
के बजायWSAEventSelect()
का इस्तेमाल करते हैं. - Linux एमुलेटर में F16C CPUID सुविधा जोड़ी गई है. साथ ही, NDK ट्रांसलेशन की मदद से कुछ ARM64 ऐप्लिकेशन चलाने से जुड़ी समस्याओं को ठीक किया गया है. macOS/Windows के लिए, इस सुविधा को जोड़ने की प्रोसेस जारी है.
- टाइमस्टैंप के हिसाब से, gpx/kml रूट चलाने की सुविधा को ठीक किया गया.
- MacOs के लिए, लॉन्च होने पर बाउंस होने वाले आइकॉन की समस्या को ठीक किया गया.
- अगर
config.ini
मेंhw.audioInput=no
औरhw.audioOutput=no
को चुना गया है, तो एम्युलेटर का ऑडियो अब ठीक से बंद हो गया है. - एक समस्या को ठीक किया गया है. इसमें, एमुलेटर विंडो का साइज़ बदलने पर, एक्सटेंड किए गए कंट्रोल वाली विंडो दिखती रहती थी. ऐसा तब होता था, जब एक्सटेंड किए गए कंट्रोल वाली विंडो खुली होती थी, लेकिन चालू नहीं होती थी. हम आने वाले समय में, इस व्यवहार को पूरी तरह हटा देंगे.
- एम्युलेटर के शुरू होने पर, वाई-फ़ाई से कनेक्ट न होने की समस्या को ठीक किया गया है.
- जब एमुलेटर लंबे या अनलिमिटेड टाइम आउट के साथ शेल कमांड जारी करता है, तो ऐप्लिकेशन बंद होने पर लटकने की समस्या को ठीक किया गया.
-initrd
को भेजी गई बड़ी इमेज को बेहतर तरीके से इस्तेमाल करने के लिए, pc-bios को अपडेट किया गया है. इसमें गड़बड़ियों को ठीक किया गया है. इससे पहले के BIOS में, बहुत ही खराब तरीके का इस्तेमाल किया जाता था.-wifi-server-port
विकल्प का इस्तेमाल करने पर, प्रोसेस को बंद करने के दौरान क्रैश होने की समस्या को ठीक किया गया.- अगर
-prop
(सिर्फ़ qemu.* प्रॉपर्टी काम करती हैं) में काम न करने वाले विकल्प पास किए जाते हैं, तो सिम्युलेटर अब चेतावनी दिखाता है. - Windows पर एमुलेटर बनाते समय, फ़ाइलों में डेटा लिखने में आने वाली समस्याओं की संभावना कम हो जाती है. ज़्यादा जानकारी के लिए, Windows के लिए बने ऐप्लिकेशन के बाइल्ड के निर्देश देखें.
- फ़ोल्ड किए जा सकने वाले AVD के लिए, ज़ूम बटन बंद कर दिया गया है. इसकी वजह से समस्याएं आ रही थीं.
- अब एमुलेटर, डिवाइस के रीबूट होने के बाद बूट होने में लगने वाले समय की सही जानकारी देता है.
- Linux: अगर KVM की अनुमतियां काफ़ी नहीं हैं, तो अब एमुलेटर, डिबग करने के निर्देशों को तुरंत प्रिंट करता है.
- उस समस्या को ठीक किया गया है जिसकी वजह से, एमुलेटर बिना ऐक्सेलरेशन के हाल ही की सिस्टम इमेज को बूट नहीं कर पा रहा था.
- बूट पूरा होने का पता लगाने वाले डिटेक्टर से, मेमोरी में गड़बड़ी या शुरू होने पर क्रैश होने की समस्या को ठीक किया गया.
- लंबे समय तक स्क्रीन रिकॉर्डिंग करने पर, मेमोरी लीक होने की समस्या को ठीक किया गया.
- Studio 4.1 की ब्रैंडिंग दिखाने के लिए, एमुलेटर के आइकॉन अपडेट किए गए हैं.
- Windows पर रिमोट सेशन का पता लगाने के लिए बेहतर सहायता जोड़ी गई.
ठीक किए गए गड़बड़ियां: ग्राफ़िक और वीडियो डिकोड
- Asphalt 9 गेम के नए वर्शन को काली स्क्रीन पर रेंडर होने से जुड़ी समस्या को ठीक किया गया है.
NULL
की मदद से मैप किए गए बफ़र को फ़्लश करने के बारे में स्पैम हटाया गया.- मेहमान Vulkan ऐप्लिकेशन के बंद होने पर, Vulkan स्टेटस को हटाते समय होने वाली रेस कंडीशन को ठीक किया गया.
- Vulkan ASTC/ETC2 इम्यूलेशन शेडर अब libOpenglRender लाइब्रेरी में शामिल हैं. फ़ाइल सिस्टम से पढ़ने के मुकाबले, यह तरीका ज़्यादा भरोसेमंद होगा.
- Vulkan में एक समस्या को ठीक किया गया है. होस्ट पर Vulkan 1.0 इंस्टेंस के साथ चलाने पर,
vkGetImageMemoryRequirements2KHR
, रिटर्न किए गएVkMemoryRequirements2
स्ट्रक्चर केpNext
फ़ील्ड को गलत तरीके से मिटा देता था. - Vulkan रेंडरर में मेमोरी लीक की समस्या को ठीक किया गया.
- हाल ही में हुई एक समस्या को ठीक किया गया है. इसमें,
isampler2D
जैसे वैरिएबल नाम वाले GLSL ES 1.00 शेडर को कंपाइल नहीं किया जा सका. - ANGLE शेडर ट्रांसलेटर को अपडेट किया गया है. इसमें कई गड़बड़ियों को ठीक किया गया है. इनसे, Linux पर शेडर को कंपाइल करने में होने वाली संभावित गड़बड़ियों को ठीक किया जा सकता है.
- अगर बुनियादी फ़्रेमबफ़र ब्लिट शेडर को कॉम्पाइल नहीं किया जा सकता, तो हम अब एमुलेटर को क्रैश कर देते हैं, ताकि इस समस्या पर नज़र रखी जा सके.
- ANGLE शेडर ट्रांसलेटर को अपडेट किया गया, ताकि वह अपस्ट्रीम ANGLE के साथ काम कर सके. इससे, स्क्वेयर मैट्रिक्स का इस्तेमाल करने वाले OpenGL ES शेडर का अनुवाद करते समय और उन्हें कॉन्स्टेंट-फ़ोल्ड करते समय, मेमोरी में गड़बड़ी से जुड़ी समस्या ठीक हो गई है. शेडर ट्रांसलेटर अब एक अलग शेयर की गई लाइब्रेरी,
libshadertranslator.dll
है. - कुछ जीपीयू ड्राइवर पर, Vulkan को शुरू करने से जुड़ी समस्या को ठीक किया गया है. इस समस्या की वजह से, 1.1 डिवाइस फ़ंक्शन नहीं मिल रहे थे.
- Vulkan: हमने पहले से बने लोडर का इस्तेमाल फिर से शुरू कर दिया है. ऐसा इसलिए किया गया है, क्योंकि सिस्टम के Vulkan लोडर का इस्तेमाल करने से कुछ सेटअप में समस्याएं आ रही थीं. हम इस समस्या का बेहतर समाधान ढूंढ रहे हैं.
- Vulkan की बाहरी मेमोरी का इस्तेमाल करते समय आ रही समस्या को ठीक किया गया. इस समस्या की वजह से, होस्ट पर मेमोरी टाइप के इंडेक्स मेल नहीं खाते थे.
GL_ALIASED_POINT_SIZE_RANGE
के एमुलेटर में उस समस्या को ठीक किया गया है जहां होस्ट पर, सूची के तौर पर दिए गए वैल्यू का इस्तेमाल नहीं किया जा सकता था.GL_EXT_shader_framebuffer_fetch
से जुड़ी गड़बड़ियों की वजह से, कुछ होस्ट जीपीयू पर Skia शेडर को कॉम्पाइल नहीं किया जा सका. इस समस्या को ठीक कर दिया गया है.- D3D9 ANGLE रेंडरर की हमारी कॉपी को कुछ वर्शन पहले हटा दिया गया था. इसलिए, अब हम उन उपयोगकर्ताओं को अपने-आप d3d11 ANGLE पर स्विच कर देते हैं जो उस रेंडरर का इस्तेमाल कर रहे थे. ऐसा तब किया जाता है, जब यूज़र इंटरफ़ेस (यूआई) की प्राथमिकताओं में d3d11 ANGLE को चुना गया हो.
- गड़बड़ियों का पता लगाने के लिए, Windows पर WGL के शुरू होने की प्रोसेस में डीबग करने से जुड़ी ज़्यादा जानकारी जोड़ी गई है.
hw.gltransport=virtio-gpu-pipe
होने पर, होस्ट से मेहमान को ट्रांसफ़र करने के दौरान, होस्ट को स्पिन नहीं किया जाता. इससे परफ़ॉर्मेंस बेहतर होती है.- OpenGLES इम्यूलेशन शुरू न होने पर, डीबग लॉगिंग की सुविधा जोड़ी गई है.
- YouTube वीडियो के फ़्लिकर करने या स्नैपशॉट लोड होने पर न दिखने से जुड़ी समस्या को ठीक किया गया.
- फ़िलहाल, libvpx के लिए सॉफ़्टवेयर डिकोड पर वापस स्विच कर दिया गया है. ऐसा इसलिए किया गया है, क्योंकि हमें libvpx के CUDA हार्डवेयर डिकोड में समस्याएं मिली हैं. अगर होस्ट साइड पर CUDA हार्डवेयर डिकोड की सुविधा काम करती है, तो एनवायरमेंट वैरिएबल
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
की मदद से, libvpx के हार्डवेयर डिकोड को फिर से चालू किया जा सकता है.
30.0.10 (30 अप्रैल, 2020)
इस अपडेट में, Android Studio में सीधे तौर पर एमुलेटर चलाने और डिफ़ॉल्ट रूप से चालू फ़्रीफ़ॉर्म विंडो मोड वाले वर्चुअल डिवाइसों को चलाने की सुविधा शामिल है.
Android Studio में एमुलेटर चलाना
Android Emulator को अब सीधे Android Studio में चलाया जा सकता है. इस सुविधा का इस्तेमाल करके, स्क्रीन रीयल एस्टेट को बचाएं. साथ ही, हॉटकी का इस्तेमाल करके, एमुलेटर और एडिटर विंडो के बीच तुरंत नेविगेट करें. इसके अलावा, एक ही ऐप्लिकेशन विंडो में अपने IDE और एमुलेटर वर्कफ़्लो को व्यवस्थित करें.
फ़्रीफ़ॉर्म विंडो मोड
अब Android Studio में वर्चुअल डिवाइस बनाते समय, 13.5” फ़्रीफ़ॉर्म टैबलेट हार्डवेयर प्रोफ़ाइल चुनकर, ऐसा AVD बनाया जा सकता है जिसमें फ़्रीफ़ॉर्म विंडो मोड चालू हो. इस हार्डवेयर प्रोफ़ाइल के लिए, Android 11 Developer Preview 3 या उसके बाद के वर्शन वाली सिस्टम इमेज की ज़रूरत होती है.
पहले से मालूम समस्याएं
फ़्रीफ़ॉर्म विंडो का साइज़ बदलने की सुविधा फ़िलहाल काम नहीं कर रही है. इसकी वजह यह है कि विंडो मैनेजर पर फ़ोकस ट्रांसफ़र करने में समस्याएं आ रही हैं. इस समस्या को Android 11 के सिस्टम इमेज के आने वाले वर्शन में ठीक कर दिया जाएगा.
30.0.0 (19 फ़रवरी, 2020)
इस अपडेट में Android 11 (एपीआई लेवल 30) सिस्टम इमेज शामिल हैं. साथ ही, ARM बाइनरी चलाने पर बेहतर परफ़ॉर्मेंस मिलती है.
Android 11 की सिस्टम इमेज
अब आपके पास Android 11 चलाने वाला AVD बनाने का विकल्प है. इसके लिए, एपीआई लेवल 30 की उपलब्ध सिस्टम इमेज में से कोई एक चुनें:
- x86: इसमें x86 और ARMv7, दोनों एबीआई शामिल हैं.
- x86_64: इसमें x86, x86_64, ARMv7, और ARM64 एबीआई शामिल हैं.
Android 9 और 11 सिस्टम इमेज पर ARM बाइनरी के लिए सहायता
अगर आपका ऐप्लिकेशन ARM बाइनरी पर निर्भर था और इसलिए, पहले Android एमुलेटर का इस्तेमाल नहीं किया जा सका था, तो अब अपने ऐप्लिकेशन को चलाने के लिए, Android 9 x86 सिस्टम इमेज या Android 11 की किसी भी सिस्टम इमेज का इस्तेमाल किया जा सकता है. अब ARM बाइनरी चलाने के लिए, किसी खास सिस्टम इमेज को डाउनलोड करने की ज़रूरत नहीं है. Android 9 और Android 11 की ये सिस्टम इमेज, डिफ़ॉल्ट रूप से ARM पर काम करती हैं. साथ ही, पूरी तरह से ARM इम्यूलेशन की सुविधा वाले सिस्टम की तुलना में, इनकी परफ़ॉर्मेंस काफ़ी बेहतर होती है.
पहले से मालूम समस्याएं
- कुछ ARMv7 बाइनरी, Android 11 x86 और x86_64 सिस्टम इमेज पर नहीं चलती हैं. Android 11 को टारगेट करते समय, ARM64 के लिए ऐप्लिकेशन बनाएं.
29.0.11 (29 मई, 2019)
इस अपडेट में ये सुधार और गड़बड़ियां ठीक की गई हैं:
- Windows: एमुलेटर अब
libgcc
DLL पर निर्भर करता है, जिसे हमlibgcc
के साथ स्टैटिक तौर पर कॉम्पाइल करने के बजाय शिप करते हैं. - Linux: gRPC API में लॉगकैट की सुविधा जोड़ी गई. gRPC के बारे में ज़्यादा जानकारी के लिए, gRPC स्ट्रीमिंग एमुलेटर (Linux) देखें.
- एमुलेटर में अब 32-बिट x86 मेहमान (
qemu-system-i386
) के लिए हेडलेस बिल्ड शामिल है. इस सुविधा की मदद से, एपीआई लेवल 26 और उससे पहले के लेवल के लिए, हेडलेस बिल्ड के साथ x86 32-बिट इमेज चलाई जा सकती हैं. ध्यान दें कि एपीआई 27 और उसके बाद के वर्शन वाले 32-बिट x86 मेहमान के लिए, एमुलेटर 64-बिट इंजन (qemu-system-x86_64
) का इस्तेमाल करता है. ऐसा इसलिए है, क्योंकि इन सिस्टम इमेज में यूज़रस्पेस 32-बिट है, जबकि कर्नेल 64-बिट है. Android Studio, इम्यूलेशन इंजन चुनने के लिए कर्नेल का इस्तेमाल करता है. - अब
ANDROID_QT_LIB_PATH
एनवायरमेंट वैरिएबल का इस्तेमाल करके, कस्टम Qt लाइब्रेरी पाथ तय किए जा सकते हैं. - अगर QEMU1 के रन करने वाले (
emulator[64]-[x86|arm|etc]
) को एमुलेटर डायरेक्ट्री में रखा गया है, तो अब एमुलेटर को QEMU1 का इस्तेमाल करने वाली पिछली बाइनरी के साथ चलाया जा सकता है. - Windows: एक समस्या को ठीक किया गया है. इसकी वजह से, कभी-कभी "vCPU बंद करने का अनुरोध" मैसेज के साथ, एमुलेटर शुरू नहीं हो पाता था.
- Vulkan में, एमुलेट किए गए संपीड़ित टेक्सचर में, ग़ैर-ज़रूरी पाइपलाइन बैरियर से जुड़ी समस्या को ठीक किया गया.
- एक साथ कई हिस्सों में डेटा भेजने के लिए, एन्कोडिंग का इस्तेमाल करने पर, एचटीटीपी प्रॉक्सी अनुरोधों से जुड़ी गड़बड़ी को ठीक किया गया. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें.
29.0.9 (7 मई, 2019)
इस अपडेट में यह गड़बड़ी ठीक की गई है:
- Windows: एम्युलेटर पर वर्चुअल सीन कैमरा और वेबकैम काम न करने की समस्या को ठीक किया गया है.
29.0.8 (6 मई, 2019)
इस अपडेट में ये सुधार और गड़बड़ियां ठीक की गई हैं:
- एक से ज़्यादा वर्चुअल हार्डवेयर डिसप्ले के लिए सहायता जोड़ी गई है. ऐसा तब किया जाता है, जब हर डिसप्ले की गिनती करने और उसे सेट करने के लिए कोई मेहमान सेवा उपलब्ध हो. आने वाले समय में, इम्यूलेटर सिस्टम की इमेज के अपडेट में कई वर्चुअल हार्डवेयर डिसप्ले शामिल किए जाएंगे.
- कमांड-लाइन का एक नया विकल्प जोड़ा गया:
-delay-adb
. यह विकल्प, एडीबी पैकेट की प्रोसेसिंग को तब तक रोकता है, जब तक कि मेहमान डिवाइस को पूरी तरह से बूट नहीं कर लेता. इस विकल्प की मदद से, उन समस्याओं को हल किया जा सकता है जो किसी ऐसे सीआई एनवायरमेंट में एमुलेटर का इस्तेमाल करने पर हो सकती हैं जो एमुलेटर को रीबूट करता है और एक ही समय पर डीडीएमएस का इस्तेमाल करता है. - स्नैपशॉट लोड करते समय होने वाली उस गड़बड़ी को ठीक किया गया है जहां
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 डेवलपर समिट में किया गया था. पिछले रिलीज़ में, Project Marble में किए गए अन्य सुधारों के बारे में ज़्यादा जानने के लिए, Android एमुलेटर: Project Marble में किए गए सुधार लेख पढ़ें.
इस अपडेट के लिए, Project Marble में ज़्यादातर काम, इम्यूलेटर के संसाधनों के इस्तेमाल को कम करने के लिए किए गए थे. जैसे, इम्यूलेटर के सीपीयू के इस्तेमाल को कम करना, जब वह इस्तेमाल में न हो. हमने कुछ ऐसे बदलाव भी किए हैं जिनसे अलग-अलग तरह के एनवायरमेंट में, एमुलेटर के साथ काम करना आसान हो जाता है. साथ ही, हमने क्वालिटी से जुड़ी सामान्य समस्याओं को भी ठीक किया है.
यहां दिए गए सेक्शन में, Project Marble में हुए उन सुधारों के बारे में बताया गया है जो इस अपडेट में शामिल किए गए हैं:
होस्ट के ऑडियो व्यवहार में सुधार
28.0.3 वर्शन से, एम्युलेटर डिफ़ॉल्ट रूप से होस्ट से ऑडियो इनपुट को ब्लॉक करता है.
अगर आपको होस्ट के ऑडियो डेटा का इस्तेमाल करना है, तो ज़्यादा कंट्रोल > माइक्रोफ़ोन पर जाएं और वर्चुअल माइक्रोफ़ोन, होस्ट के ऑडियो इनपुट का इस्तेमाल करता है को चालू करें. जब भी एमुलेटर को फिर से शुरू किया जाता है, तो यह विकल्प अपने-आप बंद हो जाता है.
अगर कमांड लाइन का इस्तेमाल किया जा रहा है, तो -allow-host-audio
विकल्प का इस्तेमाल करके भी होस्ट ऑडियो को चालू किया जा सकता है. साथ ही, होस्ट ऑडियो डेटा को चालू या बंद करने के लिए, यहां दिए गए ADB निर्देशों का इस्तेमाल किया जा सकता है:
adb emu avd hostmicon
adb emu avd hostmicoff
हेडलेस एमुलेटर बिल्ड के लिए सुधार
28.0.25 वर्शन से, एमुलेटर में हेडलेस बिल्ड का विकल्प शामिल है. यह विकल्प, यूज़र इंटरफ़ेस (यूआई) के बिना काम कर सकता है. हेडलेस बिल्ड का इस्तेमाल करके, Docker और लगातार इंटिग्रेशन (सीआई) वर्कफ़्लो के लिए एमुलेटर सेट अप किया जा सकता है.
इस अपडेट में, हमने कुछ और सुधार किए हैं, ताकि एमुलेटर कम से कम डिपेंडेंसी के साथ चल सके. Linux पर, हेडलेस बिल्ड में अब pulseaudio
या libX11
लाइब्रेरी शामिल नहीं होती हैं. सिस्टम पर निर्भर रहने वाली शेयर की गई लाइब्रेरी, एम्युलेटर के साथ पैकेज नहीं की जाती हैं. अब इन लाइब्रेरी की संख्या कम हो गई है. ये लाइब्रेरी यहां दी गई हैं:
Linux-vdso.so.1
Libutil.so.1
Libm.so.6
Libdl.so.2
Librt.so.1
Libpthread.so.0
Libgcc_s.so.1
Libc.so.6
ld-linux-x86-64.so.2
Qt यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी को 5.12 LTS पर अपग्रेड किया गया
इस अपडेट में, Qt 5.12 LTS रिलीज़ से जुड़े ये सुधार शामिल हैं:
- कुछ सिस्टम इमेज शुरू करते समय, Qt के
libpng
डिकोडिंग में क्रैश होने से बचने के लिए, एमुलेटर अब PNG इमेज को डिकोड करने के लिए,libpng
की अपनी कॉपी का इस्तेमाल करता है. - Qt पर काम करने वाली कुछ लाइब्रेरी के काम न करने वाले वर्शन वाले कुछ Linux इंस्टॉल से जुड़ी समस्याओं को हल करने के लिए, अब हम एमुलेटर के साथ
libfreetype
,libsoftokn
,libsqlite3
, औरlibxkbcommon
को पैकेज करते हैं. - अब एमुलेटर, मॉनिटर के डाइमेंशन पाने के लिए, Qt लाइब्रेरी के बजाय प्लैटफ़ॉर्म की नेटिव विंडो लाइब्रेरी का इस्तेमाल करता है. Qt लाइब्रेरी से अविश्वसनीय नतीजे मिलते हैं.
कोल्ड बूट के बाद सीपीयू के अपने-आप ऑप्टिमाइज़ होने की सुविधा
सीपीयू के इस्तेमाल से जुड़ी समस्या को हल करने के लिए, एमुलेटर अब boot complete
सिग्नल मिलने के बाद, कोल्ड बूट पर ये एडीबी निर्देश चलाता है:
adb shell settings put screen_off_timeout 214783647
- यह कमांड, स्क्रीन बंद होने का टाइम आउट बढ़ाता है, ताकि एमुलेटर को चार्ज किए बिना बैटरी मोड में इस्तेमाल किया जा सके. बैटरी मोड में, बैकग्राउंड में सीपीयू (CPU) के इस्तेमाल में काफ़ी कमी आती है.
- AC चार्जिंग मोड में, ऐप्लिकेशन अपडेट जैसे GMSCore के बैकग्राउंड ऑपरेशन, डिवाइस के सभी सीपीयू कोर और उपयोगकर्ता की मशीन को बिना किसी चेतावनी के कंट्रोल कर सकते हैं.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
- यह निर्देश, Google Search ऐप्लिकेशन के लिए माइक्रोफ़ोन की अनुमतियां रद्द कर देता है. इससे, Google Search ऐप्लिकेशन के चालू होने पर, होम स्क्रीन और लॉन्चर में बैकग्राउंड सीपीयू के इस्तेमाल में काफ़ी कमी आती है.
- यह निर्देश, होस्ट के लिए एमुलेटर के डिफ़ॉल्ट व्यवहार के अलावा, होस्ट ऑडियो बंद करने के लिए भी चलाया जाता है. इसके अलावा, यह 28.0.23 रिलीज़ से, हॉटवर्ड का पता लगाने के लिए बताए गए सीपीयू के इस्तेमाल को कम करने की सुविधा को अपने-आप उपलब्ध कराता है.
परफ़ॉर्मेंस मॉनिटर करने के लिए नए एनवायरमेंट वैरिएबल
अब दो नए एनवायरमेंट वैरिएबल का इस्तेमाल करके, एमुलेटर की परफ़ॉर्मेंस और संसाधन के इस्तेमाल की पूरी जानकारी देखी जा सकती है.
SHOW_PERF_STATS=1
- यह एनवायरमेंट वैरिएबल, सीपीयू और रैम, दोनों के इस्तेमाल को ट्रैक करने की सुविधा देता है. रैम के इस्तेमाल को ट्रैक करने से, ग्राफ़िक्स के इस्तेमाल और कुल मेमोरी के बीच का अंतर पता चलता है.
ANDROID_EMU_TRACING=1
- यह एनवायरमेंट वैरिएबल, हर बार प्रिंट करने की सुविधा चालू करता है, जब किसी इनपुट या ग्राफ़िक्स ऑपरेशन में ज़्यादा समय (1 मिलीसेकंड से ज़्यादा) लगता है.
- हम इस एनवायरमेंट वैरिएबल का इस्तेमाल, उन समस्याओं का पता लगाने के लिए भी कर रहे हैं जो Windows के उपयोगकर्ताओं को macOS या Linux के उपयोगकर्ताओं की तुलना में ज़्यादा झटके (फ़्रेम गिरना) के साथ आती हैं.
Project Marble में किए गए सामान्य सुधार
इस अपडेट में, Project Marble के तहत किए गए ये सामान्य सुधार भी शामिल हैं:
- अब इन कंसोल निर्देशों की मदद से, इम्यूलेटर पर सभी vCPU को तुरंत रोका जा सकता है:
adb emu avd pause
adb emu avd resume
- OpenGL ड्रॉइंग के ओवरहेड में काफ़ी कमी आई. इस सुधार से, ऐनिमेशन चलाने के दौरान सीपीयू का इस्तेमाल कम होता है.
- मुख्य QEMU के e1000 वर्चुअल नेटवर्क डिवाइस के लिए, सहायता को फिर से चालू किया गया. ब्रिज किए गए नेटवर्क एनवायरमेंट में एमुलेटर सेट अप करने के लिए, इस डिवाइस का इस्तेमाल किया जा सकता है. ब्रिज किए गए नेटवर्क एनवायरमेंट में, होस्ट नेटवर्क पर एमुलेटर दिखता है और एमुलेटर पर होस्ट नेटवर्क दिखता है.
- एम्युलेटर को शुरू करने के लिए, अब QEMU 2.12 के हिसाब से बने BIOS बाइनरी का इस्तेमाल किया जाता है.
- वीडियो एन्कोडिंग और डिकोडिंग के लिए,
ffmpeg
वर्शन को 3.4.5 पर अपग्रेड किया गया. select()
पर आधारित मुख्य लूप कोkqueue
पर आधारित मुख्य लूप से बदलकर, macOS पर QEMU के मुख्य लूप के I/O के ओवरहेड को काफ़ी कम किया गया.- Logcat बफ़र का साइज़ बढ़ाकर 2 एमबी किया गया है, ताकि इम्यूलेटर के साथ Logcat चलाते समय, अचानक ईओएफ़ (फ़ाइल का आखिरी हिस्सा) मिलने से जुड़ी समस्याओं को हल किया जा सके.
- अब एमुलेटर,
LC_ALL=C
एनवायरमेंट वैरिएबल को डिफ़ॉल्ट रूप से एक्सपोर्ट करता है. इस बदलाव से, अलग-अलग भाषाओं में इम्यूलेटर चलाने से जुड़ी क्रैश और काम न करने की समस्याएं हल हो जाती हैं. - अब परफ़ॉर्मेंस के आंकड़ों का इस्तेमाल करके, इम्यूलेटर के सीपीयू और रैम के इस्तेमाल को ट्रैक किया जा सकता है. इन आंकड़ों को बेहतर कंट्रोल > सेटिंग > ऐडवांस > परफ़ॉर्मेंस के आंकड़े पर जाकर ऐक्सेस किया जा सकता है. अगर एमुलेटर काफ़ी सीपीयू या रैम का इस्तेमाल कर रहा है, तो इन आंकड़ों का इस्तेमाल करके समस्याओं का तुरंत पता लगाएं.
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE
अब एमुलेट किए गए GPU के बजाय, होस्ट GPU के नतीजे का इस्तेमाल करता है. इस बदलाव से, उन समस्याओं को ठीक करने में मदद मिलती है जिनमें इमेज और ऐसेट, रीडबैक के लिए गलत फ़ॉर्मैट की वजह से नहीं दिखती हैं.- अगर होस्ट पर OpenGL ES एक्सटेंशन
GL_EXT_texture_format_BGRA8888
औरGL_APPLE_texture_format_BGRA8888
काम करते हैं, तो इन एक्सटेंशन के लिए सहायता जोड़ी गई है. - गड़बड़ी की शिकायत वाले यूज़र इंटरफ़ेस (यूआई) में, गड़बड़ी की जानकारी से जुड़ी ज़्यादा जानकारी जोड़ी गई है. इसके अलावा, इन निर्देशों का इस्तेमाल करके कंसोल से गड़बड़ी की रिपोर्ट ऐक्सेस की जा सकती हैं:
telnet localhost 5554
avd bugreport
- Android Q सिस्टम इमेज पर, एमुलेटर की रैम का कम से कम साइज़ 2 जीबी हो जाता है.
- जब OpenGL या Hypervisor शुरू नहीं हो पाता, तब ज़्यादा लॉगिंग और प्रिंटिंग जोड़ी गई.
- अगर एमुलेटर, किसी AVD के एक साथ कई
-read-only
इंस्टेंस शुरू नहीं कर पाता है, तो एमुलेटर अब तीन सेकंड में-read-only
AVD को तीन बार फिर से लॉन्च करने की कोशिश करता है. इस बदलाव से, इस बात की संभावना बढ़ जाती है कि एमुलेटर एक साथ-read-only
AVD इंस्टेंस लॉन्च कर पाएगा. हालांकि, ऐसा तब ही होगा, जब उस AVD के उन इंस्टेंस में पुरानी फ़ाइलों को साफ़ न किया गया हो जिनमें डेटा लिखा जा सकता है. - आने वाले समय में रिलीज़ होने वाली सिस्टम इमेज के लिए, एम्युलेटर अब Hardware Composer 2.0 के साथ काम करता है. इस बदलाव से, ज़्यादातर ऐनिमेशन चलाने पर ड्राइवर के ओवरहेड में कमी आएगी.
- अब एमुलेटर का बिल्ड, CMake/Ninja पर आधारित है.
- एमुलेटर के एक्सटेंडेड कंट्रोल यूज़र इंटरफ़ेस (यूआई) में, कीबोर्ड शॉर्टकट टेबल में डिवाइडर लाइनें वापस लाई गई हैं.
- उपयोगकर्ता अब 10 सेकंड के इंटरवल में, सीपीयू और रैम के इस्तेमाल की मेट्रिक देने के लिए ऑप्ट-इन कर सकते हैं. हम इन मेट्रिक का इस्तेमाल, उपयोगकर्ताओं के अलग-अलग इस्तेमाल के उदाहरणों के साथ, एमुलेटर के संसाधनों के इस्तेमाल के बारे में अपने डेटा को बेहतर बनाने के लिए करते हैं. इससे, हम एमुलेटर को ज़्यादा असरदार और रिस्पॉन्सिव बना पाते हैं.
Project Marble से जुड़ी सामान्य समस्याओं को ठीक करना
इस अपडेट में, Project Marble इनिशिएटिव के तहत ये सामान्य सुधार भी शामिल हैं:
- Android Q सिस्टम इमेज का इस्तेमाल करते समय, Intel जीपीयू वाले सिस्टम पर दिखने वाली फ़्रेम की झिलमिलाहट और गलत फ़्रेम से जुड़ी समस्याएं ठीक की गई हैं.
- Pixel 2 XL की स्किन (या किसी भी ऐसी स्किन जिसमें नॉच या गोल कोने हों) के साथ Android Q की सिस्टम इमेज इस्तेमाल करने पर, काली स्क्रीन दिखने की समस्याएं ठीक की गई हैं.
-partition-size
कमांड-लाइन विकल्प से, डेटा पार्टीशन का साइज़ सेट न हो पाने की समस्या को ठीक किया गया है.- एक समस्या को ठीक किया गया है. इस समस्या की वजह से, Linx एमुलेटर पर pulseaudio कुछ मामलों में पूरी सीपीयू कोर का इस्तेमाल करता था.
- संपीड़ित टेक्सचर को प्रोसेस करते समय, मेमोरी के ऐक्सेस से जुड़ी समस्याएं ठीक की गईं.
glTexSubImage2D
में होस्ट पर हुई GL गड़बड़ियों को ठीक किया गया. ये गड़बड़ियां, कुछ खास gralloc बफ़र (RGB 565, RGB10A2, RGB(A)16F फ़ॉर्मैट के साथ) को अपडेट करते समय हुई थीं.- Android Q सिस्टम इमेज में स्नैपशॉट की डिसप्ले से जुड़ी समस्या को ठीक किया गया है. इसमें सूचना शेड की ज्यामिति को गलत इंस्टेंस डिवाइडर सेटिंग के साथ रेंडर किया गया था.
- लॉन्च के दौरान क्रैश और फ़्रीज़ होने से जुड़ी कुछ समस्याओं को ठीक किया गया है. ये समस्याएं, Qt के सिग्नल बंद होने या स्टार्टअप के दौरान अनियमित और गड़बड़ियों वाली स्थितियों की वजह से होती हैं.
- एक साथ कई टास्क करने से जुड़ी कई समस्याएं ठीक की गईं. अब हम ThreadSanitizer (TSAN) की मदद से, Linux एमुलेटर बना सकते हैं. इससे उन गड़बड़ियों का आसानी से पता चल सकता है जिन्हें आम तौर पर दोहराना मुश्किल होता है.
- Linux इस्तेमाल करने वालों के लिए: हमें पता चला है कि कुछ होस्ट कर्नेल पर, मेहमान Android कर्नेल में गड़बड़ी हो सकती है और वह सामान्य हार्डवेयर गड़बड़ी की वजह से, KVM से बाहर निकल सकता है. जब ऐसा होगा, तो डिबग करने की सुविधा को बेहतर बनाने के लिए, एम्युलेटर अब
abort()
करेगा. इससे पहले, एम्युलेटर सिर्फ़ हंग हो जाता था. - Linux इस्तेमाल करने वालों के लिए: सीआई सेटअप करने में आसानी के लिए,
stdout
औरstderr
, दोनों को किसी फ़ाइल पर रीडायरेक्ट करने के लिए,-stdouterr-file <file-name>
कमांड लाइन के नए विकल्प का इस्तेमाल किया जा सकता है. SO_REUSEADDR
के गलत इस्तेमाल से जुड़ी समस्या को ठीक किया गया. ज़्यादा जानकारी के लिए, कमिट की जानकारी देखें.- Windows एमुलेटर से जुड़ी एक पुरानी समस्या को ठीक किया गया है. इस समस्या की वजह से, उपयोगकर्ता नाम में स्पेस होने पर, ADB कमांड जैसी सब-प्रोसेस शुरू नहीं हो पाती थीं.
- HAXM vCPU थ्रेड में आरसीयू को शुरू न करने से जुड़ी समस्या को ठीक किया गया. इस सुधार से, कुछ क्रैश और रेस की स्थितियों को ठीक किया जा सकता है.
- 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.0 के लिए Android Q Beta 2) और काम करने वाले होस्ट जीपीयू (इसमें 2014 और उसके बाद के ज़्यादातर Intel, NVIDIA, और AMD जीपीयू शामिल हैं) का इस्तेमाल करें.
Vulkan की सुविधा चालू करने के लिए, आपको अपनी ~/.android/advancedFeatures.ini
फ़ाइल में ये सुविधा फ़्लैग जोड़ने होंगे. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं:
Vulkan = on
GLDirectMem = on
आरओएम डेवलपर के लिए शुरुआती सहायता
AOSP master
ब्रांच पर sdk_phone_x86
या sdk_phone_x86_64
(userdebug
, eng
वैरिएंट) टारगेट बनाने वाले ROM डेवलपर, अब Vulkan की सुविधा वाले एमुलेटर को चला सकते हैं.
यह सुविधा अब भी एक्सपेरिमेंट के तौर पर उपलब्ध है. यह मुख्य रूप से उन डेवलपर के लिए है जो सिस्टम इमेज, ड्राइवर, और गेम इंजन पर काम करते हैं. हालांकि, कई एक्सटेंशन अब भी मौजूद नहीं हैं.
हालांकि, HOST_COHERENT
मेमोरी का इस्तेमाल किया जा सकता है. साथ ही, अब आपके पास Vulkan API ट्यूटोरियल सैंपल को चलाने का विकल्प है.
अगर Linux का इस्तेमाल किया जा रहा है, तो नीचे दिए गए निर्देशों का इस्तेमाल करके इसे आज़माएं:
mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -c -j12
. build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j12
emulator -no-snapshot -feature Vulkan,GLDirectMem
Vulkan के साथ Skia रेंडरिंग
Vulkan के साथ काम करने वाले NVIDIA और AMD जीपीयू, GL_EXT_memory_objects
एक्सटेंशन की मदद से, OpenGL के साथ भी जीरो-कॉपी इंटरऑपरेबिलिटी की सुविधा देते हैं. एमुलेटर इस सुविधा का फ़ायदा उठाकर, Skia Vulkan API का इस्तेमाल करके Android यूज़र इंटरफ़ेस (यूआई) को रेंडर करने का पूरा तरीका उपलब्ध कराता है.
अगर आपके पास Vulkan के साथ काम करने वाला NVIDIA या AMD जीपीयू है, तो काम करने वाली सिस्टम इमेज (Android Q बीटा 3 और उसके बाद के वर्शन) के साथ Skia रेंडरिंग की जांच करने के लिए, नीचे दिए गए कमांड का इस्तेमाल करें:
adb shell
su
setprop debug.hwui.renderer skiavk
stop
start
macOS पर Vulkan की सुविधा
macOS के लिए, यह सुविधा अभी एक्सपेरिमेंट के तौर पर उपलब्ध है. हालांकि, एम्युलेटर में पहले से ही Swiftshader, MoltenVK, और libportability (gfx-rs) एपीआई शामिल हैं. इन एपीआई के साथ एक्सपेरिमेंट करने के लिए, नीचे दिए गए एनवायरमेंट वैरिएबल सेट करें:
- Swiftshader:
ANDROID_EMU_VK_ICD=swiftshader
- MoltenVK:
ANDROID_EMU_VK_ICD=moltenvk
- libportability:
ANDROID_EMU_VK_ICD=portability
पहले से मालूम समस्याएं
HAXM कभी-कभी, मेहमान के लिए Vulkan कोऑर्डिनेटेड मेमोरी को मैप नहीं कर पाता और एमुलेटर को बंद कर देता है. इस समस्या को HAXM के आने वाले अपडेट में ठीक कर दिया जाएगा.
gRPC स्ट्रीमिंग एम्युलेटर (Linux)
हम हमेशा एमुलेटर को ज़्यादा से ज़्यादा काम का बनाने की कोशिश करते हैं. इसके लिए, हम होस्ट जीपीयू रेंडरिंग और इंटरैक्टिविटी की सुविधा देते हैं, ताकि एमुलेटर में कई तरह के कॉन्टेक्स्ट में काम किया जा सके. हमारे सीआई और रिमोट डेस्कटॉप के उपयोगकर्ताओं को ये समस्याएं लंबे समय से आ रही हैं:
- प्रोग्राम के ज़रिए एमुलेटर को इनपुट निर्देश भेजने के लिए, adb शेल निर्देश चलाए जाते हैं. इन निर्देशों को चलाने में ज़्यादा समय लग सकता है. इसके अलावा, तेज़ी से काम करने वाले telnet कंसोल का इस्तेमाल भी किया जा सकता है. हालांकि, हो सकता है कि यह कुछ नेटवर्क कॉन्फ़िगरेशन के साथ काम न करे.
- सीआई के उपयोगकर्ता अक्सर हेडलेस मोड में एमुलेटर चलाते हैं. इससे उन समस्याओं का पता लगाना मुश्किल हो सकता है जिनके लिए स्क्रीन दिखना या इंटरैक्टिव होना ज़रूरी है.
- रिमोट डेस्कटॉप के उपयोगकर्ता, होस्ट के जीपीयू रेंडरिंग का इस्तेमाल करते समय, अक्सर एमुलेटर के साथ इंटरैक्ट नहीं कर पाते. इसकी वजह यह है कि जीपीयू रेंडरिंग, अक्सर होस्ट के नॉन-वर्चुअल डिसप्ले से जुड़ी होती है.
इस समस्या को हल करने के लिए, एम्युलेटर अब 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 जीपीयू पर फ़्रेम के झटके और गलत डिसप्ले की समस्या को ठीक किया गया.
- Pixel 2 XL की स्किन के साथ Android Q की सिस्टम इमेज इस्तेमाल करने पर, काली स्क्रीन दिखने की समस्याएं ठीक की गई हैं.
- अब एमुलेटर को शुरू करने के लिए, BIOS की नई बाइनरी का इस्तेमाल किया जाता है. इस बदलाव से, "vCPU बंद करने का अनुरोध" वाली गड़बड़ियां कम हो सकती हैं. ये गड़बड़ियां, Windows पर इम्यूलेटर लॉन्च करते समय कभी-कभी होती हैं.
- "Android Q सिस्टम इमेज को स्नैपशॉट से फिर से शुरू करने पर गलत डिसप्ले" समस्या को ठीक करने के लिए, बैकपोर्ट किया गया.
- platform-tools 28.0.2 में ADB में किए गए बदलाव की वजह से, उपयोगकर्ताओं को "अनुमति के बिना" एमुलेटर इस्तेमाल करने से जुड़ी समस्याएं आ रही थीं. अब एम्युलेटर के साथ, platform-tools 28.0.2 से ADB का इस्तेमाल सुरक्षित तरीके से किया जा सकता है. अगर आपको "अनुमति नहीं" वाले एमुलेटर से जुड़ी समस्याएं आ रही हैं, तो उन्हें हल करने के लिए यह तरीका अपनाएं:
- सभी एमुलेटर से बाहर निकलें.
~/.android/adbkey
और~/.android/adbkey.pub
, दोनों फ़ाइलें मिटाएं.- यह कमांड चलाएं:
adb kill-server
- यह कमांड चलाएं:
adb devices
- AVD का डेटा मिटाएं.
- एम्युलेटर को फिर से लॉन्च करें.
28.0.23 (29 जनवरी, 2019)
इस अपडेट में ये सुधार और गड़बड़ियां ठीक की गई हैं:
होस्ट का ऑडियो इनपुट डिफ़ॉल्ट रूप से बंद होता है
Reddit पर हाल ही में पोस्ट की गई एक पोस्ट में बताया गया है कि मेहमान के तौर पर इस्तेमाल किया जा रहा Android OS, होस्ट के माइक्रोफ़ोन के ऑडियो का हमेशा इस्तेमाल कैसे करता है. इससे "Ok Google" अचानक से काम कर सकता है. हमें इसकी वजह से अफ़सोस है. हम Android टीम के साथ मिलकर यह पक्का करेंगे कि सिस्टम इमेज में भी, बोले गए शब्दों को पहचानने की सुविधा बंद हो.
इस समस्या को हल करने के लिए, हमने ये बदलाव किए हैं:
- होस्ट का असल ऑडियो डेटा अब डिफ़ॉल्ट रूप से कम कर दिया जाता है. जब मेहमान माइक्रोफ़ोन का इस्तेमाल करता है, तो होस्ट के ऑडियो के बजाय, खाली समय का ऑडियो चलता है.
- अगर आपको होस्ट के ऑडियो डेटा का इस्तेमाल करना है, तो अब यह विकल्प चालू किया जा सकता है. इसके लिए, ज़्यादा कंट्रोल > माइक्रोफ़ोन पर जाएं और वर्चुअल माइक्रोफ़ोन, होस्ट के ऑडियो इनपुट का इस्तेमाल करता है को चालू करें. जब भी एमुलेटर को फिर से चालू किया जाता है, तो यह विकल्प अपने-आप बंद हो जाता है.
सीपीयू के इस्तेमाल की जांच के बारे में अपडेट
Project Marble की जांच के दौरान, हमें पता चला है कि आम तौर पर, इम्यूलेटर पर सीपीयू का ज़्यादा इस्तेमाल इन तीन कैटगरी में होता है:
इंतज़ार के दौरान: Play Store की इमेज में ऐप्लिकेशन अपने-आप अपडेट होना
हमें पता चला है कि इंस्टॉल किए गए सभी ऐप्लिकेशन, अलग-अलग समय पर अपडेट हो जाते हैं. ऐसा तब भी होता है, जब उपयोगकर्ता ने लॉग इन न किया हो. इस प्रोसेस के दौरान, GMSCore और dex2oat में सीपीयू का इस्तेमाल, कोर की संख्या x 100% (आम तौर पर ~400%) तक होता है. Play Store ऐप्लिकेशन में, ऐप्लिकेशन के अपने-आप अपडेट होने की सुविधा बंद करके, इस समस्या को कम किया जा सकता है.
डिवाइस के बंद होने पर: हॉटवर्ड डिटेक्शन
होम स्क्रीन पर और किसी ऐप्लिकेशन के फ़ोरग्राउंड में न होने पर, सीपीयू का ज़्यादा इस्तेमाल हो सकता है. यह इस्तेमाल 25% से 50% तक हो सकता है. ऐसा हॉटवर्ड डिटेक्शन की वजह से होता है, जो होस्ट को लगातार पिंग करता रहता है. होस्ट के ऑडियो इनपुट को बंद करके, इस समस्या को कम नहीं किया जा सकता. ऐसा इसलिए है, क्योंकि सीपीयू खर्च होने की मुख्य वजह यह है कि होस्ट से मेहमान तक ऑडियो पहुंचने में कितना समय लगता है. हालांकि, Google ऐप्लिकेशन से माइक्रोफ़ोन की अनुमतियां वापस लेकर, इस समस्या को कम किया जा सकता है.
ऐप्लिकेशन के चालू होने पर, कभी-कभी इस्तेमाल न होने पर: ऐनिमेशन
सीपीयू का ज़्यादा इस्तेमाल होने की तीसरी वजह ऐनिमेशन हैं. हमें पता चला है कि ग्राफ़िक ड्राइवर स्टैक को ऑप्टिमाइज़ करके, सीपीयू के इस्तेमाल को कम किया जा सकता है. भले ही, इम्यूलेटर काम में न हो. हम Project Marble के तहत, ग्राफ़िक्स ड्राइवर को धीरे-धीरे ऑप्टिमाइज़ करने की सुविधा रोल आउट करेंगे.
28.0.22 (21 दिसंबर, 2018)
इस अपडेट में ये सुधार और गड़बड़ियां ठीक की गई हैं:
- एक पुरानी समस्या को ठीक किया गया है. इसमें कुछ सेटिंग में, क्विकबूट सेव करने पर Mac एमुलेटर रीबूट हो जाता था या कर्नेल पैनिक हो जाता था. (समस्या 120951634)
- रैम स्नैपशॉट के तौर पर मैप की गई फ़ाइल का इस्तेमाल करने पर, एमुलेटर अब बाहर निकलने पर फ़ाइल मैपिंग को साफ़ तौर पर अनमैप कर देता है.
28.0.20 (11 दिसंबर, 2018)
इस अपडेट में ये सुधार और गड़बड़ियां ठीक की गई हैं:
- Windows पर एक समस्या को ठीक किया गया है. इसकी वजह से, Intel जीपीयू के कुछ मॉडल के साथ स्नैपशॉट लोड होने पर, एमुलेटर फ़्रीज़ हो जाता था.
- उस समस्या को ठीक किया गया है जिसकी वजह से
unauthorized
डिवाइस की ADB स्थिति, स्टैंडर्डANDROID_SDK_HOME
जगह का इस्तेमाल करने पर गलत दिखती थी. - Windows पर एक समस्या को ठीक किया गया है. इसकी वजह से, सीपीयू एक्सेलरेशन की सुविधा बंद होने पर, सिस्टम इमेज को बूट करते समय, एमुलेटर क्रैश हो जाता था.
- एमुलेटर के डिसप्ले पर पिक्सल वाली इमेज दिखने की समस्या को ठीक किया गया. अब डाउनसैंपलिंग की सुविधा काम करनी चाहिए.
- macOS 10.14 और इसके बाद के वर्शन पर, एक समस्या को ठीक किया गया है. इस समस्या की वजह से, वर्चुअल सीन कैमरे के माउसलूक कंट्रोल को ऐक्सेस करने में बहुत ज़्यादा संवेदनशीलता आ सकती थी. ऐसा, सुलभता से जुड़ी नई सुरक्षा सेटिंग के साथ इंटरैक्ट करने की वजह से होता था.
- टाइमज़ोन के हिसाब से समय का हिसाब लगाने में हुई एक गड़बड़ी को ठीक किया गया है. इसकी वजह से, इम्यूलेटर की घड़ी का समय कभी-कभी बदल सकता था.
- cocos2d और Unreal इंजन के कई ऐप्लिकेशन में रेंडरिंग से जुड़ी गड़बड़ियां ठीक की गईं.
- वाई-फ़ाई पीयर-टू-पीयर के लिए, एमुलेटर में सहायता जोड़ी गई.
अगर Pie के Play Store की नई इमेज का इस्तेमाल किया जा रहा है, तो दो एमुलेटर अब सीधे वाई-फ़ाई से एक-दूसरे से बात कर सकते हैं. वाई-फ़ाई पीयर-टू-पीयर का इस्तेमाल करने के लिए, एक ही
-wifi-server-port
और-wifi-client-port
आर्ग्युमेंट के साथ दो AVD शुरू करें:emulator @<server-avd-name> -wifi-server-port 9999
emulator @<client-avd-name>-wifi-client-port 9999
- Windows पर ज़्यादा वेबकैम इस्तेमाल करने की सुविधा जोड़ी गई है. इसके लिए, वेबकैम के ऐसे फ़्रेम साइज़ का इस्तेमाल किया जाता है जो काम न करते हों. साथ ही, Android मेहमान में कैमरे की सेटिंग के हिसाब से, फ़्रेम साइज़ को डाइनैमिक तौर पर बदला जाता है.
28.0.16 (नवंबर 2018)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.
संसाधन का उपयोग
अब एमुलेटर कम रैम का इस्तेमाल करता है. खास तौर पर, एपीआई लेवल 28 या उससे ज़्यादा वाले सिस्टम इमेज का इस्तेमाल करते समय. इन सिस्टम इमेज में, मेहमान-साइड के ग्राफ़िक ड्राइवर के लिए, मेमोरी के इस्तेमाल को बेहतर बनाया गया है.
इसके अलावा, हमने इन क्षेत्रों में भी संसाधनों के इस्तेमाल को बेहतर बनाया है:
- लंबे समय तक चलने वाले टेस्ट के दौरान, एम्युलेटर की मेमोरी का इस्तेमाल कम हो गया. अगर आपको अब भी लंबे समय तक चलने वाले टेस्ट के दौरान, मेमोरी के इस्तेमाल से जुड़ी समस्याएं आ रही हैं, तो कृपया समस्या ट्रैकर में एक समस्या बनाएं. इसमें, अपने इस्तेमाल के उदाहरण के बारे में बताएं.
- ऐनिमेशन वाले ऐप्लिकेशन चलाते समय, सीपीयू का इस्तेमाल कम होता है.
- Windows पर QEMU AIO कॉन्टेक्स्ट लीक होने की समस्या को ठीक किया गया है.
एक ही AVD के कई इंस्टेंस एक साथ चलाना
अब एक ही AVD के कई इंस्टेंस लॉन्च किए जा सकते हैं और उन्हें एक साथ चलाया जा सकता है. पहले इंस्टेंस के बाद लॉन्च किए गए इंस्टेंस, रीड-ओनली मोड में होते हैं. साथ ही, मेहमान वर्चुअल डिस्क में किए गए बदलाव, बाहर निकलने पर खारिज कर दिए जाते हैं.
एक ही AVD के कई इंस्टेंस एक साथ चलाने के लिए, -read-only
फ़्लैग का इस्तेमाल करके, कमांड लाइन से पहले इंस्टेंस के बाद कोई भी इंस्टेंस लॉन्च करें.
यह सुविधा, Android इमेज के लिखे जा सकने वाले हिस्सों से जुड़ी QCOW2 फ़ाइलों को कॉपी करके उपलब्ध कराई जाती है. डिस्क का स्टोरेज मैनेज करने में आपकी मदद करने के लिए, हमने qemu-img
कमांड-लाइन टूल को भी बंडल किया है. इससे, एक से ज़्यादा इंस्टेंस लॉन्च करने से पहले, QCOW2 फ़ाइलों को पहले से कमिट किया जा सकता है.
इसके अलावा, फ़ाइल से बैक अप लिए गए मेहमान रैम स्नैपशॉट सुविधा के साथ इस्तेमाल करने पर, कई AVD इंस्टेंस, लिखते समय कॉपी होने वाले मेहमान रैम के सामान्य सोर्स के तौर पर, मुख्य AVD क्विकबूट स्नैपशॉट शेयर करते हैं. इस प्रॉपर्टी का मतलब है कि इंस्टेंस, अपनी ज़्यादातर रैम को एक साथ शेयर करते हैं. इस सुविधा का इस्तेमाल करके, ऐसे टेस्ट चलाएं जिनके लिए एक साथ कई डिवाइसों की ज़रूरत होती है.
सामान्य इंटरैक्टिव या सीआई वर्कफ़्लो के हिस्से के तौर पर इस्तेमाल किए जा सकने वाले उदाहरणों के बारे में आपके सुझाव, शिकायत या राय देने के लिए धन्यवाद. कृपया समस्या ट्रैकर में समस्याएं बनाएं या उन पर वोट करें.
फ़ाइल से बैक अप लिए गए गेस्ट रैम के स्नैपशॉट
मेहमान के रैम को फ़ाइल के तौर पर पहले से तय करके और मैप करके, अब एमुलेटर रनटाइम के दौरान Quickboot स्नैपशॉट सेव कर सकता है. ऐसा करने से, एमुलेटर को एप्लिकेशन बंद होने पर पूरा काम करने की ज़रूरत नहीं पड़ती. अगर आपको एमुलेटर बंद करते समय, सेव होने में ज़्यादा समय लग रहा है, तो क्विकबूट की परफ़ॉर्मेंस को बेहतर बनाने के लिए, यह सुविधा चालू करें. डिफ़ॉल्ट रूप से, क्विकबूट स्नैपशॉट, डिवाइस से बाहर निकलने पर सेव हो जाता है और हर बार फिर से लोड होता है. जैसे, किसी असल डिवाइस को निलंबित करना और फिर से चालू करना.
Android मेहमान रैम अब डिफ़ॉल्ट रूप से अपने-आप सेव हो जाती है. इसलिए, अगर आपको डिवाइस की स्थिति तय करनी है और उस स्थिति से बार-बार लोड करना है, तो आपको हर सेशन के बाद बदलावों को खारिज करने के लिए, एमुलेटर को बताना होगा. ऐसा करने के लिए, ये तरीके अपनाएं:
- कमांड लाइन से एमुलेटर को लॉन्च करते समय,
-no-snapshot-save
या-read-only
फ़्लैग का इस्तेमाल करें. - बेहतर कंट्रोल > स्नैपशॉट > सेटिंग पर जाएं और क्या मौजूदा स्थिति को क्विकबूट में अपने-आप सेव करना है? को नहीं पर स्विच करें.
- यह विकल्प चुनने के बाद, आपको एमुलेटर को रीस्टार्ट करना होगा. अगर एमुलेटर को अपने-आप सेव होने के लिए सेट किया गया है, तो चेकपॉइंट सेट करने के लिए यह निर्देश चलाएं:
यह कमांड चलाने के बाद, एमुलेटर का Quickboot स्नैपशॉट उसी चैकपॉइंट पर रहेगा. अपने चैकपॉइंट से एमुलेटर को लोड करने के लिए, वही कमांड फिर से चलाएं.adb emu avd snapshot remap 0
ऐसे स्नैपशॉट जिन्हें स्नैपशॉट यूज़र इंटरफ़ेस (यूआई) फ़ंक्शन की मदद से लिया और लोड किया जाता है. ये स्नैपशॉट, पहले की तरह ही काम करते हैं और इनमें फ़ाइल मैपिंग नहीं होती.
यह Quickboot के काम करने के तरीके में एक बड़ा बदलाव है. इसलिए, हमें आपके सुझावों और राय का बहुत फ़ायदा होगा. जैसे, क्या इससे Quickboot की परफ़ॉर्मेंस बेहतर हुई है और इसका इस्तेमाल करते समय आपको किस तरह की समस्याएं आ रही हैं. अगर आपको समस्याएं आ रही हैं, तो अपनी ~/.android/advancedFeatures.ini
फ़ाइल में यह लाइन जोड़कर, इस सुविधा को बंद किया जा सकता है:
QuickbootFileBacked = off
-snapshot
कमांड-लाइन विकल्प का इस्तेमाल करके या AVD मैनेजर में स्नैपशॉट से लॉन्च करके, जब एमुलेटर को स्नैपशॉट से शुरू किया जाता है, तो एमुलेटर, क्विकबूट स्नैपशॉट के लिए अपने-आप सेव होने की सुविधा और एमुलेटर से बाहर निकलने पर क्विकबूट स्नैपशॉट सेव होने की सुविधा, दोनों को बंद कर देता है. इससे, क्विकबूट स्नैपशॉट के अनजाने में बदले जाने की संभावना कम हो जाती है. साथ ही, फ़ाइल के तौर पर बैक अप लिए गए क्विकबूट स्नैपशॉट का इस्तेमाल न करने वाले, धीमे फ़ॉलबैक पाथ से भी बचा जा सकता है.
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 एमुलेटर पर असर डालने वाले कुछ अहम बदलावों के बारे में यहां बताया गया है:
- x86:
gdbstub
अब SSE रजिस्टर का ऐक्सेस देता है. - डिस्क इमेज: इमेज लॉक करने की सुविधा जोड़ी गई है और यह डिफ़ॉल्ट रूप से चालू रहती है. जब तक होस्ट में OFD या posix लॉकिंग की सुविधा काम करती है, तब तक एक से ज़्यादा QEMU प्रोसेस एक ही इमेज में डेटा नहीं लिख सकतीं. ऐसा तब तक नहीं होगा, जब तक विकल्पों के बारे में अलग से नहीं बताया जाता.
qemu-img: qemu-img resize
, इमेज के नए हिस्सों को पहले से तय करने की सुविधा देता है.- QCOW2 का इस्तेमाल करके, अब
qemu
औरqemu-img
में फ़ाइलों को छोटा किया जा सकता है.
सुलभता
- स्क्रीन रीडर से जुड़ी समस्याओं को ठीक किया गया. साथ ही, स्क्रीन रिकॉर्ड और स्नैपशॉट के यूज़र इंटरफ़ेस (यूआई) में, इन टूल के लिए बेहतर सहायता जोड़ी गई है.
- क्विक बूट की सूचना के आइकॉन को, रंगों में अंतर न कर पाने वाले उपयोगकर्ताओं के लिए ज़्यादा सुलभ बनाया गया है.
ग्राफ़िक्स
- मेमोरी एक्सेस करने पर कोई रोक नहीं लगाई जाती है, तो सुरक्षा का जोखिम हो सकता है. साथ ही, कोडिंग से छेड़छाड़ की जा सकती है.
- कुछ पुराने जीपीयू, OpenGL 2.1 या इसके बाद के वर्शन (जो ज़रूरी है) के साथ काम नहीं करते थे या उनमें भरोसे से जुड़ी अन्य समस्याएं थीं. इन समस्याओं की वजह से, एमुलेटर शुरू होने पर क्रैश हो सकता है, फ़्रीज़ हो सकता है या डिफ़ॉल्ट जीपीयू सेटिंग पर काम नहीं कर सकता. अगर एमुलेटर को पता चलता है कि इन जीपीयू का इस्तेमाल किया जा रहा है, तो अब वह Swiftshader रेंडरर पर अपने-आप स्विच हो जाता है.
- एक समस्या को ठीक किया गया है. इसकी वजह से,
eglSwapBuffers
के समयFBO != 0
बाउंड होने पर, एमुलेटर सही फ़्रेमबफ़र पोस्ट नहीं करता था. - उस समस्या को ठीक किया गया है जिसकी वजह से वर्चुअल Android डिसप्ले सिर्फ़ सबसे ऊपर बाएं कोने में दिखता था. हमें लगता है कि ऐसा Qt एनवायरमेंट वैरिएबल के गलत तरीके से कॉन्फ़िगर होने की वजह से हुआ था. अब एमुलेटर, Qt स्केलिंग से जुड़े सभी एनवायरमेंट वैरिएबल को बदल देता है.
- स्नैपशॉट से GLES1 ऐप्लिकेशन लोड करते समय, कुछ मामलों में एमुलेटर क्रैश होने की समस्या को ठीक किया गया है.
- OpenGL में एक साथ कई काम करने से जुड़ी समस्याओं को ठीक किया गया. साथ ही, रेंडर थ्रेड लॉन्च करने से जुड़ी समस्याओं को भी ठीक किया गया. इन समस्याओं की वजह से, डेटा दो बार फ़्री हो सकता है या डेटा खराब हो सकता है.
- Android Emulator अब एपीआई लेवल 28 या उसके बाद के वर्शन का इस्तेमाल करने वाली सिस्टम इमेज के लिए, एएसटीसी एलडीआर कंप्रेस की गई टेक्चर के साथ काम करता है (
GL_KHR_texture_compression_astc_ldr
). - ज़्यादातर आधुनिक जीपीयू अब
GLESDynamicVersion
सुविधा फ़्लैग का इस्तेमाल किए बिना, डिफ़ॉल्ट रूप से चालू OpenGL ES 3.x के साथ एमुलेटर लॉन्च कर सकते हैं. -gpu guest
(मेहमान के डिवाइस पर सॉफ़्टवेयर रेंडरिंग) अब काम नहीं करता. एपीआई लेवल 28 या उसके बाद के वर्शन के लिए, सिस्टम इमेज अब Swiftshader का इस्तेमाल करने के लिए अपने-आप स्विच हो जाती हैं (-gpu swiftshader_indirect
).- अगर एमुलेटर को
-no-window
फ़्लैग का इस्तेमाल करके कमांड लाइन से लॉन्च किया जाता है, तो डिफ़ॉल्ट रेंडरर अब Swiftshader है.
जगह की जानकारी
- अब एमुलेटर, अक्षांश और देशांतर के साथ-साथ, दिशा की जानकारी भी अपडेट कर सकता है. मैग्नेटोमीटर वर्चुअल सेंसर, GPX या KML फ़ाइल चलाते समय, गति का अनुमान लगाकर, अपने-आप डाइनैमिक तरीके से मैग्नेटिक नॉर्थ में अडजस्ट हो जाता है.
- डिवाइस की स्पीड अब जगह की जानकारी वाले पेज पर सेट की जा सकती है.
- GPX या KML फ़ाइल को चलाने पर, रफ़्तार अपने-आप सेट हो जाती है. साथ ही, प्लेबैक खत्म होने पर, यह शून्य पर सेट हो जाती है.
- अब ऊंचाई -1,000 से +10,000 मीटर के बीच हो सकती है.
- एक समस्या को ठीक किया गया है. इसकी वजह से, वर्चुअल जीपीएस लोकेशन समय-समय पर अपडेट नहीं होती थी. ऐसा तब तक होता रहता था, जब तक कि एक्सटेंडेड कंट्रोल विंडो को कम से कम एक बार न खोला जाए.
कैमरा
Windows पर, अब ज़्यादा वेबकैम काम करते हैं. इसकी वजह यह है कि एम्युलेटर, वेबकैम से डिलीवर किए गए कैमरा फ़्रेम का साइज़ डाइनैमिक तौर पर बदलता है. इस सुविधा की मदद से, फ़्रेम डिलीवरी में होने वाली गड़बड़ियों की वजह से, एमुलेटर के हैंग होने से भी बचा जा सकता है.
Play Store
Play Store की इमेज पर डिस्क स्टोरेज खत्म होने से जुड़ी समस्याओं को हल करने के लिए, एमुलेटर अब नए Play Store AVD के साथ काम करते समय, उपयोगकर्ता डेटा वाले पार्टीशन का साइज़ अपने-आप 6 जीबी कर देता है.
क्वालिटी को बेहतर बनाने और गड़बड़ियों को ठीक करने से जुड़े सामान्य अपडेट
- कुछ उपयोगकर्ताओं ने बताया कि एमुलेटर धीरे चल रहा है. हमने इस समस्या की एक संभावित वजह का पता लगाया है. इसमें, एमुलेटर की टेंप्लेट डायरेक्ट्री में बहुत सारी पुरानी फ़ाइलें मौजूद होती हैं. इस समस्या को हल करने के लिए, एमुलेटर अब उस डायरेक्ट्री में ADB की लाइवनेस जांच करने वाली फ़ाइलें सेव नहीं करता. हालांकि, इससे उस फ़ोल्डर का कॉन्टेंट भी मिटाया जा सकता है. आपके ऑपरेटिंग सिस्टम के हिसाब से, फ़ोल्डर इनमें से किसी एक जगह पर मौजूद होता है:
- Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
- macOS या Linux:
/tmp/android-<username>/*
- Windows:
- अगर रैम में जगह न होने की वजह से एमुलेटर शुरू नहीं हो पा रहा है, तो अब गड़बड़ी का मैसेज दिखेगा. अगर आपके पास Windows है और आपको लगता है कि आपके पास रैम उपलब्ध है, लेकिन फिर भी एमुलेटर शुरू नहीं हो पा रहा है, तो हो सकता है कि कमिट करने के लिए तय की गई सीमा से ज़्यादा रैम का इस्तेमाल हो गया हो. इस समस्या को हल करने के लिए, एमुलेटर से जुड़ी समस्या हल करने वाला पेज देखें.
-sysdir
कमांड लाइन विकल्प, अब अनुमानित सिस्टम इमेज डायरेक्ट्री को सही तरीके से बदल देता है.- वर्चुअल मॉडेम अब मॉडल की गतिविधि की जानकारी
+MAI
क्वेरी के साथ काम करता है. - मेमोरी लीक, मेमोरी खराब होने, और सीपीयू के इस्तेमाल से जुड़ी कई समस्याओं को ठीक किया गया. अगर आपको ऐप्लिकेशन क्रैश होने, मेमोरी लीक होने या ज़्यादा संसाधनों के इस्तेमाल से जुड़ी समस्याएं आ रही हैं, तो कृपया समस्या ट्रैकर में समस्या दर्ज करें.
- macOS 10.14 पर फिर से आने वाली एक समस्या को ठीक किया गया है. इस समस्या की वजह से, एमुलेटर के साथ ब्लूटूथ हेडफ़ोन का इस्तेमाल करने पर, ऑडियो की क्वालिटी खराब हो जाती थी. इस समस्या से बचने के लिए, एमुलेटर अब macOS पर चलने के दौरान ब्लूटूथ ऑडियो का इस्तेमाल नहीं करता. (समस्या 37070892)
- Windows पर, एमुलेटर की घड़ी के सही टाइमज़ोन में न होने की समस्या को ठीक किया गया है.
- स्पिनिंग हार्ड ड्राइव (एचडीडी) वाले Linux सिस्टम पर, एमुलेटर के धीमे होने और हैंग होने की समस्या को ठीक किया गया.
- कंपाइल करने से जुड़ी कुछ चेतावनियों को ठीक किया गया है. इनकी वजह से macOS पर स्टैक खराब हो सकता था.
- ऐसी समस्याओं को ठीक किया गया है जिनकी वजह से, ऐप्लिकेशन के हैंग होने की गलत रिपोर्ट मिल सकती थीं.
- थ्रेड पूल को नष्ट करने से जुड़ी समस्या को ठीक किया गया. अगर कोई एक थ्रेड ठीक से नहीं बन पाता था, तो क्रैश हो सकता था.
- macOS पर एक समस्या को ठीक किया गया है. इस समस्या की वजह से टाइमर काम नहीं करते थे और ऐप्लिकेशन hang हो जाता था. अगर आपको macOS पर, एमुलेटर के हैंग होने की समस्या आ रही है, तो कृपया समस्या ट्रैकर में समस्या दर्ज करें.
- एम्युलेटर को बंद करने पर, यूज़र इंटरफ़ेस (यूआई) बंद हो जाता था, लेकिन एम्युलेटर बंद नहीं होता था. इस समस्या को ठीक कर दिया गया है.
- कभी-कभी क्रैश होने की समस्याओं को ठीक किया गया. इनमें,
/dev/urandom
के कई इंस्टेंस खोलने की वजह से प्रोसेस को बीच में रोकना भी शामिल है. - उस समस्या को ठीक किया गया है जिसकी वजह से एडीबी को जबरन बंद करने पर, पहली बार के बाद एमुलेटर शुरू नहीं होता था.
- MIPS बिल्ड को हटा दिया गया है. अगर आपको अब भी एमआईपीएस की ज़रूरत है, तो कृपया समस्या ट्रैकर में समस्या दर्ज करें.
- स्नैपशॉट लोड होने पर, एडीबी कनेक्शन खराब होने की समस्या को ठीक किया गया है.
- किसी ऐसे स्नैपशॉट को फिर से शुरू करने पर, एमुलेटर विंडो में आफ़्टरइमेज या स्क्रीन से बाहर जाने की समस्या को ठीक किया गया है जिसमें डिवाइस का ओरिएंटेशन, AVD के डिफ़ॉल्ट ओरिएंटेशन से अलग था.
- स्नैपशॉट सेव करते समय क्रैश होने से जुड़ी समस्याएं ठीक की गई हैं.
- 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 एमुलेटर के 32-बिट वर्शन को बंद करने जा रहे हैं. हम Android एमुलेटर के 32-बिट वर्शन को हटाने और उसे बंद करने से पहले, ट्रांज़िशन प्लान रोल आउट करेंगे. हालांकि, हम आने वाले समय में होने वाले इस बदलाव के बारे में आपके सुझाव, राय या शिकायतों का इंतज़ार कर रहे हैं.
अगर फ़िलहाल, Windows पर चलने वाले Android एमुलेटर के 32-बिट वर्शन का इस्तेमाल किया जा रहा है, तो कृपया समस्या ट्रैकर पर हमें बताएं. साथ ही, हमें बताएं कि आने वाले समय में हम आपके साथ कैसे बेहतर तरीके से काम कर सकते हैं.
27.3.10 (अगस्त 2018)
इस अपडेट में, गड़बड़ी को ठीक करने के लिए ये बदलाव किए गए हैं:
रैम साइज़ के कॉन्फ़िगरेशन से जुड़ी समस्या ठीक करना
कुछ उपयोगकर्ताओं ने बताया कि एमुलेटर धीरे चल रहा है. हमने इस समस्या की एक संभावित वजह का पता लगाया है. इसमें AVD की config.ini
फ़ाइल में AVD रैम का साइज़ गलत तरीके से सेट किया जा रहा था.
इस समस्या को कम करने के लिए, एमुलेटर उन इमेज के लिए रैम का कम से कम लेवल बढ़ा देता है जो एपीआई लेवल 26 या उसके बाद के वर्शन का इस्तेमाल करती हैं. यह लेवल, Android Studio के डिफ़ॉल्ट लेवल 1536 एमबी तक हो सकता है. अगर आपके AVD की config.ini
फ़ाइल, hw.ramSize
को मेगाबाइट में नहीं दिखा रही है, तो कृपया समस्या ट्रैकर में समस्या दर्ज करें.
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)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.
स्नैपशॉट
अब किसी डिवाइस कॉन्फ़िगरेशन के लिए, एक से ज़्यादा AVD स्नैपशॉट सेव किए जा सकते हैं. साथ ही, एम्युलेटर शुरू करते समय यह चुना जा सकता है कि सेव किए गए कौनसे स्नैपशॉट लोड करने हैं.
Android Studio 3.2 Canary 13 से, हर डिवाइस कॉन्फ़िगरेशन में वर्चुअल डिवाइस कॉन्फ़िगरेशन डायलॉग बॉक्स की बेहतर सेटिंग में एक कंट्रोल शामिल होता है. इसकी मदद से, यह तय किया जा सकता है कि AVD शुरू करते समय कौनसा AVD स्नैपशॉट लोड किया जाए.
स्नैपशॉट की सुविधाओं को बेहतर बनाने के लिए, हमने ज़्यादा कंट्रोल डायलॉग में स्नैपशॉट कैटगरी जोड़ी है. इस नए पैनल में, AVD स्नैपशॉट को सेव और लोड करने के कंट्रोल होते हैं. इनमें, क्विक-बूट स्नैपशॉट को सेव और लोड करने के कंट्रोल भी शामिल हैं. ये कंट्रोल पहले सेटिंग पैनल में होते थे.
सेव किए गए हर स्नैपशॉट के नाम और ब्यौरे में बदलाव किया जा सकता है.
ज़्यादा जानकारी के लिए, स्नैपशॉट देखें.
HAXM 7.2.0
HAXM 7.2.0 अब सभी चैनलों पर उपलब्ध है.
इस अपडेट में गड़बड़ियां ठीक की गई हैं. साथ ही, ज़्यादा रैम के लिए बेहतर सहायता जोड़ी गई है. साथ ही, HAXM के इस अपडेट और Emulator 27.3 और उसके बाद के वर्शन के साथ, स्नैपशॉट अपने कॉन्टेंट को मांग पर RAM में लोड करते हैं. ऐसा, वर्चुअल डिवाइस के शुरू होने पर पूरे स्नैपशॉट को लोड करने के बजाय किया जाता है. इस बदलाव से, स्नैपशॉट लोड होने में लगने वाला समय काफ़ी कम हो जाएगा.
ज़्यादा जानकारी के लिए, वीएम एक्सेलेरेशन कॉन्फ़िगर करना देखें.
27.2.9 (मई 2018)
इस अपडेट में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, मौजूदा सुविधाओं को बेहतर बनाया गया है और गड़बड़ियां ठीक की गई हैं.
स्क्रीन रिकॉर्डिंग
अब Android एमुलेटर से वीडियो और ऑडियो रिकॉर्ड किया जा सकता है. साथ ही, रिकॉर्डिंग को 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 एमुलेटर में एआर ऐप्लिकेशन चलाना लेख पढ़ें.
Pixel डिवाइसों पर Google Play Store की इमेज
Google Play Store अब Pixel और Pixel 2 डिवाइसों की इमेज के लिए चालू है. इसकी जानकारी, Android Studio के 3.2 और उसके बाद के वर्शन में AVD मैनेजर में दी गई है. यह जानकारी, 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 का इस्तेमाल करता है. इससे वेबकैम कैप्चर की परफ़ॉर्मेंस और फ़्रेम रेट काफ़ी बेहतर होता है. यह 720p और 30 FPS तक का हो सकता है.
Mac पर, अब webcam0 और webcam1 का एक साथ इस्तेमाल किया जा सकता है.
अन्य चीज़ें
-phone-number-prefix
कमांड-लाइन विकल्प को -phone-number [number]
में बदल दिया गया है. इससे पूरा फ़ोन नंबर सेट किया जा सकता है.
अब अक्षरों और अंकों वाले एसएमएस पतों का इस्तेमाल किया जा सकता है.
समाधान
- Android Emulator का Linux वर्शन, अब आधुनिक Clang C++ टूलचेन का इस्तेमाल करके बनाया गया है. इस बदलाव से, libGL और libstdc++ की गड़बड़ियों की वजह से, एमुलेटर के शुरू न होने की समस्या ठीक हो जाती है.
- ऐप्लिकेशन के क्रैश होने और फ़्रीज़ होने की कई वजहों को ठीक किया गया.
- डिस्क में ज़रूरत के मुताबिक खाली जगह न होने की वजह से क्रैश और हैंग होने से बचने के लिए, अब एमुलेटर स्टार्टअप होने पर डिस्क में खाली जगह की जांच करता है. यह तब तक शुरू नहीं होगा, जब तक कम से कम 2 जीबी खाली जगह न हो.
- Unity के कुछ गेम रेंडर न होने की समस्या को ठीक किया गया.
- डीएनएस से जुड़ी समस्या को ठीक किया गया है. इसकी वजह से, एमुलेटर नेटवर्क से कनेक्ट नहीं हो पा रहा था.
- वर्चुअल डिवाइस कॉन्फ़िगरेशन डायलॉग बॉक्स की मदद से, किसी एवीडी के लिए तय किए गए इंटरनल स्टोरेज में बदलाव न हो पाने की समस्या को ठीक किया गया है.
- कई adb प्रोसेस बनने और ठीक से बंद न होने की समस्या को ठीक किया गया.
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से ज़्यादा कंट्रोल वाली विंडो खुली होने तक, यूज़र इंटरफ़ेस (यूआई) के अन्य हिस्सों और घुमाने के बटन काम नहीं करते थे.
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से होस्ट से कॉपी और चिपकाने की सुविधा तब तक काम नहीं करती, जब तक कि ज़्यादा कंट्रोल वाला डायलॉग कम से कम एक बार न खोला गया हो.
- फ़्रेमलेस एमुलेटर के साइज़ में बदलाव करने वाले रेक्टैंगल को अपडेट किया गया है, ताकि एमुलेटर की विज़ुअल थीम को बेहतर तरीके से फ़ॉलो किया जा सके.
- हवाई जहाज़ मोड चालू होने पर, टेलीफ़ोन और एसएमएस की सुविधा अब सही तरीके से बंद हो जाती है.
- स्नैपशॉट लोड करने के बाद, एसएमएस और मोबाइल इंटरनेट की सुविधा बंद होने की समस्या को ठीक किया गया है.
- अब आपको झूठी चेतावनी वाले मैसेज नहीं मिलेंगे, जिनमें कहा गया हो कि
“Unable to open... \pstore.bin. Permission denied.”
- उस समस्या को ठीक किया गया है जिसकी वजह से कुछ Mac स्क्रीन पर, AVD की जगह बदलने में समस्या आ रही थी.
- Pixel 2 XL की स्किन के साथ AVD चलाते समय, नए MacBook Pro कंप्यूटर पर स्क्रीन के फ़्लिकर करने और खाली होने की समस्याएं ठीक की गईं.
- फ़्रेमलेस एमुलेटर चालू होने पर, ज़ूम मोड में स्विच करने पर खाली स्क्रीन दिखने की समस्याएं ठीक की गई हैं.
- ज़ूम इन करने पर, डिवाइस की स्किन और एमुलेटर कॉन्टेंट के सिंक होने की समस्या को ठीक किया गया है.
अगर आपको अब भी फ़ोन हैंग होने या अन्य समस्याएं आ रही हैं, तो कृपया समस्या की शिकायत करें.
27.1.12 (मार्च 2018)
इस अपडेट में इन समस्याओं को ठीक किया गया है:
- एमुलेटर शुरू करने के बाद, ब्लूटूथ ऑडियो की क्वालिटी खराब हो जाती है. (समस्या 37095756)
- एक एमुलेटर को भेजी गई जगह की जानकारी, सभी एमुलेटर को भेज दी गई. (समस्या 73450633)
- कंसोल का इस्तेमाल करके सेट की गई जीपीएस लोकेशन, ग्राफ़िकल यूज़र इंटरफ़ेस में बेहतर कंट्रोल > जगह का इस्तेमाल करके सेट की गई वैल्यू से बदल गई. (समस्या 73471760)
अगर आपको अब भी फ़ोन हैंग होने या अन्य समस्याएं आ रही हैं, तो कृपया समस्या की शिकायत करें.
इस अपडेट, मौजूदा सिस्टम इमेज, और Android Studio के झलक वाले वर्शन की मदद से, ARCore का इस्तेमाल करके बनाए गए ऑगमेंटेड रिएलिटी ऐप्लिकेशन चलाने के लिए, Android एमुलेटर का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी और निर्देशों के लिए, Android एमुलेटर में एआर ऐप्लिकेशन चलाना लेख पढ़ें.
27.1.10 (फ़रवरी 2018)
कैमरे से कैप्चर किए गए वीडियो का रिज़ॉल्यूशन
अब अटैच किए गए वेबकैम से 720 पिक्सल वाले फ़्रेम कैप्चर किए जा सकते हैं.
Android 8.1 (एपीआई लेवल 27) और उसके बाद के वर्शन वाली सिस्टम इमेज के साथ काम करने के लिए, कनेक्ट किए गए किसी भी वेबकैम में 720 पिक्सल फ़्रेम कैप्चर करने की सुविधा होनी चाहिए.
समाधान
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से कभी-कभी वेबकैम से कैप्चर की गई इमेज, खराब या पूरी तरह से हरी दिखती थी.
- एक समस्या को ठीक किया गया है, जिसकी वजह से कोई फ़्लैग नहीं होने पर भी यह मैसेज दिखता था: "एमुलेटर: गड़बड़ी: 'Qt इवेंट लूप' थ्रेड फ़्लैग नहीं है. 15,000 मिलीसेकंड तक कोई जवाब नहीं मिला".
अगर आपको अब भी फ़ोन हैंग होने या अन्य समस्याएं आ रही हैं, तो कृपया समस्या की शिकायत करें.
27.1.7 (फ़रवरी 2018)
फ़्रेमलेस एम्युलेटर विंडो:
डिफ़ॉल्ट रूप से, डिवाइस की स्किन फ़ाइलों वाले एमुलेटर अब आस-पास विंडो फ़्रेम के बिना दिखाए जाते हैं. विंडो के चारों ओर फ़्रेम दिखाने के लिए, बेहतर कंट्रोल विंडो के सेटिंग पैनल में, डिवाइस के चारों ओर विंडो फ़्रेम दिखाएं को चालू करें.
क्विक बूट की सुविधा में सुधार किए गए हैं, ताकि AVD स्नैपशॉट के साथ बेहतर तरीके से काम किया जा सके:
- बेहतर कंट्रोल डायलॉग बॉक्स के सेटिंग पैनल में, अभी सेव करें बटन का इस्तेमाल करके, किसी भी समय 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 रेंडरर के बारे में ज़्यादा जानने के लिए, बेहतर कंट्रोल के सेटिंग > बेहतर सेक्शन पर जाएं.
समाधान
- उस समस्या को ठीक किया गया है जिसकी वजह से क्लिपबोर्ड शेयर करने की सुविधा चालू करें विकल्प को बंद और चालू करने के बाद ही, क्लिपबोर्ड शेयर करने की सुविधा काम कर रही थी.
- कम रिज़ॉल्यूशन वाले AVD के साथ, Swiftshader रेंडरिंग बैक-एंड का इस्तेमाल करते समय, फ़्रीज़ होने की समस्या को ठीक किया गया.
27.0.5 (जनवरी 2018)
Windows पर रेंडरिंग के लिए ANGLE, अब डिफ़ॉल्ट रूप से बंद है.
अगर आपके लिए ANGLE बेहतर काम करता है, तो कमांड लाइन के
-gpu angle_indirect
फ़्लैग की मदद से, इसे फिर से चालू किया जा सकता है. इसके अलावा, एक्सटेंडेड कंट्रोल विंडो खोलें और सेटिंग > बेहतर पर जाएं. इसके बाद, OpenGL ES रेंडरर सेटिंग के लिए ANGLE D3D11 चुनें.Shift+B दबाने पर, कैपिटल B वर्ण न टाइप होने की समस्या को ठीक किया गया है.
27.0.2 (दिसंबर 2017)
क्विक बूट की नई सुविधा, आपके AVD इंस्टेंस के स्नैपशॉट के आधार पर, एमुलेटर को तेज़ी से शुरू करती है.
क्विक बूट की सुविधा, सभी AVD के लिए डिफ़ॉल्ट रूप से चालू होती है. पहली बार AVD को शुरू करने पर, उसे डिवाइस को चालू करने की तरह ही कोल्ड बूट करना होगा. हालांकि, इसके बाद इसे तेज़ी से शुरू किया जा सकता है. साथ ही, सिस्टम उसी स्थिति में वापस आ जाता है जिस स्थिति में आपने एमुलेटर को बंद किया था. यह डिवाइस को चालू करने जैसा ही है.
अगर आपको यह कंट्रोल करना है कि एमुलेटर कब स्नैपशॉट सेव करे, तो एमुलेटर की बड़े किए गए कंट्रोल वाली विंडो खोलें और सेटिंग पर क्लिक करें. यहां, क्विक बूट मोड से बाहर निकलने पर उसकी स्थिति सेव करें के लिए, इनमें से कोई एक सेटिंग चुनी जा सकती है:
- हां: एमुलेटर बंद करते समय, तुरंत बूट होने की सुविधा का स्नैपशॉट हमेशा सेव करें. यह डिफ़ॉल्ट विकल्प है.
- नहीं: क्विक बूट स्नैपशॉट कभी सेव न करें. हमेशा कोल्ड बूट करें.
- पूछें: एम्युलेटर बंद करने पर, क्विक बूट स्नैपशॉट सेव करने के लिए कहा जाए या नहीं.
आपका चुना गया विकल्प, सिर्फ़ फ़िलहाल खुले हुए AVD पर लागू होता है.
ज़्यादा जानकारी के लिए, क्विक बूट के बारे में दस्तावेज़ देखें.
Mac OpenGL ES 3 के लिए सहायता जोड़ी गई है. यह सुविधा, एपीआई लेवल 24 और उससे बाद के वर्शन, Google API, और x86 ABI का इस्तेमाल करने वाली सिस्टम इमेज के लिए है.
OpenGL ES 2 और उसके बाद के वर्शन वाले ऐप्लिकेशन को ज़्यादा बेहतर बनाने के लिए, एमुलेटर अब OpenGL कोर प्रोफ़ाइल का इस्तेमाल करता है. हालांकि, ऐसा तब ही होता है, जब यह उपलब्ध हो.
Swiftshader / ANGLE की मदद से रेंडर करने के लिए नए विकल्प:
-gpu swiftshader_indirect
: Swiftshader का तेज़ और बेहतर वर्शन, जो Quick Boot के साथ काम करता है.-gpu angle_indirect
(सिर्फ़ Windows के लिए): ANGLE D3D का ज़्यादा बेहतर वर्शन, जो क्विक बूट के साथ भी काम करता है.
-gpu swiftshader
और-gpu angle
के पुराने विकल्प अब काम नहीं करते. बेहतर कंट्रोल वाली विंडो में, सेटिंग > बेहतर में OpenGL ES रेंडरर सेटिंग के लिए, "SwiftShader " और"ANGLE " विकल्प अब*_indirect
वैरिएंट का इस्तेमाल करते हैं.कई अन्य गड़बड़ियां ठीक की गईं.
26.1.4 (अगस्त 2017)
यह एक मामूली रिलीज़ है, जिसमें गड़बड़ियों को ठीक किया गया है. साथ ही, जीपीयू कॉन्फ़िगरेशन में ये सुधार किए गए हैं:
- ANGLE रेंडरर पर काम करते समय, बूट ऐनिमेशन चालू करना
- ANGLE रेंडरर पर चलने के दौरान GLES3 बंद करना
26.1.3 (अगस्त 2017)
यह एक मामूली रिलीज़ है, जिसमें गड़बड़ियां ठीक की गई हैं, परफ़ॉर्मेंस को बेहतर बनाया गया है, और सुविधाओं में छोटे बदलाव किए गए हैं.
- Android 8.0 के नए सिस्टम इमेज का इस्तेमाल करने के लिए, अब यह वर्शन ज़रूरी है.
ये Treble के मुताबिक हैं और इनमें अलग-अलग
vendor.img
पार्टिशन होते हैं. - HAXM 6.2.0 का नया वर्शन अब उपलब्ध है (SDK Manager देखें). इसमें ये अपडेट शामिल हैं:
- मेमोरी के इस्तेमाल में सुधार किया गया है. HAXM की मदद से पिन की गई मेमोरी का पीक वर्किंग सेट, अब AVD की रैम के साइज़ के बराबर नहीं है. इसके बजाय, मेमोरी को मांग के हिसाब से पेज किया जाता है. इससे, एमुलेटर को कम रैम वाली मशीनों पर ज़्यादा भरोसेमंद तरीके से चलाने में मदद मिलेगी.
- HAXM 6.2.0 वाले एमुलेटर को macOS पर अब तेज़ी से बूट किया जा सकता है. इसके लिए, एमुलेटर को शुरू करने में लगने वाला लंबा समय नहीं लगता.
- जीपीयू कॉन्फ़िगरेशन में सुधार
- मेहमान-साइड सॉफ़्टवेयर रेंडरिंग के दौरान, बूट होने पर काली स्क्रीन दिखने की समस्याएं ठीक की गई हैं. इसके लिए, Swiftshader की मदद से होस्ट-साइड सॉफ़्टवेयर रेंडरिंग का इस्तेमाल किया गया है. Google के एपीआई के साथ एपीआई लेवल 19 से 25 के लिए, सिस्टम इमेज के नए वर्शन में, मेहमान के डिवाइस पर रेंडरिंग की सुविधा काम करनी चाहिए.
- एक समस्या को ठीक किया गया है. इसमें, पुराने Intel जीपीयू का पता चलने पर, एमुलेटर को सॉफ़्टवेयर रेंडरर पर स्विच कर दिया जाता था. हालांकि, एमुलेटर असल में डिस्क्रेट जीपीयू पर चल रहा था. ANGLE या Swiftshader रेंडरिंग का इस्तेमाल करने के लिए, किन जीपीयू को स्विच किया जाएगा, यह इस तरह तय किया जाता है:
- पुराने Intel iGPU में, OpenGL और ANGLE D3D ड्राइवर, दोनों में ड्राइवर से जुड़ी समस्याएं होती हैं. Intel HD Graphics 3xxx और उससे पहले के वर्शन वाले उपयोगकर्ता, Swiftshader का इस्तेमाल करेंगे.
- कुछ उपयोगकर्ताओं ने एपीआई लेवल 25 की इमेज इस्तेमाल न कर पाने की शिकायत की है. ऐसा, "Pixel Launcher के बार-बार बंद होने" की वजह से हुआ है. ऐसा लगता है कि यह कुछ Intel HD 4xxx मॉडल में ड्राइवर से जुड़ी समस्या है. इसलिए, वे ANGLE का इस्तेमाल करने के लिए अपने-आप स्विच हो जाएंगे.
- जीपीयू इम्यूलेशन के सबसे अच्छे नतीजे पाने के लिए, हमारा सुझाव है कि आप डिस्क्रेट NVIDIA या AMD जीपीयू या नए Intel जीपीयू (Iris, HD 5xxx, HD 5xx/6xx) का इस्तेमाल करें.
- एक समस्या को ठीक किया गया है. इस समस्या की वजह से, अगर AVD को
hw.gpu.mode=host
के साथ कॉन्फ़िगर किया गया था और एमुलेटर को रिमोट डेस्कटॉप क्लाइंट में लॉन्च किया गया था, तो एमुलेटर शुरू नहीं हो पाता था (OpenGL इम्यूलेशन शुरू नहीं हो पाता था). - "OpenGL ES एपीआई लेवल (डिवाइस को रीस्टार्ट करना ज़रूरी है)" सेटिंग के बारे में साफ़ तौर पर बताया गया है. साथ ही, अगर आपको कोई समस्या आ रही है या आपको OpenGL ES के कम एपीआई लेवल पर टेस्ट करना है, तो OpenGL ES 3 से OpenGL ES 2 पर डाउनग्रेड करने का विकल्प जोड़ा गया है.
- Mesa रेंडरर का इस्तेमाल नहीं किया जा सकता.
hw.gpu.mode=mesa
अब होस्ट पर Swiftshader का इस्तेमाल करने के लिए, अपने-आप स्विच हो जाएगा.
- macOS के लिए सुधार:
- एमुलेटर अब Hypervisor.Framework या HAXM 6.2.0 की मदद से, macOS 10.13 High Sierra के साथ पूरी तरह काम करता है.
- Hypervisor.framework अब macOS पर 32-बिट x86 इमेज के लिए डिफ़ॉल्ट रूप से चालू है. इससे परफ़ॉर्मेंस और 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 hypervisor में चलने पर, HyperV का गलत तरीके से पता चलता था.
- कुछ Linux कॉन्फ़िगरेशन में, एमुलेटर के शुरू होने पर क्रैश होने की समस्या को ठीक किया गया है.
26.1.2 (जुलाई 2017)
इस रिलीज़ में नई सुविधाएं जोड़ी गई हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है.
बेहतर कंट्रोल में, कस्टम एचटीटीपी प्रॉक्सी कॉन्फ़िगरेशन तय करने की सुविधा जोड़ी गई है. इसके लिए, ज़्यादा पर क्लिक करें. इसके बाद, सेटिंग और प्रॉक्सी पर क्लिक करें. डिफ़ॉल्ट रूप से, एमुलेटर, Android Studio की एचटीटीपी प्रॉक्सी सेटिंग का इस्तेमाल करता है. हालांकि, इस स्क्रीन की मदद से, मैन्युअल प्रॉक्सी कॉन्फ़िगरेशन तय किया जा सकता है.
मेहमान मोड के GPU के लिए VNC की सुविधा जोड़ी गई है, ताकि एमुलेटर को किसी दूसरे डिवाइस से देखा और कंट्रोल किया जा सके. उदाहरण के लिए, एमुलेटर लॉन्च करके, VNC को पोर्ट 5901 पर सुनने की अनुमति इस तरह दी जा सकती है:
- लागू करें:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
पोर्ट 5901 से कनेक्ट करने के लिए, tightvnc viewer जैसा कोई VNC व्यूअर खोलें.
Mac में पहले से मौजूद स्क्रीन शेयरिंग क्लाइंट का इस्तेमाल करने के लिए, एमुलेटर को लॉन्च करते समय VNC पासवर्ड डालना ज़रूरी है. पासवर्ड सेट करने के लिए, इस कमांड का इस्तेमाल करें:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio
इसके बाद, कंसोल में
change vnc password
डालें और पासवर्ड डालें.
फ़िलहाल, Android O पर VNC मोड काम नहीं करता.
- लागू करें:
एक्सटेंड किए गए कंट्रोल की सहायता स्क्रीन में, बग की शिकायत करें बटन जोड़ा गया है. इसके लिए, ज़्यादा पर क्लिक करें. इसके बाद, सहायता और एम्युलेटर से जुड़ी सहायता पर क्लिक करें. गड़बड़ी की शिकायत करें पर क्लिक करने से एक डायलॉग बॉक्स खुलता है. इसमें, गड़बड़ी की शिकायत की जानकारी दिखती है. जैसे, स्क्रीनशॉट, AVD कॉन्फ़िगरेशन की जानकारी, और गड़बड़ी की शिकायत का लॉग. इसके बाद, रिपोर्ट को अपने लिए सेव किया जा सकता है या एमुलेटर से जुड़ी समस्याओं की शिकायत की जा सकती है.
एमुलेटर और वर्चुअल सेंसर पैनल में, जायरोस्कोप सेंसर जोड़ा गया. इसके लिए, 'डिवाइस के गति की जानकारी' सुविधा के साथ काम करने वाली सिस्टम इमेज (फ़िलहाल, एपीआई लेवल 24 और 25) की ज़रूरत होती है.
Windows पर Qemu की डीएनएस सूची में, होस्ट के लिए पसंदीदा डीएनएस जोड़ा गया है. ऐसा तब किया जाता है, जब होस्ट पर कई वर्चुअल नेटवर्क इंटरफ़ेस, कई ऐसे डीएनएस पते जोड़ते हैं जो एमुलेटर के लिए काम नहीं करते.
macOS 10.10 और उसके बाद के वर्शन पर, 32-बिट x86 इमेज के लिए, macOS Hypervisor.Framework की सुविधा को प्रयोग के तौर पर जोड़ा गया है. यह सुविधा, सर्वर फ़्लैग की मदद से जोड़ी गई है. इससे, बूट होने में लगने वाला समय और परफ़ॉर्मेंस बेहतर हो जाएगी.
- अगर आपको इसमें समस्याएं आ रही हैं, तो
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 FBOs का इस्तेमाल करता है. इससे सभी प्लैटफ़ॉर्म पर कलर की एक जैसी दिखने से जुड़ी समस्याओं को हल करने में मदद मिलेगी.
अचानक ऐमुलेटर के धीमे होने से जुड़ी समस्याओं का डेटा इकट्ठा करने के बाद, हमने पाया है कि यह समस्या, पुराने Intel OpenGL ड्राइवर और Windows अपडेट के बीच होने वाले इंटरैक्शन की वजह से हो सकती है. इसलिए, Intel HD 4000, 3000, 2000 (और उससे जुड़े जीपीयू) का इस्तेमाल करने वाले लोगों के लिए, रेंडरिंग अब डिफ़ॉल्ट रूप से D3D रेंडरर (ANGLE) या Swiftshader (सॉफ़्टवेयर रेंडरर) पर सेट है.
26.0.0 (मार्च 2017)
यह रिलीज़, एपीआई लेवल 26 के साथ काम करती है. इसमें परफ़ॉर्मेंस में कई सुधार किए गए हैं और गड़बड़ियां ठीक की गई हैं.
26.0.3 (मई 2017) में मामूली बदलाव
- ऑनलाइन अपडेट किए जा सकने वाले फ़्लैग जोड़ता है, ताकि हार्डवेयर कॉन्फ़िगरेशन से जुड़ी समस्याओं को तुरंत ठीक किया जा सके. इससे Google, सर्वर-साइड फ़्लैग को अपडेट करके, उपयोगकर्ता के कॉन्फ़िगरेशन पर निर्भर सुधार और सुविधाओं को रोल आउट कर सकता है. अगर आपको किसी खास हार्डवेयर में समस्याएं दिखती हैं, तो कृपया गड़बड़ी की शिकायत करें, ताकि हम समस्या की जांच कर सकें.
- Android Wear एपीआई लेवल 25 की सिस्टम इमेज के लिए, रोटरी इनपुट के लिए नया सपोर्ट. Wear डिवाइस पर रोटरी इनपुट डायल को एमुलेट करने के लिए, बड़ी की गई विंडो में, रोटरी इनपुट टैब पर क्लिक करें.
- क्रैश रिपोर्टिंग डायलॉग बॉक्स का साइज़ अब बदला जा सकता है. साथ ही, अब बिना कोई इनपुट दिए, क्रैश रिपोर्ट कब भेजें को पूछें पर रीसेट नहीं किया जाता.
- 32-बिट एमुलेटर के लिए, अब AVD की रैम का ज़्यादा से ज़्यादा साइज़ 512 एमबी से कम या उसके बराबर होना चाहिए. इससे, एमुलेटर के 2 जीबी वर्चुअल पता स्पेस में जगह कम होने से बचा जा सकता है.
- एमुलेटर इमेज में, एब्सोलूट पाथ के लिए सहायता जोड़ता है.
- Google Play Store की इमेज के लिए, बड़ी की गई विंडो में एक नया टैब जोड़ता है. इसमें, Play services का वर्शन और Play services के अपडेट देखने के लिए एक बटन दिखता है.
- एम्युलेटर की सेटिंग पेज पर, 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 एमुलेटर को तेज़ करने की सुविधा जोड़ी गई है. इस अपडेट के लिए ज़रूरी है कि होस्ट Hyper-V इंस्टेंस (वह इंस्टेंस जो Windows VM/गेस्ट को मैनेज करता है), नेस्ट किए गए वर्चुअलाइज़ेशन की सुविधा चालू होने के साथ Hyper-V के नए वर्शन का इस्तेमाल करे. मेहमान Hyper-V इंस्टेंस (Windows VM) में, Hyper-V बंद होना चाहिए.
डिपेंडेंसी
- Android SDK Platform-Tools का 25.0.4 या उसके बाद का वर्शन.
- Android SDK टूल का 26.0.0 या उसके बाद का वर्शन.
नई सुविधाएं और गड़बड़ियां ठीक करना
- एपीआई लेवल 26 के साथ काम करता हो.
- GLES 2.0 के पूरी तरह से अनुपालन करने वाला. अगर होस्ट जीपीयू में, डिवाइस के हिसाब से काम करने वाले डेस्कटॉप
OpenGL ड्राइवर हैं, तो अब एमुलेटर, Android CTS dEQP-GLES2 के लिए बनी
mustpass
सूची में शामिल सभी टेस्ट को पास कर लेता है. इसे एपीआई लेवल 24 x86 इमेज (रिवाइज़न 11 और उसके बाद के वर्शन) के लिए रिलीज़ किया गया है. इसे जल्द ही सभी सिस्टम इमेज के लिए शामिल किया जाएगा. - वीडियो चलाने की परफ़ॉर्मेंस बेहतर हुई. अब एमुलेटर, सभी वीडियो के कलर बफ़र को होस्ट/गेस्ट की शेयर की गई मेमोरी में सेव करता है. साथ ही, जीपीयू में YUV से आरजीबी में ज़रूरी फ़ाइनल कन्वर्ज़न करता है. ज़्यादातर सिस्टम पर अब 1080p30 रिज़ॉल्यूशन में वीडियो चलाया जा सकता है. इसे एपीआई लेवल 24 x86 इमेज (रिविज़न 11 और उसके बाद के वर्शन) के लिए रिलीज़ किया गया है. इसे जल्द ही सभी सिस्टम इमेज के लिए शामिल किया जाएगा.
- एमुलेटर अब बंद होने पर,
adb devices
सूची से खुद को सही तरीके से अनरजिस्टर कर लेता है. साथ ही, Linux मशीनों पर खुले टीसीपी पोर्ट बंद कर देता है. - adb कनेक्शन अब ज़्यादा भरोसेमंद हैं. चल रहे एमुलेटर का पता तेज़ी से चलता है और अब वह “ऑफ़लाइन” या “अनुमति नहीं है” स्टेटस में नहीं जाता.
25.3.0 (मार्च 2017)
इस रिलीज़ के बाद, Android Emulator को SDK टूल से अलग रिलीज़ किया जाएगा. इस रिलीज़ में परफ़ॉर्मेंस में कई तरह के सुधार किए गए हैं. साथ ही, इसमें नई सुविधाएं जोड़ी गई हैं और गड़बड़ियां ठीक की गई हैं.
मामूली बदलाव 25.3.1 (मार्च 2017)
- GLAsyncSwap को डिफ़ॉल्ट रूप से बंद करके, कुछ जीपीयू कॉन्फ़िगरेशन में क्रैश होने की समस्या को ठीक किया गया.
यह सुविधा 25.3.0 वर्शन में जोड़ी गई थी, ताकि गेम और वीडियो के लिए फ़्रेम की समयावधि और हर सेकंड में फ़्रेम की संख्या को बेहतर बनाया जा सके. हालांकि, इसकी वजह से कुछ ऐसे मशीन कॉन्फ़िगरेशन पर, एमुलेटर काम नहीं करता है जिनके बारे में जानकारी नहीं है. इसे मैन्युअल तरीके से चालू करने के लिए,
android_sdk/emulator/lib/advancedFeatures.ini
फ़ाइल खोलें औरGLAsyncSwap = on
सेट करें.
डिपेंडेंसी
- Android SDK Platform-Tools का 24 या उसके बाद का वर्शन.
- Android SDK टूल का 25.3.0 वर्शन.
नई सुविधाएं और गड़बड़ियां ठीक करना
- एमुलेटर इंजन को QEMU 2.7 पर अपडेट किया गया है. इसमें हाल ही में ठीक की गई सभी गड़बड़ियां, बेहतर परफ़ॉर्मेंस, और नई सुविधाएं शामिल हैं.
- IPv6 के लिए नई सुविधा.
- अब एमुलेटर, होस्ट पर SwiftShader का इस्तेमाल, पूरी तरह से सॉफ़्टवेयर रेंडरर के तौर पर करता है.
- Android Pipe की परफ़ॉर्मेंस में सुधार: Android Pipe, एमुलेटर और Android OS के बीच मुख्य कम्यूनिकेशन चैनल है. अब यह पहले के मुकाबले ज़्यादा तेज़ है. साथ ही, इसमें इंतज़ार का समय कम है और यह कई थ्रेड की परफ़ॉर्मेंस को बेहतर बनाता है. इससे, एमुलेटर की परफ़ॉर्मेंस में कई सुधार हुए हैं. इनमें ये शामिल हैं:
- ADB पुश/पुल की स्पीड बेहतर हुई.
- 3D ऐक्सेलरेशन की बेहतर सुविधा.
- एमुलेटर की परफ़ॉर्मेंस बेहतर हुई.
- ग्राफ़िक्स की परफ़ॉर्मेंस बेहतर हुई.
- जब मेहमान उनका अनुरोध करता है, तो अब एमुलेटर GPU-साइड बफ़र (glBindBuffers / glBufferData) का इस्तेमाल करता है. इससे कुछ ऐप्लिकेशन में सीपीयू का ओवरहेड कम हो जाता है.
- ऑडियो की सुविधा बेहतर हुई.
- तेज़ डिस्क I/O: अब एमुलेटर, डिस्क I/O को डिस्पैच करने के लिए अलग-अलग थ्रेड का इस्तेमाल करता है. इससे इंतज़ार का समय कम होता है और बेहतर थ्रूपुट मिलता है. जैसे, सीक्वेंशियल I/O स्पीड 1.5 गुना और रैंडम ऐक्सेस I/O स्पीड 5 गुना. इससे डिस्क पर फ़्लश की संख्या भी कम हो जाती है. इस वजह से, डिवाइस पर फ़िज़िकल लोड बहुत कम हो जाता है.
- अब एमुलेटर, Windows डिवाइसों पर डिस्क बूट के लिए स्पैर्स फ़ाइलों का इस्तेमाल करता है. इससे, डिवाइस को पहली बार और "डेटा मिटाने" के बाद, फिर से चालू करने में लगने वाला समय कम हो जाता है. AVD बनाते या रीसेट करते समय, अब एमुलेटर डिस्क में 2 जीबी या उससे ज़्यादा के बजाय, 100 से 200 एमबी डेटा लिखता है.
- जीयूआई (GUI) से जुड़े कई सुधार:
- अब एमुलेटर, Qt 5.7.0 का इस्तेमाल करता है. इसमें गड़बड़ियां ठीक की गई हैं और परफ़ॉर्मेंस को बेहतर बनाया गया है.
- यूज़र इंटरफ़ेस (यूआई) को शुरू करने की प्रोसेस में, अब सभी एमुलेटर को Qt प्लग इन के तौर पर लोड करने की कोशिश नहीं की जाती. इसलिए, यह प्रोसेस काफ़ी कम समय में पूरी हो जाती है. खास तौर पर, एचडीडी पर.
- यूज़र इंटरफ़ेस (यूआई) इंटरैक्शन अब ज़्यादा तेज़ और आसान हो गए हैं. इनमें, स्क्रीन को घुमाना, विंडो का साइज़ बदलना, और एक्सटेंडेड कंट्रोल विंडो को लोड करना और बंद करना शामिल है.