कैसे ठीक करें: "HAX काम नहीं कर रहा है और एमुलेटर उत्सर्जन मोड में चलता है"


141

प्रश्न है

मुझे लगता है कि "HAX काम नहीं कर रहा है और एमुलेटर उत्सर्जन मोड में चलता है", क्या यह इंटेल x86 एमुलेटर एक्सेलेरेटर (HAXM) से संबंधित है और CPU इंटेल एटम (x86) में cpu सेट के साथ चल रहा है? और भले ही ऐसा लगता है कि AVD HAXM स्थापित करने के बाद AVD तेजी से चलता है, क्या यह संदेश इंगित करता है कि AVD प्रदर्शन में बाधा है। यह तय किया जाना चाहिए और यदि हां, तो कैसे?

मैं मैक ओएस एक्स 10.9.1 पर चल रहा हूं।

Android sdk प्रबंधक के माध्यम से मेरे सिस्टम पर क्या संस्थापित है, यह सूचीबद्ध करना:

  • उपकरण
    • एंड्रॉयड एसडीके टूल्स रेव 22.3
    • एंड्रॉइड एसडीके प्लेटफ़ॉर्म-टूल 19.0.1 संशोधित करते हैं
    • Android SDK बिल्ड-टूल्स Rev 19.0.1
    • Android SDK बिल्ड-टूल्स Rev 19

==

  • Android 4.4.2 (एपीआई 19)
    • एसडीके मंच
    • एआरएम EABI v7a सिस्टम इमेज
    • इंटेल x86 अटो सिस्टम इमेज
    • गूगल एपीआई
    • Android एसडीके के लिए स्रोत

==

  • अतिरिक्त
    • Intel x86 एमुलेटर एक्सेलेरेटर (HAXM) और I ALSO साथ ही dmg इंस्टॉलर चलाते हैं, और इसके बारे में पता चलने के बाद, मैंने इसे ठीक कर दिया है।

एवीडी की स्थापना की

  • प्लेटफार्म 4.4.2
  • एपीआई स्तर 19
  • CPU इंटेल एटम (x86)

एक बार जब मैं avd चलाता हूं:

(ruby-2.0.0-p353) .android   $ tools/emulator -avd 1AVD -wipe-data -no-boot-anim -cpu-delay 0

मैं निम्नलिखित है और एमुलेटर अंततः लोड होता है

emulator: The memory needed by this VM exceeds the driver limit.

HAX is not working and emulator runs in emulation mode

मुझे यह त्रुटि मिली, लेकिन मेरा एमुलेटर पहले से ही चल रहा था, इसलिए मेरी असली समस्या यह थी कि किसी भी सीपीयू के बजाय विजुअल स्टूडियो लक्ष्य आईफोन था , जिसने मेरी तैनाती एक सिम्युलेटर के लिए तय कर दी।
जैदर

जवाबों:


200

हाँ, इसे ठीक किया जाना चाहिए, HAXM काम नहीं कर रहा है। आपके AVD कॉन्फ़िगरेशन के अंदर उपयोग के लिए RAM कितनी निर्धारित है?

768M इसके लिए एक अच्छी संख्या है, लेकिन सबसे महत्वपूर्ण बात यह है कि HAXM की स्थापना के दौरान आपके द्वारा निर्धारित मेमोरी उपयोग के लिए यह संख्या कम या बराबर होनी चाहिए। आप इसे संशोधित करने के लिए इसकी स्थापना फिर से शुरू कर सकते हैं।


9
शुक्रिया @ ph0b, दैट्स इट, HAXM को 1024 आबंटन के साथ मेमोरी के लिए स्थापित किया गया था और मेरे एवड उदाहरण में 1907 के लिए मैमोरी एलोकेशन सेट था। इसको इंगित करने के लिए धन्यवाद।
GnrlBzik

44
HAXM इंस्टॉलर ने 1GB डिफ़ॉल्ट का सुझाव दिया है, लेकिन Nexus 5 AVD 1536 का उपयोग करने के लिए तैयार है। इसे 1GB पर सेट करें और हम चालू हैं!
आलाप

14
धन्यवाद। उन लोगों के लिए जो आश्चर्यचकित थे, HAXM की इंस्टॉलर फ़ाइल का स्थान sdk/extras/intelआपके ADT बंडल के फ़ोल्डर में स्थित है । अपने AVD प्रबंधक में HAXM प्रविष्टि पर अपने कर्सर रखने से सटीक स्थान का पता चल जाएगा।
कोह

