'Android एम्युलेटर' के लिए, हार्डवेयर की मदद से तेज़ी लाने की सुविधा कॉन्फ़िगर करें

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

आपके अनुभव को बेहतर बनाने के लिए, एमुलेटर दो मुख्य तरीकों से हार्डवेयर ऐक्सेलरेशन का इस्तेमाल कर सकता है:

  • बेहतर स्क्रीन रेंडरिंग के लिए ग्राफ़िक एक्सेलरेशन
  • बेहतर परफ़ॉर्मेंस के लिए वर्चुअल मशीन (VM) ऐक्सेलरेशन

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

ग्राफ़िक एक्सेलरेशन की सुविधा कॉन्फ़िगर करना

ग्राफ़िक एक्सेलरेशन की सुविधा, स्क्रीन रेंडरिंग को तेज़ करने के लिए, आपके कंप्यूटर के हार्डवेयर (आम तौर पर जीपीयू) का इस्तेमाल करती है. Android डिवाइस, स्क्रीन पर 2D और 3D, दोनों तरह के ग्राफ़िक रेंडर करने के लिए, एम्बेडेड सिस्टम के लिए OpenGL (OpenGL ES या GLES) का इस्तेमाल करते हैं.

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

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

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

ज़रूरी शर्तें

ग्राफ़िक्स एक्सेलरेटर का इस्तेमाल करने के लिए, आपके डेवलपमेंट एनवायरमेंट में ये चीज़ें होनी चाहिए:

  • SDK टूल: नई रिलीज़ का सुझाव दिया जाता है (कम से कम वर्शन 17)
  • SDK टूल का प्लैटफ़ॉर्म: हमारा सुझाव है कि आप SDK टूल का सबसे नया वर्शन इस्तेमाल करें. कम से कम, Android 4.0.3, रिविज़न 3 का इस्तेमाल करें

AVD Manager में ग्राफ़िक एक्सेलरेशन की सुविधा कॉन्फ़िगर करना

किसी AVD के लिए ग्राफ़िक्स एक्सेलरेशन को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

  1. AVD मैनेजर खोलें.
  2. नया AVD बनाएं या मौजूदा AVD में बदलाव करें.
  3. कॉन्फ़िगरेशन की पुष्टि करें विंडो में, एमुलेट की गई परफ़ॉर्मेंस सेक्शन ढूंढें.
  4. ग्राफ़िक: विकल्प के लिए कोई वैल्यू चुनें.
  5. पूरा करें पर क्लिक करें.

कमांड लाइन से ग्राफ़िक एक्सेलरेशन की सुविधा कॉन्फ़िगर करना

कमांड लाइन से AVD चलाते समय, ग्राफ़िक्स ऐक्सेलरेशन टाइप तय करने के लिए, -gpu विकल्प शामिल करें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

emulator -avd avd_name -gpu mode [{-option [value]} ... ]

