Як виправити: "HAX не працює і емулятор працює в режимі емуляції"


141

Питання є

Я отримую "HAX не працює і емулятор працює в режимі емуляції", це пов'язано з встановленням Intel X86 Eculator Accelerator (HAXM) та запуском avd з процесором, встановленим на процесор Intel Atom (x86)? І навіть незважаючи на те, що AVD працює швидше після того, як я встановив HAXM, але це повідомлення вказує на те, що продуктивність AVD перешкоджає. Чи слід це фіксувати і якщо так, то як?

Я бігаю на mac os x 10.9.1.

Перелік того, що встановлено у моїй системі через android sdk manager:

  • Інструменти
    • Android SDK Tools Rev 22.3
    • Android SDK Platform-tools rev 19.0.1
    • Android SDK Build-tools Rev 19.0.1
    • Android SDK Build-tools Rev 19

==

  • Android 4.4.2 (API 19)
    • Платформа SDK
    • Зображення системи ARM EABI v7a
    • Зображення системи Ato Intel x86
    • API Google
    • Джерела для Android SDK

==

  • Екстри
    • Intel X86 Emulator Accelerator (HAXM) І Я ТАКОЖ запускаю інсталятор dmg, а також встановлюю гаряче виправлення, після того як я дізнався про це.

Налаштування AVD

  • Платформа 4.4.2
  • API рівня 19
  • Процесор Intel Atom (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

У мене виникла ця помилка, але мій емулятор вже працював, тому справжньою моєю проблемою було те, що цільовою метою Visual Studio був iPhone, а не будь-який процесор , який виправив моє розгортання на тренажері.
Джайдер

Відповіді:


200

Так, це має бути виправлено, HAXM не працює. Скільки оперативної пам’яті встановлено для використання у вашій конфігурації AVD?

768M - це хороше число, але головне, щоб це число було нижчим або рівним використанню пам'яті, яку ви встановили під час встановлення HAXM. Ви можете знову запустити її установку, щоб змінити її.


9
дякую @ ph0b, ось так, HAXM був встановлений з 1024 розподілом для пам'яті, і мій екземпляр avd встановив пам’ять на 1907. Дякую, що вказали на це.
GnrlBzik

44
Інсталятор HAXM запропонував 1 Гб за замовчуванням, але Nexus 5 AVD встановлений на використання 1536. Встановіть його на 1 ГБ і ми вже працюємо!
aalaap

14
Дякую. Для тих, хто цікавився, розташування файлу інсталятора HAXM знаходиться в sdk/extras/intelпапці вашого пакета ADT. Якщо помістити курсор на запис HAXM у вашому диспетчері AVD, з’явиться точне місцеположення.
Ко

2
@zhelon, мабуть, єдиний спосіб налаштувати HAXM - це запустити інсталятор знову.
ThomasW

23
Якщо ви використовуєте Windows та Android Studio, зробіть наступне. В Android Studio: Інструменти> Android> AVD Manager> Ваш пристрій> Показати розширені налаштування> Установіть оперативну пам’ять на бажаний розмір. У Панелі керування> Програми та функції> Менеджер прискорених програмного забезпечення Intel> Змінити> Встановити вручну> Встановити бажаний розмір.
Нейромедіатор

66

Якщо ви перебуваєте на Mac, ви можете встановити haxmза допомогою homebrew через cask, який є вбудованим розширенням (станом на 2015 рік), що дозволяє встановлювати програми без відкритого коду та настільних ПК (наприклад, хром, фаєрфокс, затемнення тощо):

brew cask install intel-haxm 

Android Studio

Якщо ви використовуєте Android Studio, ви можете досягти такого ж результату в меню ToolsSDK Manager, а потім на вкладці інструменти SDK встановіть прапорець для акселератора емулятора Intel 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 Manager
stephenspann

2
Якщо ви хочете, щоб одночасно працювало більше одного AVD, максимальна оперативна пам'ять HAXM повинна бути загальною для всіх запущених AVD, тобто двох AVD при 1024MB = 2048MB, так що:$ sudo ./HAXM\ installation -m 2048
Джейсон Хартлі,


20

Для Windows.

В Android Studio:

Інструменти > Android > AVD Manager > Ваш пристрій > Піктограма олівця > Показати розширені налаштування > Пам'ять і зберігання > ОЗУ > Встановіть оперативну пам’ять на бажаний розмір.

В Control Panel:

Програми та функції > Менеджер програмного забезпечення прискореного виконання програмного забезпечення Intel > Змінити > Встановити вручну > Встановити оперативну пам’ять на бажаний розмір.

Краще, щоб розміри оперативної пам’яті, встановлені в обох місцях, були однаковими.


2
+1 для пояснення точного місця для встановлення цих значень. Забагато відповідей в Інтернеті передбачає рівень знань, який читач, як я, не завжди має :-)
MikeKulls

