Как исправить: "HAX не работает и эмулятор работает в режиме эмуляции"

Вопрос

Я получаю "HAX не работает и эмулятор работает в режиме эмуляции", это связано с установкой Intel x86 Emulator Accelerator (HAXM) и запуском avd с процессором, установленным в CPU 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 версия 19.0.1
    • Android SDK Build-tools, версия 19.0.1
    • Android SDK Build-tools, версия 19

==

  • Android 4.4.2 (API 19)
    • Платформа SDK
    • Изображение системы ARM EABI v7a
    • Системный образ Intel x86 Ato
    • Google API
    • Исходники для 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

17 ответов

Решение

Да, это должно быть исправлено, HAXM не работает. Сколько оперативной памяти установлено для использования в конфигурации AVD?

768M - хорошее число для него, но самое главное, это число должно быть меньше или равно использованию памяти, которое вы установили во время установки HAXM. Вы можете запустить его установку снова, чтобы изменить его.

Если вы на Mac, вы можете установить haxm используя homebrew через cask, который является встроенным расширением (по состоянию на 2015 г.), которое позволяет устанавливать приложения с открытым исходным кодом и настольные приложения (например, chrome, firefox, eclipse и т. д.):

brew cask install intel-haxm 

Я решил это, установив ограничение объема памяти AVD и памяти HAXM равным 1 ГБ = 1024 МБ. AVD не может иметь более высокий предел памяти, чем HAXM.

1. Установка памяти HAXM на 1024 М

Единственный способ изменить память 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

Это работает для меня. Удачи!

Установите последнюю версию HAXM от Intel: https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager

После этого работает

Для Windows.

В Android Studio:

Инструменты > Android > AVD Manager > Ваше устройство > Значок карандаша> Показать дополнительные настройки > Память и память > ОЗУ > Установите для ОЗУ желаемый размер.

В Control Panel:

Программы и компоненты > Intel Hardware Accelerated Execution Manager > Изменить > Настроить вручную > Установить нужный размер оперативной памяти.

Лучше, чтобы размеры ОЗУ, установленные в обоих местах, были одинаковыми.

Проверьте последнюю версию Has на сайте Intel и установите ее. Пусть баран в рекомендованном размере "preset 2048", затем попробуйте запустить приложение. Вещи должны работать нормально.

На вашем Mac Откройте Finder тогда Ctr + Alt + G после этого /Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

Вы найдете установщик ускорителя эмулятора, так что запустите его и настройте нужную память, измените ее и попробуйте запустить приложение Android

Да, это должно быть исправлено, HAXM не работает.

HAXM иногда работает; опыт работы с HAXM в настоящее время является спорадическим для разных платформ.

Например, в конце 2009 года iMac работал с 10.8.5 и процессором i7 @2.8 ГГц, Android SDK 22.6, и все вкусности были обновлены сегодня утром (05/05/14). API17 создаст эмуляторы с ускорением HAXM на этой машине iMac, API19 заглушит.

У меня также есть MBP 15" Retina начала 2013 года с 10.8.5 и процессором i7 @2.7 ГГц, Android SDK 22.6 со всеми вкусностями, обновленными сегодня утром (03.05.14). API17 будет создавать эмуляторы с ускорением HAXM, API19 тоже отлично работает,

То же самое для моего (личного) конца 2013 года MBP Retina 13"с двухъядерным процессором i5 и Mavericks.

В виртуализации на уровне чипа чего-то не хватает в старых процессорах (даже в i7), которые нужны новым образам API19 x86 для работы HAXM. Если API19 не работает, попробуйте API17 или даже 16.

Если вы используете процессор Intel, убедитесь, что установщик HAXM (Intel® Hardware Accelerated Execution Manager) установлен через SDK Manager, отметив этот параметр в SDK Manager. а затем запустите установщик HAXM ext по указанному ниже пути

your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

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

В этом видео показаны все необходимые шаги, которые могут помочь вам решить проблему.

Это видео также поможет вам, если вы столкнулись с проблемой после установки HAXM.

Загрузите HAXM из SDK Manager

Откройте SDK Manager из Android Studio, щелкните значок, показанный на снимке экрана.

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

