Запуск android приложений на LINUX

Эмуляторами и виртуальными машинами на сегодняшний день сложно кого-то удивить. Зачастую это уже не инструмент системного администратора, который в свитере и с бородой укрощает демонов. Эмуляторы используют разработчики и геймеры. На них тестируют приложения Android до выхода в свет - это проще, чем держать под рукой дюжину моделей смартфонов.
Сегодня мы поговорим о том, как можно запустить приложения Android на Linux, а именно в операционной системе Ubuntu 18.04. Оказывается, для этого есть несколько путей.


ЗАПУСК ANDROID-ПРИЛОЖЕНИЙ В ОС LINUX

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 и авторизоваться уже там.
Android Ubuntu
Android Ubuntu
Android Ubuntu
Android Ubuntu
Android Ubuntu
Android Ubuntu
Android Ubuntu
Android Ubuntu
Принимаем условия 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

Первый запуск браузера будет долгим, это нормально. Можно установить его по умолчанию, если хочется.
Android Ubuntu
Android Ubuntu
Android Ubuntu
Android Ubuntu
Android Ubuntu
  • После запуска скачиваем и извлекаем из архива содержимое 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-приложениями есть. Остаётся выбрать.

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

Alexvaa от 17 января 2019 09:52
я сейчас использую avdmanager в паре с Android Debug Bridge (adb) 
Maximal от 27 января 2019 21:20
Цитата: Alexvaa
я сейчас использую avdmanager в паре с Android Debug Bridge (adb) 

Я использую BlueStacks на маке пока. Линукс у меня сейчас на работе только, дома только OS X
Добавить комментарий

Оставить комментарий