mode की वैल्यू को इनमें से किसी एक विकल्प पर सेट किया जा सकता है:

  • auto: आपके कंप्यूटर के सेटअप के आधार पर, एमुलेटर को हार्डवेयर या सॉफ़्टवेयर ग्राफ़िक्स ऐक्सेलरेशन में से किसी एक को चुनने दें.
  • host: हार्डवेयर से तेज़ी पाने के लिए, अपने कंप्यूटर पर जीपीयू का इस्तेमाल करें. आम तौर पर, यह विकल्प एमुलेटर के लिए सबसे अच्छी ग्राफ़िक क्वालिटी और परफ़ॉर्मेंस देता है. हालांकि, अगर आपके ग्राफ़िक ड्राइवर को OpenGL रेंडर करने में समस्या आ रही है, तो आपको swiftshader_indirect या angle_indirect विकल्पों का इस्तेमाल करना पड़ सकता है.
  • swiftshader_indirect: सॉफ़्टवेयर एक्सेलेरेशन का इस्तेमाल करके ग्राफ़िक रेंडर करने के लिए, क्विक बूट के साथ काम करने वाले SwiftShader के वैरिएंट का इस्तेमाल करें. अगर आपके कंप्यूटर पर हार्डवेयर से तेज़ी लाने की सुविधा काम नहीं करती, तो यह विकल्प host मोड का एक अच्छा विकल्प है.
  • angle_indirect: (सिर्फ़ Windows के लिए) सॉफ़्टवेयर ऐक्सेलरेशन का इस्तेमाल करके ग्राफ़िक रेंडर करने के लिए, क्विक बूट के साथ काम करने वाले ANGLE Direct3D के वैरिएंट का इस्तेमाल करें. अगर आपके कंप्यूटर पर हार्डवेयर से तेज़ी लाने की सुविधा काम नहीं करती, तो यह विकल्प host मोड का एक अच्छा विकल्प है. ज़्यादातर मामलों में, ANGLE की परफ़ॉर्मेंस host मोड का इस्तेमाल करने जैसी ही होती है, क्योंकि ANGLE, OpenGL के बजाय Microsoft DirectX का इस्तेमाल करता है.

    Windows पर, आम तौर पर Microsoft DirectX ड्राइवर में OpenGL ड्राइवर के मुकाबले कम समस्याएं होती हैं. यह विकल्प, Direct3D 11 का इस्तेमाल करता है. इसके लिए, Windows 10, Windows 8.1 या Windows 7 SP1 के साथ Windows 7 प्लैटफ़ॉर्म अपडेट की ज़रूरत होती है.

  • guest: मेहमान के डिवाइस पर सॉफ़्टवेयर रेंडरिंग का इस्तेमाल करें. यह विकल्प, एमुलेटर के लिए सबसे खराब ग्राफ़िक क्वालिटी और परफ़ॉर्मेंस देता है.

mode के लिए ये विकल्प अब काम नहीं करते:

  • swiftshader: यह सुविधा 27.0.2 वर्शन में काम नहीं करती. इसके बजाय, swiftshader_indirect का इस्तेमाल करें.
  • angle: इसे 27.0.2 वर्शन में बंद कर दिया गया है. इसके बजाय, angle_indirect का इस्तेमाल करें (सिर्फ़ Windows के लिए).
  • mesa: यह सुविधा 25.3 वर्शन में काम नहीं करती. इसके बजाय, swiftshader_indirect का इस्तेमाल करें.

Android यूज़र इंटरफ़ेस (यूआई) के लिए, Skia रेंडरिंग की सुविधा चालू करना

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

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

su
setprop debug.hwui.renderer skiagl
stop
start

वर्चुअल मशीन (वीएम) की परफ़ॉर्मेंस बेहतर बनाने की सुविधा कॉन्फ़िगर करना

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

सामान्य ज़रूरी शर्तें

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

डेवलपमेंट एनवायरमेंट से जुड़ी ज़रूरी शर्तें

वीएम एक्सेलेरेशन का इस्तेमाल करने के लिए, आपके डेवलपमेंट एनवायरमेंट को ये ज़रूरी शर्तें पूरी करनी होंगी:

  • SDK टूल: कम से कम वर्शन 17; सुझाया गया वर्शन 26.1.1 या उसके बाद का वर्शन
  • AVD: Android के ज़रूरी वर्शन के बारे में नीचे दी गई टेबल में बताया गया है.

    सीपीयू आर्किटेक्चर सिस्टम इमेज से जुड़ी ज़रूरी शर्तें
    x86_64 Android 2.3.3 (एपीआई लेवल 10) और उसके बाद के वर्शन के लिए x86 या x86_64 सिस्टम इमेज
    ARM64 Android 5.0 (एपीआई लेवल 21) और इसके बाद के वर्शन के लिए arm64-v8a सिस्टम इमेज

वर्चुअलाइज़ेशन एक्सटेंशन की ज़रूरी शर्तें

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

  • Intel Virtualization Technology (VT-x, vmx) वाले Intel प्रोसेसर, जैसे कि Intel Core iX और Intel Core Ultra प्रोसेसर
  • AMD-V (SVM) वाले AMD प्रोसेसर, जैसे कि AMD Ryzen प्रोसेसर
  • Apple सिलिकॉन

