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. Если появились вопросы по теме,  спрашивайте, постараюсь помочь. Это можно сделать на этой странице или на сайте линукс для дома
Следите за новостями





40 комментариев :

  1. Ответы
    1. Может и проще, но результат не сравним. Суть статьи в том, что есть путь запускать приложения андроид практически нативно, не используя эмуляторы. За счет интеграции гугл-хрома с любой линукс системой мы сразу получаем интеграцию и андроид приложений. Их можно запускать из любого меню и даже панелей.
      При этом приложения не тянут за собой рабочий стол андроида и в то же время сохраняют полную работоспособность.
      Да, пока не все приложения работают, но инженеры Google работают над интеграцией, что вселяет надежду на то, что результат появится.

      Кстати, если вы не любите браузер google-chrome, то установив его никто не заставляет им пользоваться. Достаточно установить расширения и можно пользоваться андроид приложениями и использовать свой обычный браузер, к которому вы привыкли.

      Удалить
  2. А как насчет быстродействия приложения и качества графики?

    ОтветитьУдалить
    Ответы
    1. Нормальное быстродействие. Графику можно подстроить под ваш экран. Приложения используют web gl, поэтому качество такое же как и в андроиде.

      Удалить
  3. ...поставил android операционной системой и пользуюсь всеми приложениями из гугла плэя,игры и так далее,правда игры идут не все ..

    ОтветитьУдалить
    Ответы
    1. для себя и игрушек на android установил RemixOS, быстродействие в AnTuTu - 340, те игры, которые запускал, идут все, доволен на 100%

      Удалить
    2. Этот комментарий был удален автором.

      Удалить
    3. маленькое резюмме http://i7.5cm.ru/i/HP2E.png

      Удалить
  4. Я тоже ставил RemixOS, но в виртуалку - удобней работать на ПК. Скорость и графика, как на компе.(правда я 2 ядра и 2 Гига, ни 3D ускорение включал) или с флешки, для полного погружения.

    ОтветитьУдалить
  5. А меня нет и не было андроийд, всех с наступающим.
    С уважением Владимир.
    P.S.
    Володя спасибо!!! :).

    ОтветитьУдалить
  6. Да и Максу Пузыреву, тоже спасибо :).

    ОтветитьУдалить
  7. Поставил на смартфон Ubuntu-терминал, балуюсь. Но настоящую Linux-машину эта игрушка не заменит!

    ОтветитьУдалить
  8. Я поставил Android-x86 6.0 альтернативным способом.
    В корне Ubuntu создал папку android, в ней же data.
    Скачал дистр .iso Андрюши и скопировал из него в android файлы: initrd.img, install.img, kernel, ramdisk.img и system.sfs
    Добавил в файл: 40_custom запись:

    menuentry «Android-x86_64» —class android-x86_64 {
    linux /android/kernel root=/dev/ram0 androidboot.hardware=android_x86_64
    androidboot.selinux=permissive CMDLINE
    initrd /android/initrd.img
    }

    сделал этот файл исполняемым.
    Обновил grub.
    Перезагружаемся и получаем в меню grub запись для запуска и Андрюши.
    Выбыираем её, жмём Ентер и загружается Андрюша!
    Вводим свои данные Гугл и вуаля!
    Без лишних телодвижений, без разметки и пр.
    Единственное, корень Ubuntu надо побольше гигов на 2-5 делать, взависимости, сколько софтин собираешься юзать в Андрюше...

    ОтветитьУдалить
  9. Ребята, суть не в юзанье андрюши как полноценной ОС, а запуск отдельных приложений в Вашей основной оси на основе Linux без установки эмуляторов или тем более на жесткий диск.
    Обновил статью. Посмотрите как работает андроид приложение Color Note. Точно так же как и в андроиде, причем без установки дополнительных ОС.

    ОтветитьУдалить
    Ответы
    1. Суть понятна конечно, просто хотелось, как альтернативный вариант, без особых заморок предложить, да, и не все, вкл. и меня, любят этот "шедевр" под названием Хром...

      Удалить
  10. Если бы ещё кто обьяснил как утановить хром на "манжаро" было бы вообще сдорово.

    ОтветитьУдалить
    Ответы
    1. Хром из AUR вроде устанавливается.

      Удалить
    2. Если я не ошибаюсь,должен быть в AUR.

      Удалить
    3. http://storage3.static.itmages.ru/i/17/0101/h_1483247960_6198406_a9c9386857.png

      Удалить
  11. Здравствуйте. Сделал всё по инструкции, но ни одно приложение не работает. Запускается, но в окне на черном фоне иконка ошибки. Конвертировал приложения через Twerk. Linux Mint 18.1. Что может вызывать такую ошибку?

    ОтветитьУдалить
  12. Надо подробнее описать, какие приложения. Лично у меня Twerk не заработал. Приложения конвертировал, а запускаться они не хотели. Нормальную конвертацию делает chromeos-apk. Могу выложить приложения, которые заработали. Напишите какое приложение нужно, я проверю.

    ОтветитьУдалить
  13. Пробовал последнюю версию ВКонтакте и Aliexpress.

    ОтветитьУдалить
  14. Не лучше запускать APK с помощью расширения для того же Хрома ARC Welder, намного проще.

    ОтветитьУдалить
    Ответы
    1. А вот вы возьмите и проверьте проще или нет, да расскажите о своих результатах.
      Есть понятие "проще", а есть понятие - гарантированно работает. И то что проще, не всегда работает.

      Удалить
    2. Выложил работающие расширения на 4PDA, у кого проблемы с конвертацией, можно воспользоваться. Приложения проверены, работают, скриншоты прилагаются.
      https://goo.gl/SHIuhp

      Удалить
    3. при запуске приложения выдает : мы определили что разрешение вашего устройства 640\360 , однако программа прелназначена для 800\480 по этому не сможет работать на вешем устройстве

      Удалить
  15. Вопрос как запустить Steam вминт 18.Неработает.Можеткто знает?

    ОтветитьУдалить
    Ответы
    1. вчера только установил мяту 18.1 на ноут. стим без проблем поставил из магазина. когда сидел на убунте были проблемы с установкой стима. но решалось это парой команд. проблема эта в общем то легко гуглится

      Удалить
  16. Да,очень интересный метод,вчера весь вечер игрался... многие приложения запускаются,многие нет, вроде интересно вроде можно применить но htop показал нагрузку процесора на 60% и отьедания RAM в 3 гигабайта , которой у меня в наличии 4 гигабайта. И это для запуска неполно функциональных приложений( а по моему скромному мнению на андроиде приложения таковы). И вдруг меня неожиданно озарило что Linux давно дошел до уровня полноценной инфраструктуры, в этой системе я выбрал для себя нужный мне набор программ которые я использую уже 10 лет, и они за это время развивались... и поняв это меня охватило тихое счастье . И мне эти андроид приложения на которых я жадно зарился(у них просто очень красивые иконки),стали не нужны!

    ОтветитьУдалить
  17. Красивая тема на скринах! Как называется?

    ОтветитьУдалить
  18. Если у меня нет смартфона на Ондроед, у меня это всё юзать не получится?

    ОтветитьУдалить
  19. У кого не Arch дистрибутив, то используем другие методы, описанные ниже.
    напишите пожалуйста по подробнее
    не совсем понимаю что нужно делать - начинающий пользователь .

    ОтветитьУдалить
  20. А что за launcher на втором скрине? Не видел такого в Plasma.

    ОтветитьУдалить
    Ответы
    1. Это Панель приложений - Dashboard. Правый клик на значке меню и выберите Dashboard.

      Удалить
  21. А есть вариант подобным способом запустить instagram на Linux? У меня не получилось. Или может какой другой способ есть? Кто знает, поделитесь.) Очень нужен по работе для нашего интернет магазина, а работать с телефона это извращение.)))

    ОтветитьУдалить