30 декабря 2016

Запуск android приложений в Linux без эмуляции (с помощью Google Chrome)


Операционная система Android является несколько иной Linux системой, в которой запускаются кроссплатформенные приложения, написанные на языке Java, в среде виртуальной машины ART (Android Runtime) в новых версиях и Dalvik в старых.
Не будем углубляться в тонкости архитектуры и взаимодействия компонентов системы, главное знать - Android базируется на Linux, но имеет некоторые отличия.
Сегодня телефоны android прочно вошли в нашу жизнь и очень многие ими активно пользуются. Вместе с самими устройствами становятся популярны и мобильные приложения. Иногда они могут полностью заменить простые функции ПК - просмотр почты, проигрывание музыки, фильмов, чтение новостей.

Наверняка кто-то задавался вопросом - можно ли использовать мобильные приложения android на ПК? Ответ - можно, но с некоторыми ограничениями.

В статье рассматривается вопрос как это сделать. Есть ли в этом смысл каждый решает для себя.
Описание  процесса не является призывом немедленно это делать в своей операционной системе и приводится в рамках тезиса "jast for fun" т.е ради интереса.

Нам понадобится:

- операционная система LINUX (версия дистрибутива не принципиальна)
- браузер Google Chrome 64 bit (Chromium и хромиум браузеры типа   Opera, Vivaldi, Yandex и т.д не подходят),
  32 битные сборки уже не выпускаются.
- расширение для Google Chrome ARChon.

Устанавливаем Google Chrome 64 bit по ссылке
Загружаем ARChon Runtime for Chrome v2.1.0 (Intel x86 Chrome 64-bit) с сайта archon-runtime.github.io

Далее распаковываем его, включаем "Режим разработчика" в Google Chrome (Инструменты --> Расширения) - "загрузить распакованное расширение"



В linux невозможно напрямую запустить файл apk приложения android, даже если установлено расширение ARChon.

Для запуска необходимо специальным образом его сконвертировать и установить так же как расширение ARChon.
Способов конвертации приложений  несколько. Вы можете выбрать наиболее работоспособный для ваших условий.

1. С помощью chromeos-apk (самый надежный).
Установить Node.JS
Воспользуйтесь своим пакетным менеджером.
Предупреждение!  В Ubuntu репозиторий Node.JS  не работает т.к разработчик перестал его поддерживать.
Дистрибутивы на базе Arch прекрасно ставят из AUR.
Далее ставим chromeos-apk также из  AUR.
                        
Проводим само преобразование  APK файла  командой в терминале:

 chromeos-apk /путь/до/.apk

У кого не Arch дистрибутив, то используем другие методы, описанные ниже.

2. Устанавливаем на сматрфон приложение ARChon Packager из Google Play
Подробнее на этой странице.

3. Используем расширение Twerk для Google Chrome из  Google Web Store

4. Программу apk2archon на питоне. Ссылка github

Подробнее можно прочитать на сайте 4pda, где подробно описывается как изменить размер приложения, какие параметры задать при запуске.

Установленные приложения вы сможете найти в меню приложений. В разделе  "Приложения Chrome".

Путем редактирования можно изменить значок запуска.

Сами приложения- расширения будут храниться в папках вида  com.twitter.android.android, в эту папку можно скопировать нужный значок icon.png (для запуска приложения и отображения в меню):

Общий cписок приложений, которые удалось запустить на ПК.
Например, я установил следующие приложения:

- Вконтакте. Работает хорошо.
- Twitter. Работает, замечаний нет.
- K9 mail. Неплохой почтовик. Может служить заменой почтовой программе на ПК. Из проблем - не удалось добавить gmail ящик.
- Lost FM. Отличное онлайн радио от Виталия Крюкова. Прочтите описание и по возможности помогите разработчику.

Поделитесь в комментариях, какое приложение смогли запустить, как оно работает. Скриншоты приложений:






Обновлено
Добавил пример полноценной работы приложения Color Note:




Таким образом, мы научились запускать некоторые android приложения в окружении google chrome на Linux без эмулятора или отдельной виртуальной машины.
Ссылки: archon-runtime.github.io

P.S. Если появились вопросы по теме,  спрашивайте, постараюсь помочь. Это можно сделать на этой странице или на сайте линукс для дома
Следите за новостями