Intel और AMD प्रोसेसर के लिए अन्य ज़रूरी शर्तें:

Intel और AMD प्रोसेसर के लिए, सेकंड-लेवल पता बदलने की सुविधा (Intel EPT या AMD RVI) ज़रूरी है. ज़्यादातर आधुनिक Intel और AMD प्रोसेसर, सेकंड-लेवल ऐड्रेस ट्रांसलेशन के साथ काम करते हैं. वर्चुअलाइज़ेशन एक्सटेंशन की सुविधा देने वाले, सिर्फ़ पहले-जीनरेक्शन Intel या AMD प्रोसेसर में, पेज के दूसरे लेवल के अनुवाद नहीं हो सकते.

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

पाबंदियां

वीएम एक्सेलेरेशन की ये सीमाएं हैं:

  • किसी दूसरे वर्चुअल मशीन (वीएम) में, वर्चुअल मशीन की मदद से तेज़ी से काम करने वाला एमुलेटर नहीं चलाया जा सकता. जैसे, VirtualBox, VMWare या Docker से होस्ट किया गया वर्चुअल मशीन. आपको सीधे अपने होस्ट कंप्यूटर पर, वर्चुअल मशीन (वीएम) की मदद से तेज़ी से काम करने वाला एम्युलेटर चलाना होगा.
  • आपके ऑपरेटिंग सिस्टम और हाइपरवाइजर के आधार पर, हो सकता है कि आपके पास ऐसा सॉफ़्टवेयर न चलाने का विकल्प हो जो किसी दूसरी वर्चुअलाइज़ेशन टेक्नोलॉजी का इस्तेमाल करता हो. ऐसा तब हो सकता है, जब आपने एक ही समय पर, वर्चुअल मशीन की मदद से तेज़ी से काम करने वाला एम्युलेटर चलाया हो. इस तरह के सॉफ़्टवेयर के उदाहरणों में, वर्चुअल मशीन के समाधान, कुछ एंटीवायरस प्रोग्राम, और कुछ एंटी-चीट समाधान शामिल हैं. हालांकि, इसमें और भी चीज़ें शामिल हो सकती हैं. यह समस्या ज़्यादातर Windows पर तब होती है, जब Hyper-V बंद हो. इस तरह के ज़्यादातर सॉफ़्टवेयर, Android एम्युलेटर के साथ बिना किसी समस्या के काम कर सकते हैं. हालांकि, जब कोई समस्या आती है, तो हमारा सुझाव है कि ऐसे सॉफ़्टवेयर के साथ, एक ही समय पर वीएम-ऐक्सेलरेटेड एमुलेटर न चलाएं.

हाइपरवाइजर के बारे में जानकारी

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

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

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

देखें कि कोई हाइपरवाइजर इंस्टॉल है या नहीं

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

यहां दिए गए उदाहरणों में, एमुलेटर accel-check विकल्प का इस्तेमाल करने का तरीका बताया गया है. हर उदाहरण में, Sdk Android SDK टूल की जगह है:

Windows:

c:\Users\janedoe\AppData\Local\Android> Sdk\emulator\emulator -accel-check
accel:
0
WHPX(10.0.22631) is installed and usable.
accel
Windows पर, हाइपरवाइजर के कई विकल्प उपलब्ध हैं. इसलिए, हो सकता है कि आपको यहां दिए गए उदाहरण से अलग नतीजे दिखें. उदाहरण के लिए, आपको मैसेज में इनमें से कोई एक कीवर्ड दिख सकता है: AEHD, GVM (AEHD का पुराना नाम).

macOS:

janedoe-macbookpro:Android janedoe$ ./Sdk/emulator/emulator -accel-check
accel:
0
Hypervisor.Framework OS X Version 13.2
accel

Linux:

janedoe:~/Android$ ./Sdk/emulator/emulator -accel-check
accel:
0
KVM (version 12) is installed and usable.