2
@zhelon जाहिर तौर पर HAXM को कॉन्फ़िगर करने का एकमात्र तरीका इंस्टॉलर को फिर से चलाना है।
थॉमस डब्ल्यू १३'१५

23
यदि आप विंडोज और एंड्रॉइड स्टूडियो का उपयोग कर रहे हैं, तो निम्न कार्य करें। एंड्रॉइड स्टूडियो में: टूल> एंड्रॉइड> एवीडी मैनेजर> आपका डिवाइस> उन्नत सेटिंग्स दिखाएं> रैम को पसंदीदा आकार में सेट करें। नियंत्रण कक्ष में> कार्यक्रम और सुविधाएँ> इंटेल हार्डवेयर त्वरित निष्पादन प्रबंधक> बदलें> मैन्युअल रूप से सेट करें> पसंदीदा आकार पर सेट करें।
न्यूरोट्रांसमीटर

66

यदि आप एक मैक पर हैं, तो आप होमब्रेhaxm का उपयोग करके पीपा के माध्यम से स्थापित कर सकते हैं जो एक बिल्ट-इन एक्सटेंशन (2015 तक) है जो नॉन-ओपन-सोर्स और डेस्कटॉप ऐप (जैसे क्रोम, फ़ायरफ़ॉक्स, एक्लिप्स, आदि) स्थापित करने की अनुमति देता है:

brew cask install intel-haxm 

Android स्टूडियो

आप एंड्रॉयड स्टूडियो का उपयोग कर रहे हैं तो आप मेनू से एक ही परिणाम प्राप्त कर सकते हैं ToolsSDK Manager, और फिर आगे एसडीके उपकरण टैब, के चेकबॉक्स का चयन इंटेल x86 एम्यूलेटर त्वरक (HAXM संस्थापक) , और क्लिक करें Ok


49

जिस तरह से मैंने इसे हल किया है वह AVD मेमोरी सीमा और HAXM मेमोरी को आकार में बराबर होने के लिए है जो कि 1 जीबी = 1024 एमबी है। AVD में HAXM की तुलना में अधिक मेमोरी सीमा नहीं हो सकती है।

1. HAXM मेमोरी को 1024 M पर सेट करना

HAXM मेमोरी को बदलने का एकमात्र तरीका इसे फिर से स्थापित करना है। मैंने इसे टर्मिनल का उपयोग करके किया। अपनी मशीन में Hardware_Accelerated_Execution_Manager का पता लगाएँ । फिर इंस्टॉलेशन स्क्रिप्ट को चलाने के लिए उस फ़ोल्डर को निर्देशिका बदलें।

cd ~/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

-OR-

cd ~/Library/Developer/Xamarin/android-sdk-macosx/extras/intel/Hardware_Accelerated_Execution_Manager

अनुमति बदलने की आवश्यकता हो सकती है:

sudo chmod 755 "HAXM installation"

फिर:

./HAXM\ installation -m 1024

-OR-

sudo ./"HAXM installation" -m 1024

2. HAXM मेमोरी लिमिट के साथ वर्चुअल डिवाइस को एक ही आकार में सेट करना

यहां छवि विवरण दर्ज करें

यह मेरे लिए काम करता है। सौभाग्य!


2
यह मेरे लिए भी काम किया। यदि आप AVD कॉन्फ़िगरेशन स्क्रीन की तलाश कर रहे हैं, तो यह टूल> Android> AVD प्रबंधक
stephenspann

2
यदि आप एक ही समय में एक से अधिक AVD चलाना चाहते हैं, तो HAXM अधिकतम RAM को सभी AVDs चलाने के लिए कुल होना चाहिए, अर्थात दो AVDs @ 1024MB = 2048MB, तो:$ sudo ./HAXM\ installation -m 2048
जेसन हार्टले


20

विंडोज के लिए।

इन Android Studio:

उपकरण > Android > AVD प्रबंधक > आपका डिवाइस > पेंसिल आइकन > उन्नत सेटिंग्स दिखाएं > मेमोरी और स्टोरेज > रैम > रैम को अपने पसंदीदा आकार में सेट करें।