4

Перевірте останню версію Has на веб-сайті Intel та встановіть її. Нехай таран рекомендованого розміру "попередньо встановлений 2048", а потім спробуйте запустити додаток. Речі повинні працювати добре.


2

Так, це має бути виправлено, HAXM не працює.

HAXM іноді працює; досвід роботи з HAXM наразі є спорадичним на всіх платформах.

Наприклад, у мене в кінці 2009 року працює iMac під керуванням 10.8.5 і i7 процесор @ 2.8 ГГц, Android SDK 22.6 з усіма смакотами, оновленими сьогодні вранці (05.05.14). API17 створить емулятори з прискоренням HAXM на цій машині iMac, API19 задушиться.

Також у мене є ранній 2013-й MBP 15 "Retina під керуванням 10.8.5 та i7 процесор @ 2.7Ghz, Android SDK 22.6 з усіма смакотами, оновленими сьогодні вранці (05.05.14). API17 створить емулятори з прискоренням HAXM, API19 також чудово працює .

Діто для мого (особистого) кінця 2013 року MBP Retina 13 "з двоядерними i5 та Mavericks.

Щось для віртуалізації на рівні чіпів не вистачає у старих процесорів (навіть i7-х), яким нові зображення API19 x86 потрібні HAXM для роботи. Якщо API19 не працює, спробуйте API17 або навіть 16.


2

На своєму mac Відкрийте Finder, Ctr + Alt + G після чого введіть це/Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

Ви збираєтесь знайти інсталятор прискорювача емулятора, тому запустіть його та встановіть пам'ять, яку вам потрібно змінити та спробуйте запустити додаток для android


Наведена вище послідовність натискань клавіш не працювала для мене, але просто шукала IntelHAXM_<version name>.dmgфайл у режимі 'sdk / extras / intel' та запускала звідти інсталятора (Mac OSX)
kip2

2

якщо ви працюєте з процесором Intel, переконайтесь, що інсталятор HAXM (Intel® Accelerated Execution Manager) встановлений через SDK Manager, перевіривши цю опцію в диспетчері SDK. а потім запустіть інсталятор HAXM ext через шлях нижче

your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

також перевірте розмір рамки, що виділяється під час встановлення HAX, щоб він відповідав розміру таран вашого емулятора.

У цьому відео показані всі необхідні кроки, які можуть допомогти вам вирішити проблему.

Це відео також допоможе вам у разі виникнення проблеми після встановлення HAXM.


1

Або збільште розмір рамки, що виділяється під час встановлення HAX, щоб точно підходити або трохи більше місця, ніж розмір барабана емулятора, який ви хочете запустити в режимі "Intel X86 Emulator Accelerator (HAXM)",

Як тільки вам це вдасться, ви зможете переглянути це в консолі / журналі

введіть тут опис зображення



1

Рішення geckob прекрасно працює. Попередження: HAXM, який ви надаєте, використовується на всіх запущених пристроях. Тож якщо ви тестуєте одночасно телефон і планшет, і кожен має вимогу 1G. Потім переконайтеся, що ваш HAXM призначений принаймні 2G.


1

Завантажте HAXM з диспетчера SDK

Відкрийте диспетчер SDK в Android Studio, натисніть значок, показаний на знімку екрана.

введіть тут опис зображення

Клацніть на "Запустити автономний менеджер SDK" у діалоговому вікні "Налаштування за замовчуванням".

введіть тут опис зображення

Перевірте вузол "Додаткові елементи> Intel X86 Emulator Accelerator (інсталятор HAXM)" і продовжуйте завантаження HAXM.