Windows पर, वर्चुअल मशीन की परफ़ॉर्मेंस को बेहतर बनाने की सुविधा कॉन्फ़िगर करना

Windows पर, वर्चुअल मशीन की परफ़ॉर्मेंस बेहतर करने के लिए, इनमें से किसी एक हाइपरवाइजर का इस्तेमाल किया जा सकता है:

  • Windows Hypervisor Platform (WHPX)
  • Android Emulator हाइपरवाइजर ड्राइवर (AEHD)

Windows Hypervisor Platform, Windows के साथ मिलने वाले Hyper-V Hypervisor का इस्तेमाल करता है. साथ ही, यह कम अस्थिरता के साथ सबसे अच्छा काम करता है. अगर हो सके, तो WHPX का इस्तेमाल करें.

अगर आपका सिस्टम WHPX के साथ काम नहीं करता है या आपको इसके इस्तेमाल को लेकर कोई और समस्या है, तो Android Emulator Hypervisor Driver का इस्तेमाल किया जा सकता है.

Windows Hypervisor Platform का इस्तेमाल करके, वर्चुअल मशीन की परफ़ॉर्मेंस को बेहतर बनाने की सुविधा कॉन्फ़िगर करना

WHPX को चालू करने से पहले, यह ज़रूरी है कि आपका कंप्यूटर इन ज़रूरी शर्तों को पूरा करता हो:

  • Intel प्रोसेसर: वर्चुअलाइज़ेशन टेक्नोलॉजी (VT-x), एक्सटेंडेड पेज टेबल (EPT), और अनरिस्ट्रिक्टेड गेस्ट (UG) सुविधाओं के साथ काम करते हैं. आपके कंप्यूटर की BIOS सेटिंग में, VT-x चालू होना चाहिए.
  • AMD प्रोसेसर: AMD Ryzen प्रोसेसर का सुझाव दिया जाता है. आपके कंप्यूटर की BIOS सेटिंग में, वर्चुअलाइज़ेशन या एसवीएम की सुविधा चालू होनी चाहिए.
  • Android Studio 3.2 Beta 1 या इसके बाद का वर्शन
  • Android Emulator का 27.3.8 या इसके बाद का वर्शन
  • Windows 10 या इसके बाद का वर्शन

Windows पर WHPX इंस्टॉल करने के लिए, यह तरीका अपनाएं:

  1. Windows डेस्कटॉप पर, स्टार्ट मेन्यू खोलने के लिए Windows आइकॉन पर क्लिक करें.
  2. खोज बार का इस्तेमाल करके, Windows की सुविधाएं चालू या बंद करें टाइप करें.

    Windows की सुविधाएं चालू या बंद करें कंट्रोल पैनल दिखेगा और उसे चुना जाएगा.

  3. कंट्रोल पैनल को लॉन्च करने के लिए, Enter दबाएं या Windows की सुविधाएं चालू या बंद करता है पर क्लिक करें.

  4. Windows Hypervisor Platform के बगल में मौजूद बॉक्स को चुनें.

  5. ठीक है पर क्लिक करें.

  6. इंस्टॉलेशन पूरा होने के बाद, अपना कंप्यूटर रीस्टार्ट करें.

Windows पर Android एमुलेटर हाइपरवाइजर ड्राइवर (AEHD) का इस्तेमाल करके, वर्चुअल मशीन (वीएम) की परफ़ॉर्मेंस को बेहतर बनाने की सुविधा कॉन्फ़िगर करना

