LINUX.ORG.RU

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

 


9

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 ()
Последнее исправление: CYB3R (всего исправлений: 16)

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

> Приложение Юла в ARC работает?

Не пробовал, попробую при случае.

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

Да половую ориентацию разрабов мы уже и так выяснили, дальше всё понятно. Если попробовать собрать - придётся у себя убунту соорудить.

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

Это еще только альфа, так что пока так и это нормально, а дальше, думаю, будут расширяться...

At the moment

Что, какбэ, намекает...

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

Кхм, так и сделали бы deb пакеты.
У них snap, они и так все зависимости с собой таскают, откуда вообще зависимость от дистрибутива взялась?

mersinvald ★★★★★
()

Очень нужно.

Собираю карпц на основе линуха (xbmc). Насколько легко будет запустить на сабже google maps с коннектом к интернету? Или может кто посоветует навигацию для линукса нормальную?

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

От конфигурации ядра. Например только м-даки врубают selinux на десктопе, а андройду он нужен (хотя тоже непонятно зачем)

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

андроиду selinux не нужен, просто он там включен. но если выключить, то функциональность никак не поменяется.

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

Официально поддерживается только Ubuntu 16.04.

Я не вникал, может как-то связано с lxc, т.к. в 16.04 он там идет в изначальной поставке. В любом случае, это обычное дело для альфы (т.е. вообще не для пользования) - работать только на дистре разраба, т.к. это по сути что-то типа proof of concept. А пока это все будет оптимизироваться, отлаживаться и устаканиваться, то и остальные дистры подтянут. Очевидно, что пока это не первоочередная задача... Но никто не мешает принять участие и запушить поддержку своего дистра: https://github.com/anbox/anbox 😉

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

Не знаю, мне кажется что это будет неудобно и я не знаю умеет ли гуглмапс в браузере дружить с внешним gps приемником и отрисовывать дорогу в реальном времени

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

Естественно, загляни в скрипт. Он добавляет ppa и ставит пакеты оттуда. На не-deb дистрибутивах надо пробовать snap.

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

Не знаю, мне кажется что это будет неудобно и я не знаю умеет ли гуглмапс в браузере дружить с внешним gps приемником и отрисовывать дорогу в реальном времени

Можно установить приложение Chrome «Карты Google» и запускать как обычное приложение. GPS должен видеть, при наличии и работоспособности. Есть и другие карты под Chrome.

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

Приведенный мной скрипт в снапе и лежит.

Ах Ё, они из снап-пакета подключают ppa? Вот наркоманы.

curufinwe ★★★★★
()

есть буфер обмена между Android-приложениями и десктопными;

Это отключается?

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

Красота. Похоже вариант с виртуалкой не так уж и плох.

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

Тем временем дивиз жабы «Write once, run anywhere». Какая тонкая ирония.

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

Если бы там всё было на жабе (и ядро и дрова и небо и Аллах) было бы куда проще

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

Тем временем дивиз жабы «Write once, run anywhere». Какая тонкая ирония.

Причем тут жаба. Игры обычно нативные, чтобы получить нормальную производительность.

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

Надеюсь, недостатки вскоре допилят!

Точно! Нужно больше недостатков!

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

Причем тут жаба. Игры обычно нативные, чтобы получить нормальную производительность.

Ирония в том что кросплатформенностью и не пахнет. Хотя я не особо искал не совместимые приложения...

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

Не знаю, поэтому и спрашиваю. То есть проблем типа «Приложение не работает под вашей платформой» на твоих планшетах никогда не возникало?

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

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

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

Интересно, какие были бы недостатки, если вместо java использовался бы wasm или какой-то другой формат, собираемый под целевую архитектуру? Вроде последние андроиды собирают приложение в нативный код вместо запуска виртуальной машины.

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

Оно по природе своей убунтоспецифично, или просто больше не опакетили ни подо что? Если второе, то не так страшно, наверное, можно же из исходников собрать...

лицензия: GPLv3.

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

Нет конечно, таких проблем не было. Только неделю назад купил дочке планшет на Intel, все работает отлично.

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

Кстати, о жабе... В 2017 году ещё можно найти какой-нибудь Android SDK, позволяющий делать приложения, совместимые с Android 2.3.*?

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

Ok. А ресурсов оч много будет жрать, не знаешь? Ввод только с клавы возможен?

Поставлю на ноут, попробую потестить

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

Тогда зачем это было в snap запихивать? Ну впрочем костыли я и так вижу каждый день, не привыкать. Я уже знаю как сделать велосипед с квадратными колёсами, чтоб на нём можно было более менее ездить.

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

значит все что есть в Google Play есть в версии под x86

Абсолютно не значит! Если разраб не запилил версию по x86, то ее и не будет в Google Play...

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

Официально поддерживается только Ubuntu 16.04

это в новости написано ) читать не пробовали? ))

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

Ок, попробую потом. Но уверен что он не загрузится

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

У меня два планшета на x86 под андроидом, значит все что есть в Google Play есть в версии под x86 насколько я понимаю. Следовательно в чем может быть проблема?

Нет, большинство андроид-девайсов на x86 умеют нативно транслировать из arm в x86. Приложение не обязано быть собрано с поддержкой x86.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.