इन Control Panel:

कार्यक्रम और सुविधाएँ > इंटेल हार्डवेयर त्वरित निष्पादन प्रबंधक > बदलें > मैन्युअल रूप से सेट करें> रैम को अपने पसंदीदा आकार में सेट करें।

दोनों स्थानों में समान होने के लिए निर्धारित RAM आकारों के लिए बेहतर है।


2
इन मूल्यों को निर्धारित करने के लिए सटीक स्थान की व्याख्या करने के लिए +1। इंटरनेट पर बहुत सारे उत्तर ज्ञान का एक स्तर मानते हैं, जो पाठक, मेरे जैसे, हमेशा नहीं होता है :-)
माइककूल

4

हैस की इंटेल वेबसाइट पर नवीनतम संस्करण की जाँच करें और इसे स्थापित करें। अनुशंसित आकार में राम को "प्रीसेट 2048" दें, फिर ऐप को चलाने का प्रयास करें। चीजें ठीक होनी चाहिए।


2

हाँ, इसे ठीक किया जाना चाहिए, HAXM काम नहीं कर रहा है।

HAXM कभी-कभी काम करता है; HAXM के साथ अनुभव वर्तमान में प्लेटफार्मों में छिटपुट है।

उदाहरण के लिए, मैंने 2009 की देर से आईमैक को 10.8.5 और i7 के प्रोसेसर @ 2.8Ghz, Android SDK 22.6 को आज सुबह अपडेट किया (03/05/14)। API17 इस iMac मशीन पर HAXM त्वरण के साथ एमुलेटर का निर्माण करेगा, API19 चोक करता है।

मेरे पास 2013 की शुरुआत में MBP 15 "रेटिना 10.8.5 और i7 प्रोसेसर @ 2.7Ghz पर चल रहा है, आज सुबह (03/05/14) अपडेट की गई सभी अच्छाइयों के साथ एंड्रॉइड एसडीके 22.6। एपीआई 17 HAXM त्वरण के साथ एमुलेटर का निर्माण करेगा, एपीआई 19 बहुत अच्छा काम करता है। ।

मेरे (व्यक्तिगत) के लिए Ditto देर से 2013 MBP रेटिना 13 "दोहरे कोर i5 और Mavericks के साथ।

पुराने CPU के (यहां तक ​​कि i7 के) चिप चिप के गुम होने पर वर्चुअलाइजेशन के लिए कुछ चल रहा है कि नई API19 x86 छवियों को काम करने के लिए HAXM की जरूरत है। अगर API19 काम नहीं कर रहा है, तो API17 या 16 भी आज़माएँ।


2

अपने मैक पर खोजक खोलें फिर Ctr + Alt + G इस प्रकार लिखें/Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

एमुलेटर एक्सीलरेटर का इंस्टॉलर ढूंढने वाला


ऊपर दिए गए कीस्ट्रोके अनुक्रम ने मेरे लिए काम नहीं किया, लेकिन बस IntelHAXM_<version name>.dmg'sdk / extras / Intel' dir में फ़ाइल की तलाश की और वहां से इंस्टॉलर चलाया (Mac OSX)
kip2

2

यदि आप Intel प्रोसेसर चला रहे हैं, तो सुनिश्चित करें कि HAXM (Intel® Hardware Accelerated Execution Manager) इंस्टॉलर SDK प्रबंधक के माध्यम से SDK प्रबंधक में इस विकल्प की जाँच करके स्थापित किया गया है। और फिर नीचे पथ के माध्यम से HAXM इंस्टॉलर चलाएं

your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

HAX इंस्टॉलेशन करते समय आवंटित राम आकार की भी जांच करें ताकि यह आपके एमुलेटर के रैम आकार को फिट करे।

यह वीडियो उन सभी आवश्यक चरणों को दिखाता है जो समस्या को हल करने में आपकी मदद कर सकते हैं।

अगर आप HAXM को स्थापित करने के बाद समस्या का सामना करते हैं तो यह वीडियो भी आपकी मदद करेगा।


1

HAX इंस्टॉलेशन करते समय या तो आबंटित रैम साइज़ को बढ़ाएँ, ताकि एमुलेटर के रैम साइज़ की तुलना में बिलकुल या अधिक ऊँची जगह फिट हो सके जिसे आप "Intel x86 एम्यूलेटर एक्सेलेरेटर (HAXM)" मोड में लॉन्च करना चाहते हैं।

