Исправляем 'crazy error' в эмуляторе Android

Короткий ответ: переключите Graphics AVD на Software (GLES 2.0) или Automatic, выполните Wipe Data и Cold Boot; если не помогает — обновите драйверы, проверте виртуализацию (Hyper‑V/KVM/HAXM) и при необходимости пересоздайте AVD. Ниже — пошагово для Windows, Linux и macOS.

Причины и признаки

'Crazy error' — собирательное название графических артефактов, черного экрана или зависания эмулятора. Частые причины:

  • Несовместимость или баг драйвера GPU (особенно старые Intel/NVIDIA/AMD).
  • Аппаратный рендер (Hardware GLES) конфликтует с возможностями хоста.
  • Недостаток выделенных ресурсов (RAM, CPU).
  • Конфликт виртуализации (Hyper‑V на Windows, неправильно настроенный KVM на Linux). Симптомы: полосы, искажения, зависание при загрузке, ошибки OpenGL в логах.

Быстрое решение — поменяйте графический режим (5 минут)

  1. Откройте AVD Manager (Tools → AVD Manager).
  2. Нажмите "Edit" (карандаш) рядом с проблемным AVD.
  3. В разделе Emulated Performance → Graphics выберите Software — GLES 2.0.
  4. В Advanced: установите Boot option → Cold Boot, отключите Enable device frame.
  5. Уменьшите RAM до ~1536–2048 МБ, VM Heap 256 МБ (для старых машин).
  6. Нажмите Wipe Data → Launch.
    Результат: стабильность значительно выше, хотя производительность ниже.

Software‑режим медленнее, но решает большинство графических сбоев на старом железе.

Дополнительные исправления по платформам

Windows:

  • Отключите Hyper‑V, если он не нужен: запустите PowerShell от администратора и выполните: Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
  • Обновите драйвер GPU (через штатные утилиты производителя).
  • Обновите Intel HAXM через SDK Manager → SDK Tools (если используете HAXM).
  • При проблемах с GPU пробуйте создать AVD с образами x86_64 и использовать Software рендер.

Linux:

  • Убедитесь, что KVM установлен и пользователь в группе libvirt/kvm: sudo apt install qemu-kvm libvirt-daemon-system sudo adduser $USER kvm
  • Запускайте эмулятор с поддержкой KVM: emulator -qemu -enable-kvm
  • Проверьте 32‑bit библиотеки (libstdc++6:i386) для старых эмуляторов.

macOS:

  • На Intel‑Mac используйте Automatic/Hardware при свежих драйверах; на Apple Silicon выбирайте образы, поддерживаемые ARM, и оставляйте Graphics → Automatic.
  • Если Android Studio x86 не совместима, попробуйте сборку под Rosetta (для плагинов).

Не запускайте сразу несколько тяжёлых эмуляторов — они конкурируют за GPU/RAM и часто вызывают артефакты.

Что ещё можно сделать

  • Удалите и создайте AVD заново: rm -rf ~/.android/avd/<имя>.avd
  • Обновите Android Studio и SDK (включая платформенные инструменты и эмулятор).
  • Тестируйте на реальном устройстве через USB (включите USB debugging) — это самый надёжный способ проверки.
  • Если AVD постоянно нестабилен, используйте альтернативные решения (Genymotion, другие эмуляторы) или физический девайс.

Частые ошибки

  • Оставляют Graphics на Hardware на старом ноутбуке — приводит к артефактам.
  • Не делают Wipe Data при смене настроек — старые кеши мешают.
  • Отключают виртуализацию в BIOS, забыв включить VT‑x/AMD‑V для HAXM/KVM.
  • Обновляют только Android Studio, забывая обновить драйверы GPU.

FAQ

  • Нужно ли переустанавливать Android Studio? Обычно нет — сначала пробуйте переключение Graphics и Wipe Data.
  • Что быстрее: Software или Hardware? Hardware быстрее, но на старых/неправильных драйверах может ломаться; Software медленнее, но стабильнее.
  • Как понять, что проблема в драйвере GPU? Если артефакты появляются и в других графических приложениях — вероятно драйвер. Обновите или откатите драйвер для теста.

Если после всех шагов ошибка остаётся — опишите конфигурацию (CPU, GPU, ОС, версия эмулятора, выбранный Graphics) и пересоздайте AVD под x86_64 — это обычно окончательно решает проблему.