LINUX.ORG.RU

Представлен слой совместимости для запуска приложений Android на десктопных дистрибутивах Linux – Anbox

 


8

4

Anbox – это слой совместимости для запуска Android-программ в десктопных дистрибутивах Linux. Anbox похож на Wine (который запускает Win16/Win32/Win64 программы) и Darling (который запускает macOS программы, но находится на раннем этапе разработки). Anbox использует технологию контейнерезации (как и Darling). Anbox использует технологию LXC-контейнеров (Darling также использует похожую технологию). Установить Anbox можно набрав в консоли snap install --classic anbox-installer или скачав скрипт по ссылке: https://raw.githubusercontent.com/anbox/anbox-installer/master/installer.sh.

Основные возможности Anbox:

  • быстрая работа приложений;
  • поддержка 3D графики;
  • плотная интеграция с OS;
  • каждое Android-приложение работает в своем окне;
  • есть буфер обмена между Android-приложениями и десктопными;
  • лицензия: GPLv3.

Также есть и недостатки, так как Anbox еще alpha-версия:

  • Не может запускать Android приложения, у которых есть библиотеки с CPU-архитектурой, с которой не совместим хост (например не возможен запуск на x86_64 приложений с библиотеками ARM или ARM64).
  • Установка приложений только через adb (можно установить F-Droid или Yalp Store — открытая и не официальная программа для установки ПО из GooglePlay).
  • Официально поддерживается только Ubuntu 16.04.
  • Anbox (как и Darling) требует модуля ядра (в отличии от Wine), который собирается с помощью DKMS на машине пользователя.

Также стоит отметить, что если будет установлен софт для Android, который прописывал бы в автозагрузку на реальном Android устройстве, то такое приложение будет запущено автоматически на десктопном дистрибутиве Linux. Например, если установить Android-версию viber, то после перезагрузки компьютера можно обнаружить процесс с именем com.viber.voip и /system/bin/surfaceflinger.

Существуют такие эмуляторы Android, как Shashlik, LeapDroid, YouWave), Nox App Player, Windroy (сайт в текущий момент не работает), Genymotion, MEmu, AndY, AMI DuOS, BlueStacks, AndroVM (в текущий момент происходит редирект на сайт genymotion.com), Android emulator from SDK, Droid4X (сайт в текущий момент не работет), Google App Runtime for Chrome или ARC, который базируется на Native Client (частично исходники можно посмотреть на сайте chromium.googlesource.com). Несмотря на такое изобилие, данные эмуляторы обладают рядом недостатков: или работают только под Windows/macOS, или проприетарны, или имеют низкую производительность, либо же разработка прекращена.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Anbox (как и Darling) требует модуля ядра (в отличии от Wine), который собирается с помощью DKMS на машине пользователя.

Серьёзный недостаток.

Также стоит отметить, что если будет установлен софт для Android, который прописывал бы в автозагрузку на реальном Android устройстве, то такое приложение будет запущено автоматически на десктопном дистрибутиве Linux. Например если установить Android-версию viber, то после перезагрузки компьютера можно обнаружить процесс с именем com.viber.voip и /system/bin/surfaceflinger.

А это очень серьёзный недостаток. А куда именно он прописывает-то? Огородить его никак нельзя, чтобы андроид-приложение ни имело доступа ни к чему?

Не… Это не дело. Продолжу использовать для этих целей VirtualBox.

Psych218 ★★★★★ ()

Неплохо. Я уже 2 года запускаю приложения для Android в Google Chrome, но не работают игры (нет OpenGL ES), мультитач (нет поддержки Xinput 2) и WhatsApp (нет поддержки Google Play). Надеюсь, Anbox лучше?

ZenitharChampion ★★★★★ ()

Не может запускать Android приложения, у которых есть библиотеки с CPU-архитектурой, с которой не совместим хост (например не возможен запуск на x86_64 приложений с библиотеками ARM или ARM64).

Ну то бишь большинство игр не получится запустить. Далеко не все игры поддерживают Nexus Player, для которого обязательно должна быть включена поддержка x86_64. Большинство игр собрано для armeabi-v7a.

andreyu ★★★★★ ()

Не может запускать Android приложения, у которых есть библиотеки с CPU-архитектурой, с которой не совместим хост (например не возможен запуск на x86_64 приложений с библиотеками ARM или ARM64).

Собственно, на этом и всё :) Как я понимаю, для полноценной работы на этом большинства сколько-нибудь полезных андроид-программ, видимо, надо собрать ARM-десктоп, ибо это большинство тащит за собой NDK?

Я не хочу сказать что-то плохое, молодцы ребята, что пилят продукт, просто область применения получается микроскопическая?

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от makoven

А почему не qemu? Его модули встроены во всякое ядро

С QEMU надо будет разобраться. Есть в планах попробовать его. Через него можно сохранить состояние запущенной машины, а потом продолжить с него? Я VirtualBox использую именно так — а то андроид с нуля грузится долго. Вообще мне от андроида нужно ровно одно приложение — steam.

Psych218 ★★★★★ ()
Ответ на: комментарий от Psych218