एक बार जब आप इसके साथ सफल हो जाते हैं, तो अब आप इसे कंसोल / लॉग में देख सकते हैं

यहां छवि विवरण दर्ज करें


1

आपको HAX इंस्टॉलेशन करते समय आवंटित आकार से सत्यापित करना होगा कि AVD एम्यूलेटर कॉन्फ़िगरेशन में आकार की तुलना में समान है।

आप यहाँ फ्रेंच में देख सकते हैं: http://blerow.blogspot.fr/2015/01/android-studio.html


1

जेकॉब का समाधान पूरी तरह से काम करता है। सावधानी: आपके द्वारा प्रदान किए जाने वाले HAXM का उपयोग सभी चलने वाले उपकरणों में किया जाता है। तो अगर आप एक ही समय में एक फोन और टैबलेट पर परीक्षण कर रहे हैं और प्रत्येक को 1G की आवश्यकता है। फिर सुनिश्चित करें कि आपका HAXM आवंटित 2G है।


1

एसडीके प्रबंधक से HAXM डाउनलोड करें

एंड्रॉइड स्टूडियो से अपना एसडीके प्रबंधक खोलें, स्क्रीन शॉट में दिखाए गए आइकन पर क्लिक करें।

यहां छवि विवरण दर्ज करें

"डिफ़ॉल्ट सेटिंग्स" डायलॉग पर "लॉन्च स्टैंडअलोन एसडीके प्रबंधक" पर क्लिक करें।

यहां छवि विवरण दर्ज करें

नोड "एक्स्ट्रा> इंटेल x86 एमुलेटर एक्सेलेरेटर (HAXM इंस्टॉलर) की जाँच करें" और HAXM डाउनलोड के साथ आगे बढ़ें।

यहां छवि विवरण दर्ज करें

HAXM स्थापित या संशोधित करना

अब आप डाउनलोड स्थान तक पहुँच कर HAXM की स्थापना (या मौजूदा इंस्टाल्टिनो को संशोधित) के साथ उपयोग कर सकते हैं। इस पथ को "रन" में दर्ज करें

% LOCALAPPDATA% \ एंड्रॉयड \ एसडीके \ एक्स्ट्रा कलाकार \ इंटेल \ Hardware_Accelerated_Execution_Manager

और फ़ाइल "Intelhaxm-android.exe" पर डबल क्लिक करें

आप मौजूदा HAXM इंस्टॉल को संशोधित करते हुए HAXM को आवंटित मेमोरी का आकार बढ़ा सकते हैं। मेरे पास 32 जीबी रैम के साथ एक मशीन है और एक ही समय में (स्वचालित परीक्षण आदि के लिए) कई एवीडी लॉन्च करना चाहता हूं, इसलिए मैंने 8 जीबी को एचएकेएम को आवंटित किया है।

चेतावनी

यदि आप एक 1 GB का AVD चला रहे हैं और HAXM को 2 GB आवंटित कर रहे हैं, तो आप RAM के साथ एक और AVD को 1 GB से अधिक नहीं चला सकते हैं। कृपया सुनिश्चित करें कि जब आप HAXM को संशोधित कर रहे हैं या इंस्टॉल कर रहे हैं (केवल किसी सुपरराइज से बचने के लिए) Android डिवाइस मॉनिटर नहीं चल रहा है।

यहां छवि विवरण दर्ज करें

इन चरणों का विंडोज प्लेटफॉर्म पर परीक्षण किया जाता है, लेकिन आम तौर पर अन्य प्लेटफार्मों पर भी थोड़ा संशोधन के साथ लागू किया जा सकता है।


1

