Эмуляторами и виртуальными машинами сегодня сложно кого-то удивить. Зачастую это уже не инструмент системного администратора, который в свитере и с бородой укрощает демонов. Эмуляторы используют разработчики и геймеры. На них тестируют приложения Android до выхода в свет — это проще, чем держать под рукой дюжину моделей смартфонов.
Сегодня мы поговорим о том, как можно запустить приложения Android на Linux, а именно в операционной системе Ubuntu 18.04. Оказывается, для этого есть несколько путей.
1. Установка эмулятора Anbox
Первый метод запуска приложения Android на Linux — это использование Anbox. Это эмулятор Android с открытым исходным кодом, который устанавливается несколькими командами и позволяет запускать Android-приложения на Ubuntu.
Для начала заходим в терминал и обновляем список пакетов следующей командой:
sudo apt-get update
После этого начинаем установку Anbox. Сначала подключаем репозиторий:
sudo add-apt-repository ppa:morphis/anbox-support
Когда система спросит — нажимаем Enter. Ещё раз выполняем обновление списка пакетов:
sudo apt update
После этого устанавливаем ядро Anbox
sudo apt install anbox-modules-dkms
После установки нужно один раз вручную запустить модули ядра. В будущем они будут стартовать сами.
sudo modprobe ashmem_linux
sudo modprobe binder_linux
Устанавливаем Android Debug Bridge. Он нужен для корректной работы Android-приложений:
sudo apt install android-tools-adb android-tools-fastboot
Теперь устанавливаем, собственно, Anbox. Важно отметить, что пока это бета-версия, потому в ней возможны ошибки.
А установка производится в виде snap-, а не классических пакетов. Выполняем в терминале:
snap install --devmode --beta anbox
Маловероятно, но система может ругнуться «snap not found». Установите snap командой:
sudo apt install snapd
И попробуйте ещё раз. В процессе установки будет затребован пароль.
2. Использование эмулятора Anbox
После установки можно добавлять или удалять файлы с расширением APK. Это установочные пакеты программ на Android.
Для установки программы Android в Linux используем:
sudo adb install /the/location/of/file.apk
Для удаления, соответственно:
sudo adb uninstall /the/location/of/file.apk
Запускать Anbox можно как из списка программ, так и из терминала:
anbox session-manager
3. Установка эмулятора Genymotion
Второй эмулятор на сегодня весьма интересен. Начнём с того, что он — облачный. Во-вторых, он платный для коммерческого использования. Хотя в нашем случае хватит и бесплатной лицензии.
Наконец, Genymotion предлагает эмуляцию уже готовых моделей смартфонов и планшетов, что очень хорошо для разработчиков. Можно сразу протестировать программу в разных режимах.
Для начала идём на сайт Genymotion, регистрируемся там и получаем на почту сообщение с подтверждением о регистрации. В нём кликаем по ссылке, чтобы подтвердить адрес и активизировать учётку.
После тыкаем по красной кнопке Trial в верхнем правом углу.
Нас перебрасывает на новую страницу, откуда можно скачать необходимый файл. В нашем случае это файл с расширением bin. Запускаем закачку, а пока она идёт, установим VirtualBox (если вдруг он не установлен).
В терминале набираем:
sudo apt install virtualbox
Жмём Enter, вводим пароль, когда система попросит подтверждения, нажимаем y. По окончании установки набираем в терминале:
ls
Эта команда выведет список директорий. Нам нужна Downloads или та, куда у вас по умолчанию скачиваются файлы. Вводим:
cd Downloads/
Жмём Enter, нас перебрасывает в папку. Снова вводим:
ls
Это даёт нам список файлов в папке. Нас интересует genymotion-2.12.1-linux_x64.bin (в случае 32-разрядной системы genymotion-2.12.1-linux_x32.bin). Вводим:
sudo chmod +x genymotion-2.12.1-linux_x64.bin
Здесь можно ввести первые буквы имени файла и нажать Tab. Жмём Enter. Иначе это можно сделать, зайдя в папку Downloads, кликнуть правой кнопкой по файлу и дать ему права на выполнение.
После этого устанавливаем:
sudo ./genymotion-2.12.1-linux_x64.bin
Нажимаем Enter, потом y, далее:
cd /opt/genymobile/genymotion
./genymotion
По нажатию Enter программа запускается. Теперь выбираем Sign in и авторизуемся с теми данными, с которыми мы регистрировались на сайте. Можно сразу выбрать Personal Use и авторизоваться уже там.
Принимаем условия EULA и — вуаля! У нас готовая к использованию система. Теперь вы знаете, как запустить Android приложение на Linux.
4. Запуск Android-приложений в Google Chrome Linux
В браузере для этого используется ряд расширений — chromeos-apk и ARChon. Сама же эмуляция функционирует, используя библиотеку Chrome App Runtime. Первоначально она появилась в Chrome OS, когда туда добавили поддержку Android. Для начала устанавливаем именно нестабильную версию Chrome (до релиза). В Терминале выполняем:
sudo nano /etc/apt/sources.list.d/google-chrome.list
Откроется окно Nano, туда вписываем следующее:
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
Записываем изменения комбинацией Ctrl+O, выходим — Ctrl+X. Важно! При выходе без предварительной записи данные не сохраняются!
Далее в терминале вводим:
wget https://dl.google.com/linux/linux_signing_key.pub
Эта команда скачает ключ для доступа к deb-пакету. Теперь вводим команду, которая ниже, это добавит ключ:
sudo apt-key add linux_signing_key.pub
Обновляем список пакетов:
sudo apt update
После этого устанавливаем уже нестабильную версию браузера:
sudo apt install google-chrome-unstable
Первый запуск браузера будет долгим, это нормально. Можно установить его по умолчанию, если хочется.
- После запуска скачиваем и извлекаем из архива содержимое ARChon в любую директорию (можно даже по умолчанию);
- Открываем Chrome и в настройках активируем Developer mode. Для этого идём в chrome://extensions/ или же открываем меню (которое с тремя точками);
- Кликаем по Load unpacked extension и указываем распакованный ARChon. После этого расширение устанавливается.
Однако это ещё не всё. Теперь необходимо подготовить APK для установки (а вы думали, всё будет просто?). Сначала установим расширение chromeos-apk. Для этого инсталлируем библиотеку lib32stdc++6 командой в терминале:
sudo apt install lib32stdc++6
Сhromeos-apk устанавливаем, используя менеджер пакетов npm в том же терминале:
npm install chromeos-apk -g
Готово, теперь можно корректно распаковывать APK с помощью chromeos-apk и переводить его в расширение. В терминале вводим команду:
chromeos-apk path/to/file.apk
У нас получилось расширение для браузера Chrome. Открываем его в chrome://extensions/, после чего запускаем. Если вы всё сделали правильно, новенькая программа должна запуститься.
Важно, что в этом варианте будут работать далеко не все приложения. Ведь, по сути, это пока тестовая возможность, а не релиз. Скорее всего «не заведутся» игры, системные приложения и просто «тяжёлые» программы.
Выводы
В целом, есть ещё много способов запустить Android-программы в Ubuntu. Можно использовать эмулятор Shashlik или вообще поставить Android x86 в VirtualBox. Можно использовать QEMU и эмулировать даже железо (при условии, что у вас мощный ПК). В конце концов, если у вас куча свободного времени, можно даже поэкспериментировать со связкой Wine + какие-угодно-эмуляторы-под-другие-ОС. Правда, гарантий работы никто не даст ?.
Если же серьёзно, то решения под Ubuntu 18.04 для работы с Android-приложениями есть. Остаётся выбрать.