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

Пара лет и шиндовс отправится на свалку истории.

За пару лет разработчики не перепишут весь тот хлам, который был написан для x86 и который до сих пор используется.

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

boost только усугубляет ситуацию.Если бы он был прозрачным набором шаблонов без рантайма - сгодился бы. Но там собрано всё что может вызвать потенциальные проблемы. И вызывает - половина проектов которые написаны убунтойдами с использованием boost у меня (gentoo) даже не собирается. А то что собралось - падает с сегфолтом. Помню только оно boost'оподелие которое запустилось - regal. Но там была какая-то старая версия boost и писали не убунтойды

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

То что snap пакет, от которого ожидают кроссдистрибутивности, подключает ppa там тоже написано?
И давно «официально поддерживается» означает «нигде кроме убунту не работает»?

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

За пару лет разработчики не перепишут весь тот хлам, который был написан для x86 и который до сих пор используется.

Воистину так. Поэтому, например, когда мне говорят, что Wayland готов заменить иксы, один из первых моих вопросов — под этим вашим Wayland уже работает wine?

hobbit ★★★★★
()

Вопрос, нахрена они приделали там snap, если это всего-лишь скрипт-установщик, который модифицирует основную систему ? Паковать софт в deb-пакеты им религия запрещает ? Или все модификации, компиляция и запуск модуля ядра и прочее - происходит в изолированном snap-окружении ?

Вот буквально на днях обсуждали snap для федоры, как это всё будет универсально и кросс-дистрибутивно. И вот первый-же попавшийся софт в котором авторы используют snap - и их поделка мало того что гвоздями прибита к убунте, так ещё и модифицирует основную систему вместо того чтобы работать в окружении snap'а.

В общем, я не знаю как разрабы snap'а хотят чтобы их «пакетный менеджер» взлетел, но тут получается как в том баянистом комиксе (http://xkcd.ru/927).

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

https://aur.archlinux.org/packages/anbox-git/

У меня на Arch Linux запускается. Мануал тут:

https://github.com/anbox/anbox/issues/3#issuecomment-294023515

Пришлось правда добавить --gles-driver=host, иначе сегфолтилось.

Пруф:

http://esxi.z-lab.me:666/~exl_lab/screens/anbox-arch.png

Сейчас буду разбираться как поставить туда что-нибудь своё.

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

Твой пафос мимо кассы.

Большинство сомневающихся в этой теме - не те, кому «не надо запускать андроидные софтины в линупсах», а те, кто боится, что реально полезные андроидные софтины не запустятся под сабжем, а также те, под чьим дистрибутивом сабж не запускается. И уже выяснили, что в последнюю категорию попадают пока что все, кроме пользователей убунты и минта.

P.S. А вот, вроде, выше ещё под арчем запустили.

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

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

помимо прочего, только м-даки пишут «андроид» через «андройд»

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

Большинство сомневающихся в этой теме - не те, кому «не надо запускать андроидные софтины в линупсах», а те, кто боится, что реально полезные андроидные софтины не запустятся под сабжем

Скорее те, что боится «тесной интеграции» с хост системой. Мне вот, например, нужно запускать андроид софтину, какая, нахрен, интеграция и автозагрузка?

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

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

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

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

Просто открой и почитай их скрипт, ссылка есть в новости. И все поймешь.

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

Сейчас буду разбираться как поставить туда что-нибудь своё.

Через ADB короче можно установить свои APK'шки.

Сейчас проверил, Java-приложения работают. Приложения с нативными либами, использующие GLES-отрисовку — нет (чёрный экран). Интернет не работает тоже. Куча глюков и тормозит. Очень сырой софт, в общем.

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

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

В обычном официальном SDK, который у меня стоит, доступен Android 2.3, и даже Android 2.1.

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

На такой дороге на круглых колёсах так же хорошо, как на квадратных на обычной

Тот вариант который я предлагаю предназначен для обычных дорог. На самом деле это несколько больше чем просто колёса(костыль) что и позволяет им ездить на обычной. Просто там будет внутри одного квадратного колеса несколько обычных )))) Только они будут спрятаны ))) Идеальная визуализация костыля и велосипеда в одном флаконе.

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

Помню только оно boost'оподелие которое запустилось - regal

Просто интересно, wesnoth запустится или нет?

Если бы он был прозрачным набором шаблонов без рантайма - сгодился бы.

Если говнокодер может прострелить ногу - он её прострелит.

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

Запустить емулятор, на него накатить гапсы и разработать хипстогорбуху о трех экранах таки могу. Но от детишек-то требовалось только первое

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

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

Интересно, если какой-то другой дистрибутив линукса станет популярным, то тогда и под него будут писать так же, искуственно привязывая к дистру? Хотя да, будут.

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

под него будут писать так же, искуственно привязывая к дистру? Хотя да, будут.