введіть тут опис зображення

Встановлення або зміна HAXM

Тепер ви можете отримати доступ із встановленням (або зміною існуючого інстатуіно) HAXM, перейшовши до місця завантаження. Введіть цей шлях у "пробіг"

% localappdata% \ Android \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager

і двічі клацніть файл "intelhaxm-android.exe"

Ви можете збільшити обсяг пам'яті, виділеної HAXM, змінюючи існуючу установку HAXM. У мене є машина з 32 ГБ оперативної пам’яті і хотіла б запустити кілька AVD одночасно (для автоматизованого тестування тощо), тому я виділив 8 ГБ для HAXM.

Caveat

Якщо ви використовуєте один AVD об'ємом 1 Гб і виділив 2 ГБ для HAXM, ви не можете запустити інший AVD з оперативною пам’яттю більше 1 ГБ. Переконайтеся, що монітор пристроїв Android не працює, коли ви змінюєте або встановлюєте HAXM (лише щоб уникнути будь-яких сюрпризів).

введіть тут опис зображення

Ці кроки протестовані на платформі Windows, але, як правило, вони можуть бути застосовані і до інших платформ з незначною модифікацією.


1

Моя проблема полягала в тому, що я більше не міг запустити емулятор, який працював, тому що я вийшов із програми емулятора, але процес закінчився не повністю, тому я намагався запустити інший емулятор, коли попередній ще працював. На mac, мені довелося скористатися Монітором активності, щоб побачити інший процес і вбити його. Кроки:

  1. Відкрити монітор активності (утиліти або за допомогою Command + Space)
  2. Знайдіть ім'я процесу, в моєму випадку qemu-система ...
  3. Виберіть процес.
  4. Змусити процес вийти за допомогою кнопки 'x' у верхньому лівому куті.
  5. Мені не довелося використовувати «Форс кинути», а просто «Вийти», але ви можете використовувати будь-яке.

1

У моєму випадку ця помилка була виправлена, коли я встановив пам'ять HAXM, рівну пам'яті AVD. Пам'ять HAXM 1024 МБ = пам'ять AVD 1024 МБ

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

До цього моменту помилку слід виправити.

Тепер я перераховую моє конкретне середовище, якщо це може бути корисною для когось із ОС X.

OS X El Capitan 10.11.4

MacBook (13-дюймовий), 2 ГГц Intel Core 2 Duo, 4 ГБ оперативної пам’яті.

Android Studio 2.1

Marshmallow (23) x86 не пройшов миготливий екран піктограм Android навіть години.

Lollipop (22) x86 пройшов блимаючий екран піктограми Android, а потім показав

  • Запуск Android (оптимізація x із y додатків)
  • Запуск Android (запуску програм)
  • Запуск Android (оновлення бази даних контактів)
  • Запустив Android (Закінчення завантаження) і залишився застряг тут годинами .

KitKat (19) x86 успішно працював, і я міг встановити там привіт.


це відповідь? @zeeawan
GnrlBzik

Так, пам'ять HAXM 1024 МБ = AVD-пам’ять 1024 Мб, комбінація змушує запустити роботу. Плюс ця відповідь стосується того, як емулятор почав працювати для мене в OS X.
zeeawan

Потрібно більше розповіді, я думаю.
GnrlBzik

Так ви кажете, що ви виправили помилку, але у вас все ще виникають проблеми з емулятором, який віком завантажується?
Сем

Це було чудово з KitKat (19) x86.
zeeawan

0

Відкрийте конфігурацію пристрою AVD. шляхом редагування пристрою в диспетчері AVD. приступайте до вибору версії Android AVD. На правій панелі відображається рекомендація, яка слідує за цією рекомендацією, і все буде виправлено.


0

Пам'ять за замовчуванням, призначена HAX, становить 1024 Мб. А емулятор має 1536 МБ, мабуть, для Nexus 5x api 25.

якщо ви використовуєте Android Studio,

  • просто перейдіть до інструментів -> AVD-менеджер.
  • Потім виберіть емулятор і натисніть кнопку олівця праворуч для редагування.
  • Перейдіть до розширених налаштувань у новому вікні та змініть значення ОЗУ на 1024

Працює як шарм. :)

скріншот андроїд-студії

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.