Нажмите "Запустить автономный менеджер SDK" в диалоговом окне "Настройки по умолчанию".

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

Проверьте узел "Дополнительно> Intel x86 Emulator Accelerator (установщик HAXM)" и перейдите к загрузке HAXM.

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

Установка или изменение HAXM

Теперь вы можете получить доступ с помощью установки (или изменения существующего installtino) HAXM, открыв папку для загрузки. Введите этот путь в "запустить"

% LOCALAPPDATA%\Android\ SDK \ Extras\ интел \Hardware_Accelerated_Execution_Manager

и дважды щелкните файл "intelhaxm-android.exe"

Вы можете увеличить размер памяти, выделенной для HAXM, изменяя существующую установку HAXM. У меня есть машина с 32 ГБ оперативной памяти, и я хочу запустить несколько AVD одновременно (для автоматического тестирования и т. Д.), Поэтому я выделил 8 ГБ для HAXM.

Предостережение

Если вы используете один AVD объемом 1 ГБ и выделите 2 ГБ для HAXM, вы не сможете запустить другой AVD с ОЗУ более 1 ГБ. Пожалуйста, убедитесь, что Android Device Monitor не работает, когда вы изменяете или устанавливаете HAXM (просто чтобы избежать каких-либо неожиданностей).

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

Эти шаги протестированы на платформе Windows, но в целом могут быть применены и к другим платформам с небольшими изменениями.

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

Необходимо убедиться, что размер, выделенный при установке HAX, совпадает с размером в конфигурации эмулятора AVD.

Вы можете увидеть на французском языке здесь: http://blerow.blogspot.fr/2015/01/android-studio.html

Моя проблема заключалась в том, что я больше не мог запускать эмулятор, который работал, потому что я вышел из приложения эмулятора, но процесс не был полностью завершен, поэтому я пытался запустить другой эмулятор, пока предыдущий еще работал. На Mac мне пришлось использовать Activity Monitor, чтобы увидеть другой процесс и убить его. шаги:

  1. Откройте Activity Monitor (в утилитах или используя Command+Space)
  2. Найдите имя процесса, в моем случае, qemu-system...
  3. Выберите процесс.
  4. Принудительно завершите процесс, используя кнопку "х" в левом верхнем углу.
  5. Мне не нужно было использовать "Force Quit", просто "Quit", но вы можете использовать любой.

В моем случае эта ошибка была исправлена, когда я установил память HAXM равной памяти AVD. Память HAXM 1024 МБ = память AVD 1024 МБ

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

MacBook (13 дюймов), Intel Core 2 Duo 2 ГГц, Ram 4 ГБ.

Android Studio 2.1

Marshmallow (23) x86 не пропускал мигающий экран с иконкой Android даже в течение нескольких часов.

Lollipop (22) x86 прошел мигающий экран значка андроида и затем показал

  • Запуск Android (Оптимизация приложений x из y)
  • Запуск Android (Запуск приложений)
  • Запуск Android (Обновление базы контактов)
  • Запуск Android (Finishing boot) так и застрял здесь на несколько часов.

KitKat (19) x86 успешно работал, и я мог установить там привет мир.

Либо увеличьте размер оперативной памяти, выделяемой при установке HAX, чтобы он точно или немного больше занимал пространство, чем размер оперативной памяти эмулятора, который вы хотите запустить в режиме "Intel x86 Emulator Accelerator (HAXM) ",

После того, как вам это удастся, теперь вы можете просмотреть это в консоли / журнале

Снова откройте конфигурацию устройства AVD. отредактировав устройство в диспетчере AVD. перейдите к выбору версии AVD Android. На правой панели отображается рекомендация, следуя этой рекомендации, и все будет исправлено.

Объем памяти по умолчанию, назначенный HAX, составляет 1024 МБ. И эмулятор имеет 1536MB, видимо, для Nexus 5x API 25.

если вы используете Android Studio,

  • просто зайдите в инструменты -> AVD менеджер.
  • Затем выберите эмулятор и нажмите кнопку карандаша справа для редактирования.
  • Перейдите в дополнительные настройки в новом окне и измените значение оперативной памяти на 1024

Работает как шарм. :)

скриншот андроид студии

Другие вопросы по тегам