Android Emulator के हाइपरवाइजर ड्राइवर को इंस्टॉल और इस्तेमाल करने से पहले, आपके कंप्यूटर को ये ज़रूरी शर्तें पूरी करनी होंगी:

  • वर्चुअलाइज़ेशन एक्सटेंशन वाले Intel या AMD प्रोसेसर.
  • 64-बिट Windows 11 या Windows 10 (32-बिट Windows पर काम नहीं करता)

    Windows 8.1, Windows 8, और Windows 7 के उपयोगकर्ता, AEHD 1.7 या इससे पहले के वर्शन का इस्तेमाल जारी रख सकते हैं. हालांकि, ऐसी स्थितियों में कोई सहायता नहीं दी जाएगी.

  • Windows की सुविधाओं वाले डायलॉग बॉक्स में, उन सुविधाओं को बंद करना ज़रूरी है जो Windows Hyper-V Hypervisor का इस्तेमाल करती हैं.

    Windows के कुछ कॉम्पोनेंट, Windows Hyper-V Hypervisor को चालू और इस्तेमाल भी करते हैं. भले ही, Windows की सुविधाओं वाले डायलॉग में Windows Hypervisor Platform को चुना न गया हो. इनमें सुरक्षा से जुड़ी सुविधाएं शामिल हैं, जैसे कि Hyper-V, कोर आइसोलेशन वगैरह. (ध्यान दें कि Hyper-V सुविधा, Hyper-V Hypervisor जैसी नहीं है.) अगर आपको ये सुविधाएं चाहिए, तो इसके बजाय WHPX का इस्तेमाल करें.

AMD प्रोसेसर पर, Android Emulator के हाइपरवाइजर ड्राइवर को Android Studio 4.0 Canary 5 या इसके बाद के वर्शन में, SDK Manager की मदद से इंस्टॉल किया जा सकता है.

Intel प्रोसेसर पर, Android Emulator के हाइपरवाइजर ड्राइवर को Android Studio Flamingo या इसके बाद के वर्शन में, SDK Manager की मदद से इंस्टॉल किया जा सकता है.

SDK Manager से इंस्टॉल करने के लिए, यह तरीका अपनाएं:

  1. टूल > SDK मैनेजर चुनें.
  2. SDK टूल टैब पर क्लिक करें और Android Emulator के लिए, हाइपरवाइजर ड्राइवर चुनें.
  3. Android Emulator के लिए, Hypervisor ड्राइवर डाउनलोड और इंस्टॉल करने के लिए, ठीक है पर क्लिक करें.
  4. इंस्टॉल करने के बाद, यह पुष्टि करें कि ड्राइवर सही तरीके से काम कर रहा है या नहीं. इसके लिए, नीचे दिए गए कमांड-लाइन निर्देश का इस्तेमाल करें:

    AEHD 2.1 और उसके बाद के वर्शन

    sc query aehd
    

    स्टेटस मैसेज में यह जानकारी शामिल होती है:

    SERVICE_NAME: aehd
           ...
           STATE              : 4  RUNNING
           ...
    

    गड़बड़ी के इस मैसेज का मतलब है कि आपके BIOS में वर्चुअलाइज़ेशन एक्सटेंशन चालू नहीं है या Hyper-V बंद नहीं है:

    SERVICE_NAME: aehd
           ...
           STATE              : 1  STOPPED
           WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
           ...
    

    AEHD 2.0 और इससे पहले के वर्शन

    sc query gvm
    

    स्टेटस मैसेज में यह जानकारी शामिल होती है:

    SERVICE_NAME: gvm
           ...
           STATE              : 4  RUNNING
           ...
    

    गड़बड़ी के इस मैसेज का मतलब है कि आपके BIOS में वर्चुअलाइज़ेशन एक्सटेंशन चालू नहीं है या Hyper-V बंद नहीं है:

    SERVICE_NAME: gvm
           ...
           STATE              : 1  STOPPED
           WIN32_EXIT_CODE    : 4294967201 (0xffffffa1)
           ...
    

Android Emulator के हाइपरवाइजर ड्राइवर को GitHub से भी डाउनलोड और इंस्टॉल किया जा सकता है. ड्राइवर पैकेज को अनपैक करने के बाद, एडमिन के विशेषाधिकारों के साथ कमांड लाइन पर silent_install.bat चलाएं.

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

AEHD 2.1 और उसके बाद के वर्शन

   sc stop aehd
   sc delete aehd

AEHD 2.0 और इससे पहले के वर्शन

   sc stop gvm
   sc delete gvm

macOS पर वीएम एक्सेलरेशन कॉन्फ़िगर करना

