- Anbox (Русский)
- Установка
- Старые ядра
- Сеть
- systemd-networkd
- Скрипт anbox-bridge
- Использование
- Установка приложений через adb
- Установка приложений через магазины приложений
- Советы и рекомендации
- Пересборка ядра с необходимыми настройками
- Решение проблем
- Старые процессоры
- Ошибка SecureBoot
- Смотрите также
- Android App Development Quick-Start With Hello-World on Arch Linux Easy Guide
Anbox (Русский)
Состояние перевода: На этой странице представлен перевод статьи Anbox. Дата последней синхронизации: 23 октября 2020. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.
Reason: Многочисленные нарушения правил стилевого оформления, см. Help:Стиль. (Discuss in Talk:Anbox (Русский))
Anbox — это контейнерное ПО для запуска Android на дистрибутивах GNU/Linux.
Установка
Примечание: Модули DKMS больше не работают с версиями ядра Linux 5.7 и выше. (Подробнее об этом: [1])
Вместо этого следуйте инструкции ниже.
Инструкция для старых ядер: Старые ядра.
1. Установите (или соберите) необходимое ядро:
Для запуска Anbox необходимо ядро, в котором активированы определенные настройки.
2. Включите binder и ashmem :
Запустите с правами суперпользователя:
$ modprobe binder_linux ashmem_linux
Поэтому сперва следует установить Android-образ, а затем другие пакеты Anbox.
Тут есть решение часто встречаемой ошибки logger.cpp .
Старые ядра
Примечание: Модули DKMS устарели и потому могут перестать работать в будущих версиях Anbox, поэтому рекомендуется пользоваться методом выше.
На старых версиях ядра (до 5.7) DKMS-модули все еще работают.
Примечание: Пакет модулей DKMS anbox-modules-dkms-git был удален из AUR, поэтому нужно собрать их вручную.
2. Соберите и установите модули DKMS вручную из репозитория GitHub: [3].
4. Установите один из этих образов:
5. Загрузите модули ядра вручную (опционально):
Можете загрузить DKMS-модули вручную, без перезагрузки компьютера:
$ modprobe ashmem_linux binder_linux
anbox-container-manager.service
Сеть
systemd-networkd
Пакет anbox-git AUR использует systemd-networkd чтобы иметь доступ к сети в Anbox. Поэтому нужно включить systemd-networkd или запустить systemd-networkd перед запуском anbox-container-manager.service .
Скрипт anbox-bridge
Нужно запускать anbox-bridge каждый раз перед запуском anbox-container-manager.service чтобы добиться работы сети в Anbox.
Простейшим решением в таком случае является создание файла enable-anbox-bridge.conf .
/etc/systemd/system/anbox-container-manager.service.d/enable-anbox-bridge.conf
[Service] ExecStartPre=/usr/bin/anbox-bridge start ExecStopPost=/usr/bin/anbox-bridge stop
Использование
После установки вы сможете запускать Android приложения в лаунчере рабочего стола из категории Другое.
Если вы хотите использовать adb для отладки, установите android-tools
Установка приложений через adb
Если не был выбран образ с houdini, Anbox не будет поддерживает ARM приложения. Поэтому приложения должны иметь архитектуру x86_64.
Чтобы установить /путь/к/приложению.apk
$ adb install /путь/к/приложению.apk
Получить список всех установленных приложений:
$ adb shell pm list packages
Обратите внимание, что вывод будет аналогичен таковому от package:app.name , где app.name отличается от отображаемого в контейнере anbox.
чтобы удалить app.name
$ adb uninstall app.name
Если app.name — системное приложение:
$ adb uninstall --user 0 app.name
Установка приложений через магазины приложений
Приложения можно легко установить через магазины приложений. В anbox-image-gapps AUR включен PlayStore.
Советы и рекомендации
Пересборка ядра с необходимыми настройками
Если вы не хотите использовать ядро linux-zen , можно пересобрать ядро:
CONFIG_ASHMEM=y CONFIG_ANDROID=y CONFIG_ANDROID_BINDER_IPC=y CONFIG_ANDROID_BINDERFS=y CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
2. Перезагрузитесь в новое ядро.
# mkdir /dev/binderfs # mount -t binder binder /dev/binderfs
Решение проблем
Если возникнут проблемы, посмотрите официальный Трекер Проблем: https://github.com/anbox/anbox/issues
Старые процессоры
Некоторые старые процессоры не поддерживают SSE 4.1/4.2 и SSSE 3, необходимый для Anbox, поэтому на таких процессорах,скорее всего, Anbox работать не будет. [4].
Ошибка SecureBoot
modprobe: ERROR: could not insert 'ashmem_linux': Operation not permitted
Скорее всего, Secure Boot блокирует модуль. Можно либо отключить SecureBoot либо подписать модуль ashmem самому.
Больше информации про это можно найти здесь: [5].
Смотрите также
Android App Development Quick-Start With Hello-World on Arch Linux Easy Guide
You are Welcome! The Tutorial shows you Step-by-Step How to Quick Start with Android Studio IDE Development with a Hello World App on Arch Linux 32-64bit Desktop.
The Hello World Android App is a Basic App that Simply Display the text ‘Hello World’ when you Open it Up.
Android is a Linux-based operating system for cell phones and tablets made by Google and Open Handset Alliance.
Android Studio is the official IDE for Android application development, based on IntelliJ IDEA.
Just accept the proposed Settings…
Then Finish and Wait for Gradle Compilation of the Android App…
Select the Android Emulator to Display the App