Как включить kvm на андроид
Обновлено: 07.07.2024
Мой ноутбук поддерживает аппаратную виртуализацию (AMD SVM), и я знаю, что:
- QEMU может использовать аппаратную виртуализацию через KVM;
- Эмулятор Android во многом основан на QEMU.
Возникает естественный вопрос: могу ли я объединить два (Android + KVM) для повышения производительности в эмуляторе?
Да, ты можешь. Просто загрузите соответствующие пакеты процессоров Intel atom в Android SDK, и пусть ваш AVD будет использовать архитектуру процессора Intel atom. Эмулятор Android может даже использовать хост-процессор. Вот ссылка, как это сделать:
Эмулятор Google TV, ориентированный на x86, поддерживает виртуализацию в режиме KVM.
ARM пока нет. Я считаю, что в настоящее время работа над ним продолжается.
Не имеет непосредственного отношения к ответу, который вам нужен, но
- используйте Run , когда работаете над своим интерфейсом, или как можно больше при кодировании (это намного быстрее по сравнению с отладкой, даже в 10 раз быстрее)
- постарайтесь свести к минимуму запуски Debug , научитесь кодировать безупречно, поэтому используйте меньше отладки.
- возможно, вы уже знаете, что вам не нужно закрывать эмулятор для каждого сеанса запуска, поэтому оставьте его открытым.
- перезапустите Eclipse через час использования, но оставьте эмулятор открытым. Eclipse перезапустить быстрее, чем эмулятор.
- установите для Eclipse значение запомнить последний запускаемый проект, поэтому запуск выполняется всего одним щелчком мыши
По моему опыту, это намного лучше, чем эмулятор Android SDK, по крайней мере, на Windows и Mac.
Для Linux вы должны иметь возможность использовать VirtualBox для Linux, чтобы использовать AndroidVM. Поскольку это в основном файл OVA, вы сможете использовать другие клиенты виртуализации по мере необходимости.
Интересно то, что это НЕ эмуляция ARM, это Android на x86 . у которого есть свои плюсы и минусы, но определенно помогает избавиться от необходимости покупать тонны устройств, если вы можете провести первоначальное тестирование различных типов на виртуальных машинах, поскольку Android 4.1 обычно не слишком сильно модифицируется производителями телефонов и планшетов ARM и x86 и т. Д. (IMO).
Вы можете запустить Android-x86 в QEMU с KVM (или даже в VirtualBox). Я не уверен, насколько легко было бы настроить его для разработки, но он должен работать немного быстрее. Кроме того, Intel работает над установкой Android на свои чипы x86, так что это Надеюсь, в будущем станет легче.
Обновление: мне удалось заставить его работать в VirtualBox, за исключением того, что на некоторых сайтах происходит сбой веб-браузера. Поскольку я делал веб-приложение, это не помогло. Однако он был намного быстрее стандартного эмулятора Android,
В данной статье я постараюсь описать пример инфраструктуры для автотестов Android приложений (mobile automation), а именно, среду для проведения тестранов UI автотестов на эмуляторе Android девайса в виртуальной среде.
Требования:
Для Android эмулятора нужна поддержка Intel Virtualization Technology или AMD Virtualization. Поэтому часто тестировщик сталкивается с необходимостью запуска тестранов только в нативной среде ПК с прямым доступом к центральному процессору.
В этом случае схема получается такая:
Трудности:
Невозможно легко пересоздать среду эмулятора.
Среда не создаётся перед проведением тестирования, и после проведения не удаляется, поэтому среда может влиять на тестируемое приложение.
Починка и настройка среды занимает много времени.
Предлагаемое решение в данной статье:
Создать VM с использованием возможностей nested virtualization VirtualBox (более подробное описание технологии в этой статье).
Пробросить поддержку Intel-VT или KVM внутрь созданной виртуальной машины.
Изнутри VM создать и запустить Android эмулятор девайса.
Провести тестран UI тестов приложения.
После проведения тестирования уничтожить VM.
В этом случае схема получится такая:
Предполагаемые преимущества:
VM можно автоматически создавать перед проведением тестирования, а после окончания уничтожать. В таком случае каждый новый тестран будет проведен в идеально чистых условиях.
Уменьшится время поддержки среды и управляющего ПО, так как не нужно каждый раз руками ничего устанавливать и чинить неисправности инвайронмента.
В настоящей статье будет использоваться оборудование:
процеcсор: Intel i5-1035G1
в BIOS включена поддержка виртуализации процессора
Шаг 1: Установка ПО на нативную OS
Отдельно обращу внимание на управление машиной. Будем использовать протокол VNC для создания удобного удаленного рабочего стола. Протокол универсальный, для Linux, Windows, Mac и т.д.
x11vnc сервер
Запуск с параметрами:
Установка VirtualBox
Вводим в командной строке:
Создание VM
Мы пойдем по самому простому пути и создадим VM из интерфейса VirtualBox с такими характеристиками. В дальнейшем создание VM будет code-first
Количество CPU - не больше половины имеющихся на Вашем процессоре (в идеале половина)
Оперативная память - будет достаточно 4Gb
Nested Virtualization можно также включить из командной строки:
Далее переходим в саму VM.
Шаг 2: Установка ПО на VM
В первый раз мы установим всё руками. В дальнейшем весь установочный сценарий будет помещен в Packer, что позволит нам создавать VM с нужными настройками каждый раз перед началом тестирования.
Устанавливаем последний образ Ubuntu с официального сайта.
Установка KVM
Установка Android command line tools
Проверяем, что sdkmanager работает и Android SDK доступен:
Устанавливаем Android tools
Устанавливаем Git и клонируем проект
В данном примере я использую пустой проект мобильного Android приложения. В нём уже есть дефолтный интеграционный тест. Нам этого будет вполне достаточно.
Шаг 3: Проведение тестирования проекта на созданном Android эмуляторе
ADB видит подключенный к нему эмулятор:
Ура! Тест пройден!
Негативный тест
Чтобы убедится, в том что именно позволило нам сбилдить тесты, мы сделаем один негативный тест и воспроизведем запуск эмулятора в обычной VM.
Переустановка VirtualBox на родительской машине (чтобы избежать ошибочное сохранение конфигов)
VM мы создаём без проброса виртуализации и с одним CPU:
В созданной VM мы не устанавливаем:
Остальные шаги аналогичны шагу №2 с установкой ПО. Попробуем еще раз наш тестран. Обратите внимание, что ADB также видит эмулятор:
Ура! Тест не пройден! Никогда еще так не радовался проваленному тестрану:
Падает PackageManager, как и обычно при запуске из виртуальной среды без аппаратной поддержки процессора:
Заключение
Мы сделали первый этап построения инфраструктуры для проведения автотестов Android приложений. Следующим этапом должно стать упаковка описанного выше сценария в Packer (ссылка на официальный сайт) который умеет работать с образами VirtualBox. Затем весь сценарий мы попробуем запустить из CI Jenkins. Если учесть, что плагин для него уже порядком устарел, то будет очень интересно.
Все результаты опубликую, как пополнения к этой статье.
В идеале, у нас должна получится code-first инфраструктура для тестрана UI и интеграционных автотестов для Android приложений, которую можно поднять на любом современном офисном ПК, которая работает автономно, билдит тесты на родных Android эмуляторах и есть не просит.
В этой статье мы рассмотрим, как настроить и использовать функцию удаленного управления компьютерами Intel AMT KVM . Технология Intel AMT (Active Management Technology) является частью комплекса Intel vPro , и администраторам удаленно управлять компьютерами пользователей, даже если на них не запущена / не работает / не установлена операционная система, или компьютер выключен позволяет (на самом деле это только одна из функций AMT). Как правило такое удаленное управление сводится к использованию возможностей KVM (удаленный просмотр экрана пользователя, управления его клавиатурой, мышью и питанием).
KVM в Intel vPro AMT
Поддержка технологии удаленного управления KVM появилась в Intel vPro AMT 6.x на компьютерах с процессорами i5 и i7 на чипсете Intel с поддержкой vPro (как правило название чипсета начинается с Q) со встроенным графическим чипсетом Intel.
Удаленное управление реализуется за счет наличия встроенного сервера VNC. Любой совместимый VNC клиенты может использоваться для удаленного подключения и управления компьютером через AMT.
Как включить KVM на Intel vPro AMT
По умолчанию возможность удаленного управления через AMT KVM на компьютерах с поддержкой Intel vPro отключена. Включить ее можно через меню Intel MEBx . Попасть в это меню можно после отображения экрана запуска BIOS/UEFI с помощью сочетания клавиш Ctrl+P или F12 (на некоторых компьютерах можно скрыть это меню с помощью настроек BIOS).
В нашем случае, чтобы попасть в меню MEBx, на ноутбуке Dell Latitude E7270 после включения компьютера нужно нажать кнопку F12. На экране выбора режима загрузки нужно выбрать Intel(R) Management Engine BIOS Extension (MEBx).
- Затем нужно выбрать пункт MEBx Login и нажать Enter.
- Укажите пароль для входа в режим Intel(R) ME (по умолчанию это admin)
Вам сразу же будет предложено указать новый пароль. Требования к паролю: не менее 8 символов, разный регистр, наличие цифр и спецсимволов.
- После смены пароля выберите меню настройки Intel(R) AMT configuration .
- Измените значение Manageability Feature Selection на Enabled
- Активируйте функции в разделе SOL/Storage Redirection/KVM
Перейдите в раздел User Consent и измените параметр User Opt-in с KVM на None (отключится запрос кода-подтверждения пользователем).
Теперь нужно включить доступ по сети. Выберите пункт Activate Network Access. И подтвердите включение клавишей Y.
- Выберите пункт меню MEBx Exit и нажмите Y для сохранения изменений. Компьютер перезагрузится.
Теперь, если при загрузке нажат кнопку F12, вы увидите новую опцию Intel(R) Fast Call for Help. Выберите ее и нажмите Enter.
Рассмотрев VNC-клиенты для работы с Intel AMT KVM под Windows и под Linux, было бы наглостью не посмотреть, что с ними для самой популярной ОС в мире. И хотя управление клавиатурой и мышкой (что и обозначают первые и последняя буквы в "KVM") на планшете (не говоря уже про телефон) да ещё и под Android - та ещё задача, однако "когда нужно - и не так раскорячишься".
Было перебрано первых три десятка предложений Google Play Market для приложений на запрос VNC-client. Выбирались только бесплатные (в принципе, после третьего десятка в основном и шли уже лишь платные). Не работающие с Intel AMT KVM (и/или не имеющие возможности нужной настройки) отбрасывались. Оказалось, совсем не так много рабочих, а "нормальных" (в разных смыслах и в проекции на работу с AMT KVM) - вообще единицы.
В порядке представления их в Google Play Market "финалистами" отбора на звание лучшего бесплатного Android-приложения для Intel AMT KVM оказались:
Сравнить их популярности не так просто, но всё же, Google Trends указывает на главные особенности:
Первые два самые старые, потому законно занимают первые два места при поиске любого Android-приложения, связанного с VNC. Последние два - относительно новые, но вполне и вполне конкурентные (судя, опять же, по Google Trends) на текущий момент. Честно говоря, про их существование я и не знал до написания этой статьи и крайне рад, что удалось их найти. Почему - читаем дальше.
RealVNC Viewer for Android и Intel AMT KVM
Безусловно самый популярный VNC-клиент - от RealVNC.
Имеет весьма гуманный интерфейс, всё достаточно продумано. Сначала создаём новое соединение:
Вводим адрес AMT-компьютера, также можно сразу указать пароль. Другие поля для AMT KVM не потребуются. Соединяемся и.
Вроде всё красиво началось, но спустя менее секунды - ошибка "reading an RFB packet".
Дело понятное, лезем в настройки, меняем на 8 бит:
Переподключаемся и теперь ошибки нет:
В результате получаем возможность управлять компьютером через AMT KVM. Однако сообразить, как управлять мышкой пальцем - совсем и совсем не просто. Понятно с масштабированием - двумя пальцами для больше-меньше:
Также с управлением клавишами большой набор возможностей - всё относительно понятно, однако привыкнуть к мышкопальцеинтерфейсу - соовсем непросто.
Говорить о скорости работы при таком неудобстве управления не приходится.
В информации о соединении увидим:
Так и есть, подключение по "закрытому" протоколу RFB 4.0, т.е. "должно быть быстро" (т.к. это не получится оценить на практике).
androidVNC Viewer for Android и Intel AMT KVM
Другой популярнейший монстр-старожил из Android VNC-клиентов с таким же названием.
Интерфейс androidVNC много проще, в том числе без поддержки автоповорота экрана.
По умолчанию стоит 64 цвета и с такими настройками по дефолту всё сразу соединяется и работает:
Однако 256 цветов также поддерживается и картинка становится "более привычная":
Максимальные настройки цветности (24 бит), доступные в androidVNC - не поддерживаются.
Как и RealVNC, данный ветеран содержит большое количество менюшек для пальце-мыше-клавиатуро-управления:
Настолько большое, что они не все влезли на один экран:
Приспособиться управлять всем этим хозяйством - от "весьма непросто" до "невозможно". В любом случае, "дружелюбным" и "очевидным" такой интерфейс назвать сложно. Однако важно, что androidVNC таки работает с Intel AMT KVM, при чём сразу.
akRDCFree VNC Viewer и Intel AMT KVM
Следующий достойный для рассмотрения VNC-клиент нашёлся лишь на третьем десятке перебора, когда я уже почти отчаялся, перепробовав кучу не работающих, откровенной рекламной и клонообразной ерунды. Обнаружилась очень приятная во многих отношениях VNC-клиентская программулина - akRDC.
Интерфейс akRDC незамысловат, но весьма приятен:
При создании нового соединения всё подробно прокомментировано и понятно:
Соединяется сразу и без проблем, при чём в Full Color:
Масштабирование и вообще управление более очевидно:
Совсем скоро, приноровившись, можно вполне недурно управлять клавомышепальцем:
Присутствует немалое количество дополнительных настроек:
В общем, на фоне предыдущих двух "бесплатных VNC-монстров" - akRDC просто находка.
Remote Ripple VNC-клиент и Intel AMT KVM
Бесплатная версия VNC-клиента Remote Ripple попалась в самом конце перебора. Потому особо было приятно увидеть её возможности.
Интерфейс нового соединения лаконичен и настроен на работу:
Ничего лишнего, вводим IP компьютера, 5900 стоит по умолчанию, далее запросится пароль:
И получаем красивую (полноцветную) картинку (при этом с мышкой!):
И действительно, зачем занимать ценное место неочевидными менюшками, если всё можно прикрепить к мышке!
Масштабирование работает в широких пределах и не привязано к "углу экрана":
Т.е. его можно и центрировать и сдвигать в нужное место в широких пределах.
Управление интуитивно понятно, "кликнуть правой клавишей" - проще простого:
В общем, сравнивать Remote Ripple с "самыми популярным" RealVNC и androidVNC просто жестоко (и не в пользу "монстров").
Поигравшись и впервые получив удовольствие от управление компьютером с планшета - даже задумался про платную версию:
Резюме по опробованным бесплатным VNC-клиентам под Android для работы с Intel KVM:
Читайте также:
- Архитектура эвм это наиболее общие принципы построения компьютера
- Clrjit dll не предназначена
- Как проверить скорость ssd samsung 970 evo
- Что было изобретено раньше колесо компьютер дизельный двигатель шариковая ручка
- Какой накопитель используется для длительного энергонезависимого хранения файлов внутри пк