macOS पर, Android Emulator पहले से मौजूद Hypervisor.Framework का इस्तेमाल करता है. इसके लिए, macOS v10.10 (Yosemite) और इसके बाद के वर्शन की ज़रूरत होती है. हालांकि, हो सकता है कि macOS के लिए, Android Studio के ज़्यादा वर्शन की ज़रूरत पड़े. ऐसे मामलों में, Android Studio के सिस्टम से जुड़ी ज़रूरी शर्तों का पालन करें.

Linux पर वर्चुअल मशीन की परफ़ॉर्मेंस बेहतर बनाने की सुविधा कॉन्फ़िगर करना

Linux-based सिस्टम, KVM सॉफ़्टवेयर पैकेज की मदद से, वर्चुअल मशीन को तेज़ी से चलाने की सुविधा देते हैं. अपने Linux सिस्टम पर KVM इंस्टॉल करने के लिए, निर्देशों का पालन करें. इसके बाद, पुष्टि करें कि KVM चालू है. Ubuntu सिस्टम के लिए, Ubuntu KVM इंस्टॉलेशन देखें.

ज़रूरी शर्तें

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

Linux पर वीएम ऐक्सेलरेशन का इस्तेमाल करने के लिए, आपके कंप्यूटर में ये ज़रूरी शर्तें भी पूरी होनी चाहिए:

  • Intel प्रोसेसर के लिए: वर्चुअलाइज़ेशन टेक्नोलॉजी (VT-x), Intel EM64T (Intel 64) की सुविधाएं, और Execute Disable (XD) बिट की सुविधा चालू हो.
  • AMD प्रोसेसर के लिए: AMD वर्चुअलाइज़ेशन (AMD-V) की सुविधा.

देखें कि फ़िलहाल Linux पर KVM इंस्टॉल है या नहीं

एम्युलेटर -accel-check के कमांड-लाइन विकल्प का इस्तेमाल करके, यह देखा जा सकता है कि आपने KVM इंस्टॉल किया है या नहीं. इसके अलावा, kvm-ok कमांड वाला cpu-checker पैकेज इंस्टॉल किया जा सकता है.

नीचे दिए गए उदाहरण में, kvm-ok कमांड का इस्तेमाल करने का तरीका बताया गया है:

  1. cpu-checker पैकेज इंस्टॉल करें:

    sudo apt-get install cpu-checker
    egrep -c '(vmx|svm)' /proc/cpuinfo
    

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

  2. kvm-ok कमांड चलाएं:

    sudo kvm-ok
    

    अनुमानित आउटपुट:

    INFO: /dev/kvm exists
    KVM acceleration can be used
    

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

    INFO: Your CPU does not support KVM extensions
    KVM acceleration can NOT be used
    

Linux पर KVM इंस्टॉल करना

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

Cosmic (18.10) या उसके बाद के वर्शन:

sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

Lucid (10.04) या उसके बाद के वर्शन:

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Karmic (9.10) या इससे पहले का वर्शन:

sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils

Intel HAXM को अनइंस्टॉल करने के लिए गाइड

एमुलेटर 33.x.x.x से, HAXM का इस्तेमाल नहीं किया जा सकेगा. ऐसा इसलिए, क्योंकि Intel ने HAXM के डेवलपमेंट को बंद कर दिया है. Android एमुलेटर के हाइपरवाइजर ड्राइवर (AEHD), Intel प्रोसेसर पर Intel HAXM की जगह ले लेता है.

हमारा सुझाव है कि आप अपने Windows सिस्टम से Intel HAXM को पूरी तरह हटा दें. ऐसा तब तक करें, जब तक आपके सिस्टम में कोई ऐसा सॉफ़्टवेयर इंस्टॉल न हो जो HAXM पर निर्भर हो. इसके अलावा, अगर आपने Intel HAXM को अपने सिस्टम में बनाए रखने और उसे खुद मैनेज करने का विकल्प चुना है, तब भी ऐसा करें.

Intel HAXM को अनइंस्टॉल करने के लिए, यह तरीका अपनाएं:

