Как стать автором
Обновить

Комментарии 23

Спасибо за статью, узнать бы теперь как под линуксом всё это заставить работать?
Идем на www.android-x86.org и качаем iso-образ. Потом создаем виртуальную машину с помощью KVM. Даем виртуальной машине виртуальный IDE-диск. Устанавливаем на него Android. Готово.

Вот то же самое, но в виде команд для тех, кто не использует libvirt:

mkdir android
cd android
dd if=/dev/null of=hda.dsk bs=1G seek=4
qemu-system-x86_64 -m 2048 -enable-kvm -smp 4 -hda hda.dsk -cdrom /tmp/android-x86_64-8.1-rc2.iso -vga std


При желании, можно выставить правильное разрешение экрана и добавить интеграцию указателя мыши (полезно при наличии сенсорного экрана). Для этого запускаем терминал, делаем там su, а затем:

mkdir -p /data/system/devices/idc
echo 'touch.deviceType = touchScreen' > \
/data/system/devices/idc/Vendor_0627_Product_0001.idc
chown -R system:system /data/system/devices
mkdir /mnt/sda1
mount /dev/block/sda1 /mnt/sda1
sed -i '/SRC/s/$/ video=1920x1080/' /mnt/sda1/grub/menu.lst
umount /mnt/sda1
reboot


После этого KVM можно запускать так:

qemu-system-x86_64 -show-cursor -m 2048 -enable-kvm -smp 4 -hda hda.dsk -display sdl -vga std -device qemu-xhci -device usb-tablet


Или, если QEMU собран с поддержкой virglrenderer (т.е. не в Ubuntu), можно еще включить аппаратно ускоренный OpenGL:

qemu-system-x86_64 -show-cursor -m 2048 -enable-kvm -smp 4 -hda hda.dsk -display sdl,gl=on -vga virtio -device qemu-xhci -device usb-tablet
Спасибо, но не работает. Зависает на строке «Looks reasonable, continuing...».
Потребление проца 100%, но ничего дальше не происходит.

BIOS, правда, не перепрошивал. Проц AMD Phenom II X4 965
Поставил Android x86 9.0 в VirtualBox.
На главном экране ведёт себя ужасно, зависает, постоянно сообщение «System UI isn't responding».
Но в приложениях вроде норм, только немного подтормаживает.
На Phenom-ах не работает x86_64 андроид. Причина в андроиде — 64-бит версия собирается то ли с avx-инструкциями, то ли с еще какими-то, которых нет в феномах.
При этом i686-андроид той же версии собирается без этих инструкций, как следствие нормально запускается и работает. Каких-то особых тормозов при работе в qemu/kvm я не замечал…

В android-sdk всё необходимое уже есть.

С какой-то версии в эмуляторе появились snapshots developer.android.com/studio/run/emulator#snapshots. С ними можно дополнительно ускорить запуск эмулятора, правда одновременно с этим замедляется его остановка (создается тот самый snapshot).

Интересно, насколько это ускорило бы запуск, без использования описанного в статье подхода.
NOX В этом плане гораздо лучше. Чего стоит прозрачная работа с adb без необходимости перезапуска сервера в tcp режиме. Хотя возможно в генимоушен это починили — но у меня он всегда работал неадекватно.
>Может называться IOMMU
У амд то что вы ищете называется SVM и оно у вас уже включено.
Не обязательно, на моем AMD Ryzen 2600 + MSI B450M Gaming Plus виртуализация по умолчанию отключена.
Я думаю это связано с тем, что некая софтина Ryzen Master не запускается при включенной SVM.
Я сказал что У него включено, а не по умолчанию включена. Ryzen Master преспокойно работает при включеном SVM.

Вот блин, пользовался эмулятором с амд процессором и даже не думал что может быстрее работать на интеле

Вот блин, пользовался эмулятором с амд процессором, и даже не думал что на интеле будет быстрее работать.

Лучше раскрыть аббревиатуру WHPX, а то Hyper-V только в середине статьи упоминается. И написать нулевым пунктом про необходимость Windows 10 Pro (для HAXM же хватает Windows 10 Home).

а не проще ли было линукс использовать, вместо того чтобы с шиндошс пердолиться?
Под Linux android эмулятор из SDK тоже не работает на моем Phenom X4 II. Только Genymotion удалось запустить. Но вот Qt/Quick приложения все равно не запускаются. Нет OpenGL или чего-то еще в Genymotion не пойму.
это не эмулятор не работает, это андроид собранный под x86_64 не работает. из-за sse3, которое там (в андроиде) гвоздями прибито. однако, если собирать якобы «эмулируемую», а на самом деле запускаемую в гипервизоре, систему под i686-архитектуру — все чудным образом и запускается и работает.

Подскажите пожалуйста, на Ryzen 2200G всё делается аналогично?

Не могу сказать. Всё писал из личного опыта. Ryzen 2200G у меня, к сожалению, нету
Версия Bios должна стать что-то около 3001

Версии BIOS зависят от конкретной материнской платы
На Ryzen 5 с аппаратной виртуализацией под линуксом запускается без проблем. Не думал что для более старых amd нужны танцы с бубнами.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации