Ранее уже было возможно запускать Android приложения в таких решениях, как Bluestacks или ShashLik, а также с помощью запуска Android-x86 ISO образа в виртуальной машине. Но все эти решения основаны на эмуляции и имеют не самую лучшую производительность, и во время использования они не всегда работали хорошо или были неудобны в использовании. Anbox отличается тем, что вместо запуска своего собственного Linux ядра для Android, он использует Linux ядро в Ubuntu для лучшей интеграции и производительности, и использует LXC контейнер для запуска Android.
Anbox был протестирован в Ubuntu 16.04, но он также должен работать с другими последними дистрибутивами Ubuntu. Установить Anbox (Alpha) очень просто всего одной командой в командной строке:
1 |
sudo snap install --classic anbox-installer && anbox-installer |
Эта команда изменит вашу систему следующим образом:
- Добавится anbox-поддержка ppa ppa:morphis/anbox-поддержка корневой системы
- Установится deb пакет anbox-modules-dkms из ppa, который добавит ядро модулей ashmem и binder, которые необходимы для работы контейнера Android.
- Будут настроены модули ядра binder и ashmem, которые будут запускаться автоматически при загрузке.
- Добавится начальное задание для текущего пользователя XXXXX, которое запустит anbox при входе в систему.
- Добавится файл конфигурации X11 сессии, чтобы дать возможность системному приложению запуска (Unity7, Gnome Shell, ..) искать доступные Android приложения.
Если все произошло как положено, нажмите “I AGREE” для завершения установки и перезагрузки вашего компьютера.
В инструкции указано, что можно устанавливать приложения с помощью adb:
1 |
adb install app-name.apk |
Но по какой-то причине adb не смог найти какие-либо подключенные устройства. Поэтому была проверена системная информация:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
anbox system-info version: 0.1.0 os: name: Ubuntu Core version: 16 snap-based: true kernel: version: Linux version 4.8.0-46-generic (buildd@lcy01-15) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #49~16.04.1-Ubuntu SMP Fri Mar 31 14:51:03 UTC 2017 binder: true ashmem: true graphics: egl: vendor: n/a version: n/a extensions: [] gles2: vendor: n/a vendor: n/a extensions: [] |
Оказалось, что графическая карта Nvidia с проприетарными драйверами работает не совсем правильно. Нет никакой уверености, что проблема запуска Anbox связана с этим, так как в журнале ядра есть много сообщений зацикливания Anbox:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[ 2394.462336] cgroup: new mount options do not match the existing superblock, will be ignored [ 2394.552752] binder_linux: 24131:24131 transaction failed 29189, size 0-0 [ 2394.566842] binder_linux: 24133:24133 transaction failed 29189, size 0-0 [ 2394.805087] anboxbr0: port 1(veth0FKTW7) entered disabled state [ 2394.815520] device veth0FKTW7 left promiscuous mode [ 2394.815527] anboxbr0: port 1(veth0FKTW7) entered disabled state [ 2395.397142] anboxbr0: port 1(vethXVRUND) entered blocking state [ 2395.397146] anboxbr0: port 1(vethXVRUND) entered disabled state [ 2395.397308] device vethXVRUND entered promiscuous mode [ 2395.397479] IPv6: ADDRCONF(NETDEV_UP): vethXVRUND: link is not ready [ 2395.397483] anboxbr0: port 1(vethXVRUND) entered blocking state [ 2395.397486] anboxbr0: port 1(vethXVRUND) entered forwarding state [ 2395.397579] anboxbr0: port 1(vethXVRUND) entered disabled state [ 2395.462011] eth0: renamed from vethNTQOD7 [ 2395.497716] IPv6: ADDRCONF(NETDEV_CHANGE): vethXVRUND: link becomes ready [ 2395.497832] anboxbr0: port 1(vethXVRUND) entered blocking state [ 2395.497835] anboxbr0: port 1(vethXVRUND) entered forwarding state |
Так что, к сожалению не удалось запустить его, но Anbox является Open Source проектом представленным на github, он лицензируется согласно правилам GPLv3 лицензии, плюс некоторые части Apache-2.0 лицензии, так что эту проблему может исправить разработчик либо вы самостоятельно. В настоящее время некоторые пользователи имеют проблемы и уже представили вопросы в Anbox’s Github репозиторий. Anbox это алфа версия программного обеспечения, поэтому это нормально что проблемы возникли в самом начале.
Хотя нам пока что не удалось заставить его работать, вы все равно можете увидеть как он работает на видео ниже.
Вы также можете посетить вебсайт Anbox для получения большего количества деталей.
Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.