देखें कि Intel HAXM इंस्टॉल है या नहीं

यह पता लगाने के लिए कि आपके Windows सिस्टम पर Intel HAXM इंस्टॉल है या नहीं, Windows कमांड कंसोल खोलें और यह कमांड चलाएं:

   sc query intelhaxm

अगर Intel HAXM इंस्टॉल और चालू है, तो आपको कमांड आउटपुट में यह मैसेज दिखेगा.

अगर Intel HAXM इंस्टॉल है, लेकिन बंद है, तो आपको कमांड के आउटपुट में यह मैसेज दिखेगा.

दोनों ही मामलों में, Intel HAXM इंस्टॉल होता है. भले ही, वह चालू हो या बंद. Intel HAXM को अनइंस्टॉल करने के लिए, आपको अगले चरण पर जाना होगा.

अगर Intel HAXM इंस्टॉल नहीं है, तो आपको यह मैसेज दिखेगा.

Android Studio में SDK मैनेजर का इस्तेमाल करके, Intel HAXM को अनइंस्टॉल करना

Android Studio में SDK मैनेजर खोलें. इसके बाद, "SDK टूल" टैब पर जाएं और फिर "Intel x86 Emulator Accelerator (HAXM इंस्टॉलर) - अब काम नहीं करता" लाइन पर जाएं. यह स्क्रीनशॉट की तरह दिखना चाहिए.

नीचे दिए गए स्क्रीनशॉट में दिखाए गए तरीके से, चेकबॉक्स से सही का निशान हटाएं.

"लागू करें" बटन पर क्लिक करें. इसके बाद, आपको यह डायलॉग दिखेगा.

Intel HAXM को अनइंस्टॉल करने के बाद, आपको यह मैसेज दिखेगा. अनइंस्टॉल हो गया है और यहां रुका जा सकता है.

अगर कोई गड़बड़ी होती है, तो अगले चरण पर जाएं.

Windows की "सेटिंग" का इस्तेमाल करके, Intel HAXM को अनइंस्टॉल करें.

Windows की "सेटिंग" खोलें और "ऐप्लिकेशन > इंस्टॉल किए गए ऐप्लिकेशन" पर जाएं.

"Intel Hardware Accelerated Execution Manager" एंट्री ढूंढें और स्क्रीनशॉट में दिखाए गए तरीके के मुताबिक, "Uninstall" पर क्लिक करें.

Intel HAXM अनइंस्टॉलर चलना चाहिए और नतीजा दिखाना चाहिए. अगर अनइंस्टॉल हो जाता है, तो Intel HAXM इंस्टॉलर पैकेज मिटाएं पर जाएं. अगर ऐसा नहीं है, तो अगले चरण पर जाएं.

कमांड लाइन का इस्तेमाल करके अनइंस्टॉल करना

  1. 'sc stop intelhaxm' चलाकर, Intel HAXM सेवा बंद करें. आपको यह आउटपुट दिखेगा.

  2. 'sc delete intelhaxm' चलाकर, Intel HAXM सेवा मिटाएं. आपको यह आउटपुट दिखेगा.

  3. Intel HAXM इंस्टॉलर पैकेज मिटाएं पर जाएं.

Intel HAXM इंस्टॉलर पैकेज मिटाएं.

यह चरण सिर्फ़ तब ज़रूरी है, जब Windows की "सेटिंग" या कमांड लाइन का इस्तेमाल करके, Intel HAXM को अनइंस्टॉल किया जा रहा हो. इस चरण को पूरा किए बिना, हो सकता है कि Android Studio का एसडीके मैनेजर, Intel HAXM को "इंस्टॉल किया गया" के तौर पर दिखाता रहे.

इंस्टॉलर पैकेज, <Your Android SDK folder>\extras\intel में मौजूद होता है. डिफ़ॉल्ट रूप से, Android SDK टूल "C:\Users\<Your Windows User ID >\AppData\Local\Android\Sdk" में इंस्टॉल हो जाएगा. उदाहरण के लिए, नीचे दिया गया स्क्रीनशॉट देखें.