मेरी समस्या यह थी कि मैं अब एक एमुलेटर नहीं चला सकता था जो काम कर चुका था क्योंकि मैंने एमुलेटर एप्लिकेशन को छोड़ दिया था, लेकिन प्रक्रिया पूरी तरह से समाप्त नहीं हुई थी, इसलिए मैं एक और एमुलेटर लॉन्च करने की कोशिश कर रहा था, जबकि पिछले एक अभी भी चल रहा था। एक मैक पर, मुझे अन्य प्रक्रिया को देखने और इसे मारने के लिए गतिविधि मॉनिटर का उपयोग करना पड़ा। कदम:

  1. गतिविधि मॉनिटर खोलें (उपयोगिताओं में या कमांड + स्पेस का उपयोग करके)
  2. प्रक्रिया नाम, मेरे मामले में, qemu- प्रणाली का पता लगाएँ ...
  3. प्रक्रिया का चयन करें।
  4. शीर्ष बाईं ओर 'x' बटन का उपयोग कर छोड़ने की प्रक्रिया को बाध्य करें।
  5. मुझे 'फोर्स क्विट' का उपयोग करने की आवश्यकता नहीं थी, बस सादा 'छोड़ो', लेकिन आप या तो उपयोग कर सकते हैं।

1

मेरे मामले में, यह त्रुटि तब ठीक हुई जब मैंने AVD मेमोरी के बराबर HAXM मेमोरी सेट की। HAXM मेमोरी 1024 MB = AVD मेमोरी 1024 MB

Hax is enabled
Hax ram_size 0x40000000
HAX is working and emulator runs in fast virt mode.

इस बिंदु तक त्रुटि को ठीक किया जाना चाहिए।

अब मैं अपने विशिष्ट वातावरण को सूचीबद्ध कर रहा हूँ अगर यह OS X का उपयोग करने वाले किसी व्यक्ति के लिए कुछ मददगार हो सकता है।

OS X El Capitan 10.11.4

मैकबुक (13 इंच), 2 गीगाहर्ट्ज इंटेल कोर 2 डुओ, 4 जीबी राम।

एंड्रॉइड स्टूडियो 2.1

मार्शमैलो (23) x86 चमकती Android आइकन स्क्रीन को पारित नहीं किया को भी घंटों तक ।

लॉलीपॉप (22) x86 ने चमकती हुई एंड्रॉइड आइकन स्क्रीन को पास किया और फिर दिखाया

  • Android शुरू करना (y ऐप्स से ऑप्टिमाइज़ करना x)
  • Android शुरू करना (एप्लिकेशन शुरू करना)
  • Android शुरू करना (संपर्क डेटाबेस अपडेट करना)
  • एंड्रॉइड (फिनिशिंग बूट) शुरू करना और घंटों तक यहां अटका रहा

किटकैट (19) x86 ने सफलतापूर्वक काम किया और मैं वहां हैलो दुनिया को स्थापित कर सकता था।


क्या यह एक उत्तर है? @zeeawan
GnrlBzik

हाँ, HAXM मेमोरी 1024 MB = AVD मेमोरी 1024 MB संयोजन हैक्स ने काम करना शुरू कर दिया है। इसके अलावा, यह उत्तर बताता है कि एमुलेटर ने मेरे लिए ओएस एक्स पर कैसे काम करना शुरू कर दिया।
ज़ेवन

मुझे और अधिक कथा की आवश्यकता है।
GnrlBzik

तो क्या आप कह रहे हैं कि आपने त्रुटि को ठीक कर लिया है, लेकिन आपके पास अभी भी एमुलेटर के साथ मुद्दे हैं जो बूट करने के लिए उम्र ले रहे हैं?
सैम

यह किटकैट (19) x86 के साथ ठीक था।
ज़ीवान

0

अपने AVD डिवाइस कॉन्फ़िगरेशन को फिर से खोलें। AVD प्रबंधक में डिवाइस का संपादन करके। AVD Android संस्करण का चयन करने के लिए आगे बढ़ें। दाहिने फलक पर एक अनुशंसा प्रदर्शित की जाती है, उस अनुशंसा का पालन किया जाता है और सभी को ठीक किया जाएगा।


0

HAX को सौंपी गई डिफ़ॉल्ट मेमोरी 1024MB है। और नेक्सस 5x एपीआई 25 के लिए एमुलेटर में 1536MB जाहिरा तौर पर है।

यदि आप Android स्टूडियो का उपयोग कर रहे हैं,

  • बस उपकरण पर जाएँ -> AVD प्रबंधक।
  • फिर एमुलेटर का चयन करें और संपादन के लिए दाईं ओर पेंसिल बटन पर क्लिक करें।
  • नई विंडो में उन्नत सेटिंग्स पर जाएं और RAM मान को 1024 में बदलें

एक जादू की तरह काम करता है। :)

Android स्टूडियो का स्क्रीनशॉट

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.