Вроде, в прошлой ветке про snap в федоре, писали что софт в нём как-бы должен быть кросс-дистритубивным. А получается, что нет.

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

Интернет не работает тоже.

В убунте работает.

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

Интересно, если какой-то другой дистрибутив линукса станет популярным, то тогда и под него будут писать так же, искуственно привязывая к дистру? Хотя да, будут.

Вообще, НОРМАЛЬНЫЙ опенсурсный софт для линукса пишется без изначальной привязки к какому-либо дистрибутиву и пакетным менеджерам. Просто с использованием автотулзов, cmake'ов и прочего. А потом мейнтейнеры его опакечивают под свои любимые дистры, шлют автору репорты о том что там не работает.

То как процесс установки организован в данном примере уже очень многое говорит об авторах и их профессиональном уровне разработчика под линукс.

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

если ты

Обращаться ко мне следует только на Вы.

разработчик под Android

Таковым не являюсь.

для навязанных подтверждений в Steam Market.

А вот это мне вообще не нужно.

hhhhacker
()

Попробовал установить по инструкции. После предложенной перезагрузки - не запустился, ссылаясь на не загруженный модуль сеансов этого Anbox. Из того что я понял в видеоинструкции - он не поддерживает systemd. Только upstart. Могу и ошибаться, глубоко не копал

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

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

Java в виде VM на андроиде никогда не было. Непосредственно «java bytecode», который и обеспечивает выполнение девиза андроидом никогда не поддерживался.

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

То как процесс установки организован в данном примере уже очень многое говорит об авторах и их профессиональном уровне разработчика под линукс.

А ведь если популярность линукса возрастёт, то это не поднимет уровень квалификации кодеров автоматом.

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

> Интернет не работает тоже.

А вот это очень плохо.

Поставил я этот Anbox. Работает Steam (удобно для торговой площадки), Viber (не нужно ставить Viber на реальную мобилу), IceCatMobile (с него и пишу), F-Droid, Yalp Store. Не заработал PPSSPP (видать с 3D пока плохо) и не работает переключение на кириллицу (копипаст кириллицы работает). Для альфа версии, по мне, так очень неплохо.

http://pic4a.ru/74/Tf.png

Если, что, то вот вывод uname:

alexey@alexey-laptop:~$ adb shell
x86_64:/ $ uname -a
Linux anbox 4.4.0-73-generic #94-Ubuntu SMP Thu Apr 6 13:38:37 UTC 2017 x86_64
x86_64:/ $ exit
alexey@alexey-laptop:~$ adb hell
x86_64:/ $ uname -a
Linux anbox 4.4.0-73-generic #94-Ubuntu SMP Thu Apr 6 13:38:37 UTC 2017 x86_64
x86_64:/ $ exit
alexey@alexey-laptop:~$ ps ax | grep steam
4444 ? Sl 0:00 com.valvesoftware.android.steam.community
5003 pts/5 S+ 0:00 grep steam
alexey@alexey-laptop:~$ uname -a
Linux alexey-laptop 4.4.0-73-generic #94-Ubuntu SMP Thu Apr 6 13:38:37 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
alexey@alexey-laptop:~$

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

А ведь если популярность линукса возрастёт, то это не поднимет уровень квалификации кодеров автоматом.

Ага. Меня иногда даже посещают шальные мысли, что линуксу нафиг не нужна популяризация на десктопе - от этого в итоге будет больше проблем чем профита. К конце-концов M$ начнёт его прессовать если он вдруг отожрёт большую долю на десктопах.

DawnCaster ★★
()

данные эмуляторы обладают рядом фатальных недостатков: или они никому не нужны, или ...

fixed

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

Обращаться ко мне следует только на Вы.

Мы в интернете. Более того, на ЛОРе. Тут так не принято.

Таковым не являюсь.

А вот это мне вообще не нужно.

Ну значит можешь проходить мимо — конкретно тебе запускать приложения андроид на линукс-десктопе не нужно. Вопрос был более общим — зачем. Я привёл примеры, с которыми встречался. Понятно, что этим сфера использования не ограничивается.

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

Спасибо, а версия самого SDK какая, и давно ли он ставился?

Установлена 24. А последняя 25. Я не разработчик под андроид, просто поставил осваивать, полгода назад может, не помню точно. Думаю, что в последней версии поддерживается все то же самое.

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

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

Я бы даже сказал - фатальный недостаток. Но посмотрим, может в будущем пофиксят. А пока, можно через ARChon запускать Android-приложения в Linux. Там тоже костыли, но терпимо, если кому-то горит.

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

У буста очень плохо с совместимостью даже при изменении в сотых долях версии. Решить можно линкуя его статически, но в большинстве дистрах он собран в шаред либы.

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

Его надо запустить сначала anbox session-manager.зщг

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