Android Virtual Device (AVD): создание, настройка и решение проблем

Команда emulator -avd возвращает ошибку «PANIC: Cannot find AVD system path», а эмулятор в Android Studio не стартует — типичная ситуация, с которой сталкиваются разработчики при первой настройке Android Virtual Device. Причина чаще всего кроется в незагруженном системном образе, отключённой виртуализации в BIOS или неверно указанных путях SDK. Разберёмся, как правильно создать и настроить виртуальное устройство.

Android Virtual Device (сокращённо AVD) — это конфигурация эмулятора, которая описывает виртуальный смартфон или планшет: модель оборудования, версию Android, размер оперативной памяти, разрешение экрана и другие параметры. AVD позволяет тестировать приложения без физического устройства, проверять поведение программы на разных версиях ОС и размерах экрана. Это стандартный инструмент, встроенный в Android Studio.

Что такое AVD и из чего он состоит

Каждый виртуальный девайс — это не просто «картинка телефона», а набор компонентов, которые эмулятор собирает воедино при запуске. Понимание структуры помогает быстрее находить причины сбоев.

  • 📱 Hardware profile — аппаратный профиль: диагональ экрана, разрешение, наличие кнопок, датчиков, камеры.
  • 💿 System image — системный образ конкретной версии Android (например, с API 34) и архитектуры процессора (x86_64 или ARM).
  • 🧠 RAM и VM Heap — объём оперативной памяти и кучи виртуальной машины, выделяемой устройству.
  • 💾 Internal storage и SD-карта — размер встроенного хранилища и виртуальной карты памяти.
  • ⚙️ Emulated Performance — режим графики: аппаратный (Hardware), программный (Software) или автоматический.

Файлы AVD хранятся в профиле пользователя — обычно в каталоге .android/avd внутри домашней папки. Там лежат конфигурационный файл config.ini и образы данных. Если эмулятор «сломался», иногда достаточно удалить папку конкретного AVD и создать устройство заново.

Создание виртуального устройства в Android Studio

Проще всего создать AVD через графический интерфейс. Откройте Device Manager: меню Tools → Device Manager или значок на панели инструментов. Нажмите кнопку создания нового устройства и пройдите шаги мастера.

☑️ Создание AVD за 6 шагов

Выполнено: 0 / 6

На шаге выбора системного образа обратите внимание на вкладки: рекомендованные образы, образы с Google Play и без него. Образ Google Play нужен, если тестируемое приложение зависит от сервисов Google и магазина приложений. Образ Google APIs содержит API, но не магазин, а «чистый» AOSP-образ подходит для минималистичного тестирования.

⚠️ Внимание: системный образ скачивается отдельно и занимает заметное место на диске. Убедитесь, что на системном разделе достаточно свободного пространства, иначе загрузка прервётся, а AVD не запустится.

Требования к системе и аппаратное ускорение

Медленный эмулятор — самая частая жалоба. В большинстве случаев виновата отключённая виртуализация. Для аппаратного ускорения на Windows используется Android Emulator Hypervisor Driver (ранее HAXM для Intel) или платформа WHPX (Windows Hypervisor Platform), на macOS — встроенный гипервизор Hypervisor.framework, на Linux — KVM.

Проверьте, включена ли виртуализация (Intel VT-x или AMD-V) в BIOS/UEFI вашего компьютера. Название пункта зависит от производителя материнской платы — ищите в разделе Advanced или CPU Configuration. В Windows дополнительно проверьте, что компоненты «Платформа гипервизора Windows» и «Платформа виртуальной машины» включены в разделе «Компоненты Windows», если планируете использовать WHPX.

ПлатформаМеханизм ускоренияЧто проверить
Windows (Intel/AMD)AEHD / WHPXВиртуализация в BIOS, компоненты Windows
macOSHypervisor.frameworkРаботает из коробки на поддерживаемых Mac
LinuxKVMМодуль KVM загружен, пользователь в группе kvm
Windows + Hyper-VWHPXВключён Hyper-V, конфликт с другими гипервизорами
📊 На какой системе вы запускаете Android-эмулятор?
Windows
macOS
Linux
Использую только реальное устройство

Типичные ошибки и способы их решения

Ошибка PANIC: Cannot find AVD system path обычно означает, что переменная окружения ANDROID_SDK_ROOT указывает не туда либо системный образ не скачан. Проверьте пути в File → Settings → Languages & Frameworks → Android SDK и при необходимости переустановите образ через SDK Manager.

