Эмулятор Android основан на QEMU. Могу ли я использовать с ним KVM?

Мой ноутбук поддерживает аппаратную виртуализацию (AMD SVM), и я знаю, что:

  • QEMU может использовать аппаратную виртуализацию через KVM;
  • Эмулятор Android во многом основан на QEMU

Возникает естественный вопрос: могу ли я объединить два (Android + KVM) для повышения производительности в эмуляторе?


person Felix    schedule 08.04.2010    source источник
comment
Кто-то написал статью именно по этой теме: docs.google.com/   -  person Eric Mill    schedule 26.10.2010
comment
Поскольку это очень старый вопрос (2010 г.), правильным ответом в то время был @ RichieHindle - что вы не можете. Однако в последнее время Google выпустила обновленные версии эмулятора и специальные AVD (на базе Intel), которые могут иметь аппаратное ускорение.   -  person Felix    schedule 14.01.2013
comment
@Konklone, за исключением того, что это KVM на ARM, а не x86. :)   -  person Isa A    schedule 01.07.2014
comment
@Felix: ... и по поводу вашего комментария от 14 января 13 года ... только об оборудовании Intel. Если ты на AMD, видимо, можешь пойти к черту. Соответствующая строка ошибки для эмулятора Googling ...: ПРЕДУПРЕЖДЕНИЕ. В центральном процессоре отсутствуют следующие функции, необходимые для эмуляции x86: SSSE3. Qemus в SDK не работает без этой поддержки (несмотря на возможность перехвата и реализации в программном обеспечении). См. проблему 33483, которую предположительно можно было исправить в декабре 2012 года, и затем (по ошибке) закрылся как устаревший в декабре 2014 года.   -  person Eric Towers    schedule 06.01.2016


Ответы (5)


Да, ты можешь. Просто загрузите соответствующие пакеты процессоров Intel atom в Android SDK, и пусть ваш AVD будет использовать архитектуру процессора Intel atom. Эмулятор Android может даже использовать хост-процессор. Вот ссылка, как это сделать:

http://developer.android.com/tools/devices/emulator.html#acceleration.

person David Evans    schedule 13.01.2013

Вы можете запустить Android-x86 в QEMU с KVM (или даже в VirtualBox). Я не уверен, насколько легко было бы настроить его для разработки, но он должен работать немного быстрее. Кроме того, Intel работает над установкой Android на свои чипы x86, так что это Надеюсь, в будущем станет легче.

Обновление: мне удалось заставить его работать в VirtualBox, за исключением того, что на некоторых сайтах происходит сбой веб-браузера. Поскольку я делал веб-приложение, это не помогло. Однако он был намного быстрее стандартного эмулятора Android,

person dave1010    schedule 18.05.2011

Вы можете попробовать использовать AndroidVM - http://androvm.org/blog/ ... В моем тестировании вы также может иметь аппаратный OpenGL и поддержку вращения (это немного запутано, но все объясняется на странице AndroidVM).

По моему опыту, это намного лучше, чем Android SDK Emulator, по крайней мере, на Windows и Mac.

Для Linux вы должны иметь возможность использовать VirtualBox для Linux, чтобы использовать AndroidVM. Поскольку это в основном файл OVA, вы сможете использовать другие клиенты виртуализации по мере необходимости.

Интересно то, что это НЕ эмуляция ARM, это Android на x86 ... у которого есть плюсы и минусы, но определенно помогает избавиться от необходимости покупать тонны устройств, если вы можете проводить первоначальное тестирование различных типов на виртуальных машинах, поскольку Android 4.1 обычно не слишком сильно модифицируется производителями телефонов и планшетов ARM и x86 и т. Д. (IMO).

person SaltySub2    schedule 08.01.2013
comment
Для гуглеров - приведенная выше ссылка теперь перенаправляет на genymotion (коммерческое предприятие линейки вещей androidvm). Я думаю, что аспект открытого исходного кода их предприятия ушел. genymotion.com - person oPless; 11.04.2017

Не имеет непосредственного отношения к ответу, который вам нужен, но

  • используйте Run, когда работаете над своим интерфейсом, или как можно больше при кодировании (это намного быстрее по сравнению с отладкой, даже в 10 раз быстрее)
  • постарайтесь свести к минимуму Debug запуски, научитесь кодировать безупречно, поэтому используйте меньше отладки.
  • возможно, вы уже знаете, что вам не нужно закрывать эмулятор для каждого сеанса запуска, поэтому оставьте его открытым.
  • перезапустите Eclipse через час использования, но оставьте эмулятор открытым. Eclipse перезапустить быстрее, чем эмулятор.
  • установите для Eclipse значение запомнить последний запускаемый проект, поэтому запуск выполняется одним щелчком мыши
person Pentium10    schedule 08.04.2010
comment
Я уже все это делаю, но спасибо. Что касается прогонов отладки, я фактически никогда ими не пользуюсь. Я отлаживаю свое приложение с помощью logcat (я такой олдскульный). - person Felix; 08.04.2010
comment
Научитесь идеально программировать. О боже, если бы это было возможно, нам не понадобились бы IDE, отладочные приложения и так много тестов. Ха. - person Apache; 21.04.2012

Эмулятор Google TV, ориентированный на x86, поддерживает виртуализацию в режиме KVM.

ARM пока нет. Я считаю, что в настоящее время работа над ним продолжается.

person Afriza N. Arief    schedule 14.11.2011