Запуск приложений ARM на x86 virtual Android
Задача: запустить любимую игрушку или полезное приложение Android на компьютере под управлением linux. Первый шаг - это запустить хоть сам голый Android на компьютере внутри базовой операционной системы.Для этой цели есть несколько вариантов решения. Можно использовать стандартный эмулятор Android для разработчиков от Google, - запустить любую версию Android. Можно использовать Anbox с его Android 7.1. Фишка Anbox в том, что будет максимально задействовано родное железо без лишних слоёв эмуляции. Третий вариант, который я тут приведу - Genymotion - платный проект виртуализации, в котором можно получить бесплатную лицензию для домашнего использования. В общем, выбрать есть из чего.
Где взять программу для установки
Какой бы проект вы не установили, потребуется найти установочный пакет интересуемого приложения или же установить менеджер приложений (самый популярный вариант - Google App и Google Play services в придачу к нему).
Начнём с самого простого случая. Вариантов будет несколько - зависит от того, как постарались разработчики приложения, которое вам нужно. Сначала надо попробовать скачать нужное приложение в виде apk-пакета (установочный пакет Android). Этом можно сделать, например, через расширение браузера "APK Downloader для Google Play Store" - тут есть поисковая строка; в результатах поиска будут разные варианты пакетов, который можно скачать. Например, ищем "angrybirds", получаем кучу приложений.
Выбираем нужное приложение, - получаем страницу с описанием и ссылкой на страницу скачивания.На странице приложений зачастую видим несколько вариантов пакетов для скачивания. Ищем, под какую архитектуру есть пакеты. Если есть под x86 или универсальный пакет (как на снимке ниже) - считайте вам очень повезло и не придётся продираться в дебри.
Установка Google play и прочее от Google
Если ваша игра или нужное приложение жёстко привязано к каким-то сервисам гугла и без них никак не будет работать, - вам не поможет наличие установочного пакета из предыдущего пункта. Придётся устанавливать также сервисы гугла. Взять установочный пакеты сервисов гугла (разной величины наборами) можно в проекте Open gapps. Для Anbox вам нужно будет выбрать нужной величины пакет среди x86/7.1; для Genymotion - тоже x86 но уже под нужную версию Android (в Genymotion вы можете установить разные версии Android). Для многих игр нужен вариант mini - в него входит Google Play services. По мои наблюдениям, иногда надо закачать и перепробовать несколько разных наборов с сервисами гугла, чтобы найти подходящий рабочий вариант для заданного приложения. Неизменным остаётся только одно - архитектура x86 (для Anbox и Genymotion).
Запуск ARM пакета на x86
Проекты Anbox и Genymotion так устроены, что запускают эмуляцию Android на архитектуре x86. Проблема в том, что многие игры или приложения разработчики (специально или из лени) не делают под эту архитектуру, а только под ARM (различных вариаций). Например, игра "Empires & Puzzles" есть только под arm64-v8a и armeabi-v7a. Но это не повод сдаваться. Запустить на компьютере можно даже эту игру. Потребуется ещё один вспомогательный пакет для проекта Genymotion - Genymotion_ARM_Translation. Тут есть отдельные варианты под разную версию Android, доступны под: 4.3, 4.4, 5.1, 7.X и 8.0. Этот вспомогательный пакет поселится в виртуальном Android и будет транслировать вызовы ARM в x86. Получается не всегда. Потребуется терпение, чтобы бодобрать рабочую комбинацию из:
1) виртуальный девайс в Genymotion
2) пакет Open gapps
3) пакет Genymotion_ARM_Translation
4) пакет игры или приложения
Установка в Genymotion устроена путём перетаскивания файлов с компьюера в запущенный эмулятор. Сначала ставим gapps, потом конвертер в x86, а затем нужные приложения.
Комментарии
Отправить комментарий