Если эмулятор запускается, но показывает чёрный экран, попробуйте сменить режим графики. Откройте настройки AVD, раздел Emulated Performance → Graphics, и переключите с Automatic на Software. Это снизит скорость, но помогает при конфликтах с драйверами видеокарты. Обратная ситуация — медленная работа при Software-режиме — решается возвратом на Hardware после обновления драйверов.

  • 🧊 Эмулятор зависает на загрузке — выполните Cold Boot или Wipe Data в меню Device Manager.
  • 🌐 Нет интернета в эмуляторе — проверьте DNS на хост-машине и перезапустите AVD с холодной загрузкой.
  • 💥 Ошибка «The emulator process has terminated» — посмотрите лог в Help → Show Log, часто причина в нехватке RAM или конфликте гипервизоров.
  • 🐢 Очень медленная работа — убедитесь, что используется образ x86_64 и включено аппаратное ускорение.
⚠️ Внимание: команда Wipe Data полностью удаляет все данные внутри виртуального устройства — приложения, аккаунты, файлы. Перед очисткой убедитесь, что в AVD нет нужных тестовых данных.
Запуск AVD из командной строки

Список доступных устройств: emulator -list-avds. Запуск конкретного AVD: emulator -avd Имя_Устройства. Полезные флаги: -wipe-data (очистка данных), -cold-boot (холодный старт), -gpu swiftshader_indirect (программный рендеринг). Инструмент emulator находится в подкаталоге emulator внутри Android SDK.

Как ускорить работу эмулятора

Несколько настроек заметно влияют на отзывчивость AVD. Во-первых, не выделяйте виртуальному устройству слишком много RAM — эмулятор конкурирует за память с IDE и системой. Для большинства задач достаточно значений, предложенных мастером по умолчанию. Во-вторых, используйте функцию Quick Boot: эмулятор сохраняет снимок состояния и при следующем запуске восстанавливается за секунды вместо полной загрузки.

Закройте ресурсоёмкие фоновые программы, особенно другие виртуальные машины (VirtualBox, Docker с отдельной VM), — они могут конфликтовать за гипервизор. Если диагностика не помогает, самый надёжный способ проверить, виноват ли AVD или приложение, — создать новое виртуальное устройство с минимальной конфигурацией и запустить приложение на нём.

AVD против реального устройства: что выбрать для тестирования

Эмулятор удобен для быстрой проверки вёрстки, логики и поведения на разных версиях Android. Однако есть сценарии, где без физического смартфона не обойтись: работа с Bluetooth и NFC, точные показания датчиков, реальная производительность GPU, поведение при звонках и слабом сигнале сети.

Разумная стратегия — комбинировать подходы. Основной цикл разработки ведите на эмуляторе, а финальную проверку перед релизом выполняйте хотя бы на одном реальном устройстве. Для подключения смартфона включите на нём отладку по USB в разделе «Для разработчиков» — точный путь к настройке зависит от оболочки производителя.

Часто задаваемые вопросы

Можно ли запускать несколько AVD одновременно?

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

Почему эмулятор не видит Google Play?

Магазин приложений присутствует только в системных образах с пометкой Google Play. Если вы выбрали образ AOSP или Google APIs, Play Store в нём отсутствует. Создайте новый AVD с образом Google Play либо измените образ существующего устройства через Device Manager.

Как перенести файлы между компьютером и AVD?

Проще всего перетащить файл мышью прямо в окно эмулятора — он попадёт в хранилище устройства. Также доступна передача через adb push и adb pull из командной строки.

Чем AVD отличается от сторонних эмуляторов вроде BlueStacks?

AVD — официальный инструмент Google, ориентированный на разработку и тестирование: он поддерживает последние версии Android, отладку через ADB и эмуляцию датчиков. Игровые эмуляторы оптимизированы под запуск приложений из магазина и производительность в играх, но хуже подходят для отладки кода.

Эмулятор выдаёт ошибку про виртуализацию, хотя она включена. Что делать?

Проверьте, не конфликтуют ли гипервизоры: одновременно работающие Hyper-V, VirtualBox или другое ПО виртуализации могут блокировать доступ. Также убедитесь, что установлен актуальный драйвер Android Emulator Hypervisor Driver через SDK Manager, вкладка SDK Tools.