Google дал для своего детища ChromeOS, который по сути своей linux, возможность запускать Android приложения. По иронии судьбы, Android - это то же linux с Java машиной ART в новых версиях и Dalvik в старых. Теперь в Linux мы мучаемся с запуском программ, написанных для несколько иной linux системы на кроссплатформенном языке Java. Технология называется App Runtime for Chrome или кратко ARC, которую разработали Кен Микстер (Ken Mixter) и Джош Вудвард (Josh Woodward).
Первые релизы ARC, которая ещё делает свои первые шаги, шли с ограничениями типа: работало некоторое количество приложений и только в ChromeOS. Разработчик НЕ из Google по имени Влад Филиппов ака vladikoff устранил ограничения и представил свою версию ARC под названием ARChon. Нам понадобится браузер Google Chrome старше 37 версии и всё что мы будем делать - это использовать API расширений Chrome. Гугловский ARC - это расширение. ARChon - расширение. Все программы android, что вы установите - это расширения.
Если вы будете использовать ARChon, то вы замените Google ARC, но не удалите его. Так что процедура безболезненная и неопасная.
Предполагаю, что с установкой Google Chrome вы уже справились. Осталось зайти на ARChon Custom Runtime Guide и скачать нужной архитектуры ARChon. Скачав архив, распакуйте его.
И тут остановитесь. Минутка истории! Начиная Chrome 35 для ОС MS Windows, Google решил запретить установку новых и работу прежде установленных расширений, размещённых НЕ в магазине Chrome WebStore. Потом был полный запрет сторонних расширений в мае 2014 года. Теперь, чтобы установить стороннее расширение даже если вы ему доверяете, нужно провернуть несложный финт ушами.
Нам нужно в Терминале запустить Google Chrome вот так: google-chrome --enable-easy-off-store-extension-install
Теперь через Инструменты -> Расширения можно добавить скачанный и распакованный Архон. Поставьте галочку "Режим разработчика" и нажмите "Загрузить распакованное расширение". Укажите на распакованный каталог Архона, игнорируя предупреждения.
Сообщество подготовило обширный список программ, с указанием статуса работоспособности и URL. Вам осталось посетить онлайн электронную таблицу Chrome APK Official Apps List. Я никогда не кидал свиней в птиц и решил, что самое время проверить возможность работы андроид программ в линуксе на примере именно этой игрушки Angry Birds. Скачал, распаковал, добавил как расширение и запустил.
Как быть если на руках есть только пакет с андроид программой в формате apk? Сначала проверьте в Chrome APK Official Apps List чтобы данная программа не была в красном цвете статуса Crash или Unusable. Я наивно полагал, что справлюсь с игрушкой Plants vs Zombies v1.2, но она обломала мне рога. И тут я вспомнил, что являюсь активным игроком в World of Tanks и есть программа-помощник World of Tanks Assistant. Скачать apk из Google Play мне помог сайт apk-dl.com, выдав прямую ссылку на требуемое.
Теперь нам нужен инструмент chromeos-apk, который позволяет конвертировать пакет apk в удобоваримое расширение:
sudo apt-get install npm
sudo npm install -g chromeos-apk@latest
PATH=$PATH:/home/vasilisc/temp/node/bin chromeos-apk ru.worldoftanks.mobile_1.8.2.apk
Программы в мире Android привыкли работать на мобильных устройства: смартфонах и планшетах. Окно программы вписывается в невидимое устройство и, если вам хочется сделать resize, чтобы было покрупнее, то это вполне можно сделать. В папке, которая содержит распакованный Archon есть 2 файла gen_main.min.js и gen_index.min.js
Найдите в них tablet: {"long": 1280, "short": 800} и подправьте под свои нужды.
Более действенно будет добавить "resize": "scale" в раздел arc_metadata в файле manifest.json у самого приложения. После всех манипуляций не забудьте Перезагрузить (Ctrl+R) расширение.
Если у приложения нет своего значка, то на панели Unity Launcher будет дефолтный значок зелёного робота. Самый простой способ сменить значок - это любой понравившийся значок положить в распакованную папку приложения, затерев там icon.png. Остальное произойдёт без вас автоматически.
Вот в принципе и всё! Если вам чего-то не хватало из мира Android и вы страстно хотели это запустить в своей Linux системе, то теперь есть реальный шанс сделать это.
Дополнительные материалы:
Проект по запуску Android приложений в Ubuntu.
Андроид программы в Ubuntu через AVD.
LXC 1.0: Более углублённое использование контейнера. Установка Android в контейнер LXC.