Через него можно сохранить состояние запущенной машины, а потом продолжить с него?

Можно. Но вроде-бы с графикой все несколько хуже чем в VB. Я, собственно, и вбросил «А почему не qemu», чтобы кто-нибудь пояснил этот момент детальнее )

makoven ★★★★ ()
Ответ на: комментарий от reprimand

Это сколько же? У меня не более 5 секунд...

У меня дольше. Около 25 секунд. А вот восстанавливается со снимка как раз около 5.

Psych218 ★★★★★ ()
Последнее исправление: Psych218 (всего исправлений: 1)
Ответ на: комментарий от ozzee

Что такого есть в андроидовской версии стима? Неужели игры?

Нет, при использовании steam community market нужно подтверждение через приложение почти при каждой операции. Собственно, использовать реальный телефон для этого для меня - дурной тон, вот потому и ганяю в виртуалке.

reprimand ★★★★ ()
Ответ на: комментарий от RazrFalcon

Вообще мне от андроида нужно ровно одно приложение — steam.

А чем десктопная версия не подходит?

Подтверждения в маркете с телефона, выше reprimand ответил. А реального устройства с андроидом или iOS у меня нет (но и если бы было, я бы туда не тащил этот зонд).

Psych218 ★★★★★ ()
Последнее исправление: Psych218 (всего исправлений: 1)
Ответ на: комментарий от hhhhacker

Зачем запускать приложения для андроида в дистрибутивах линукс?

Причин может быть множество. Например для тестирования (если ты разработчик под Android), или вот как мне, например, для навязанных подтверждений в Steam Market.

Psych218 ★★★★★ ()

Казалось бы, вот он, рецепт вендекапца - андроид на десктопе. Гугл хватит сил продвинуть его, убрав хромось подальше и выпустив Andromeda, тот же ведроид, с но с пекашным гуем. Там и разрабы дровишек подтянутся и софтописатели. Запилить гладкую интеграцию с мобилками и будет у гугла своя экосистема, как у яббла, только доля будет гораздо выше. Пара лет и шиндовс отправится на свалку истории.

anonymous ()
Ответ на: комментарий от anonymous

Гугл хватит сил продвинуть его, убрав хромось подальше

Они могли бы уже давно это начать делать. Андроид в принципе на десктопе запустить реально. Мышки и клавиатуры он поддерживает, лэйауты для десктопных размеров экрана — тоже.

static_lab ★★★★ ()

Мда, на десктопном линухе всё настолько плохо с приложениями, что он вынужден их таскать с мобильной оси. А илитка ещё всё ещё не понимает, зачем нужны популярность и пользователи.

duott ★★★★★ ()
Ответ на: комментарий от hhhhacker

Я вижу два сценария.

1) карты, навигатор, электрички, метро (по идее есть), просмотр длинковских камер, заказ такси, управление квадрокоптером и прочий узкий софт, который есть в апдройде и нет на линуксе. Отдельно упомяну говноигры, ибо это недостаток.

2) Отладка своих приложений и реверс-инженеринг чужих.

AVL2 ★★★★★ ()
Ответ на: комментарий от mittorn

Надо требование модуля выпилить. Биндер можно и в юзерспейсе пускать.

Да, кажется в Шашлыке обещали написать юзерспейс версию. Интересно, как оно там? Кстати, а ashmem (или как его там) тоже можно вынести из ядра?

ls-h ★★ ()
Ответ на: комментарий от foror

2gis и игори

Браузерная версия не вариант? Вот насчёт игорей вообще непонятно. Чего такое есть под андроид жутко интересное, и чтобы в него ещё и на десктопе было нормально играть (где нет тача и всяких гироскопов)?

ls-h ★★ ()

Меня всегда умиляют ущербные консервативные питекантропы, которые существуют по принципу «не себе не людям» и «если я живу в обосранной пещере, то и все должны так жить» и которых over 90%! 😂
Ну, если вам не надо запускать андроидные софтины в линупсах, то не запускайте, кто вас заставляет-то?! Это вам не systemd! Только зачем отказывать всем остальным в такой возможности? Живите в своем замшелом манямирке, а остальные как-нибудь без вас решат что им делать! 😉

Indexator ★★★ ()
Ответ на: комментарий от ls-h

Там очень много интересных инди игорей, скрытые под слоем маркетингого булшита и не взлетевшие как раз из-за неудобства управления с тача, но я забыл их названия, не до них щас. В планах, кстати сделать сайт с отфильтрованными андроид игорями.

foror ★★ ()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от Indexator

по сути правильно, но сравнение с питекантропами непонятное. учитывая убогость мобильных приложений, питекантропы — это как раз те, кто их очень любит.

anonymous ()

Есть одна классная особенность у этого поделия: оно устанавливается только на Ubuntu и Mint

/var/lib/snapd/snap/anbox-installer/9/installer.sh: line 30: lsb_release: command not found
ERROR: You are running the installer on an unsupported distribution.
At the moment we only support the following distributions:

Ubuntu, LinuxMint

mersinvald ★★★ ()