1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-anbox

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Anbox

Причина закрытия репозитория: https://gitee.com/openeuler/community/pulls/3095

Этот кодовый репозиторий был форкнут с https://github.com/anbox/anbox и будет поддерживаться сообществом openEuler Android middleware. Нашей целью является запуск Anbox на Arm PC нативно.

Anbox представляет собой контейнерный подход к запуску полноценной системы Android на обычной системе GNU/Linux, такой как Ubuntu. Другими словами: Anbox позволяет вам запустить Android на вашей Linux-системе без замедлений виртуализации.

Обзор

Anbox использует пространства имён Linux (пользователь, процесс, утилиты, сеть, монтирование, IPC) для запуска полноценной системы Android в контейнере и предоставляет Android-приложения на любой платформе на основе GNU/Linux.

Система Android внутри контейнера не имеет прямого доступа к любому оборудованию. Все доступы к оборудованию проходят через демона anbox на хосте. Мы переиспользуем то, что было реализовано в Android в QEMU-подобном эмуляторе для ускоренного отрисования OpenGL ES. Система Android внутри контейнера использует различные каналы связи для взаимодействия с хостовой системой и отправляет все команды доступа к оборудованию через эти каналы.

Для получения более подробной информации обратитесь к следующим страницам документации:* Обзор дизайна эмулирования аппаратного обеспечения Android OpenGL ES

  • Быстрые каналы Android QEMU
  • Мультиплексирующий демон Android "qemud"
  • Услуги Android qemudAnbox в настоящее время предназначен для использования на рабочих станциях, но может использоваться и на мобильных операционных системах, таких как Ubuntu Touch, Sailfish OS или Lune OS. Однако, поскольку отображение Android-приложений в настоящее время специфично для рабочего стола, это требует дополнительной работы для поддержки стековых оконных пользовательских интерфейсов.

Операционная среда Android поставляется с минимально модифицированным образом системы Android на основе проекта Android Open Source Project. Используемый образ основан на Android 7.1.1.

Поддерживаемые распределения Linux

На данный момент мы официально поддерживаем следующие дистрибутивы Linux:

  • Ubuntu 16.04 (xenial)
  • Ubuntu 18.04 (bionic)
  • UOS

Однако все остальные дистрибутивы должны работать так же, если они предоставляют обязательные модули ядра (см. kernel/).

Сборка с источника

Требования

Рекомендуется использовать машину с архитектурой ARM64.

Для сборки самого окружения Anbox нет ничего особенного. Мы используем cmake в качестве системы сборки. Несколько зависимостей сборки должны присутствовать на вашей системе:

  • libdbus
  • google-mock
  • google-test
  • libboost
  • libboost-filesystem
  • libboost-log
  • libboost-iostreams
  • libboost-program-options
  • libboost-system
  • libboost-test
  • libboost-thread
  • libcap
  • libsystemd
  • mesa (libegl1, libgles2)
  • libsdl2
  • libprotobuf
  • protobuf-compiler
  • lxc (>= 3.0)
  • libasoundНа системе Ubuntu вы можете установить все зависимости сборки с помощью следующей команды:
$ sudo apt install build-essential cmake cmake-data debhelper dbus google-mock \
    libboost-dev libboost-filesystem-dev libboost-log-dev libboost-iostreams-dev \
    libboost-program-options-dev libboost-system-dev libboost-test-dev \
    libboost-thread-dev libcap-dev libsystemd-dev libegl1-mesa-dev \
    libgles2-mesa-dev libglm-dev libgtest-dev liblxc1 \
    libproperties-cpp-dev libprotobuf-dev libsdl2-dev libsdl2-image-dev lxc-dev \
    pkg-config protobuf-compiler libasound2-dev

Мы рекомендуем использовать Ubuntu 18.04 (bionic) с GCC 7.x как средой сборки.

На системе UOS вы можете установить все зависимости сборки с помощью следующей команды:

$ sudo apt install gcc libncurses-dev bison flex libssl-dev cmake dkms build-essential \
    cmake-data debhelper dbus google-mock libboost-dev libboost-filesystem-dev libboost-log-dev \
    libboost-iostreams-dev libboost-program-options-dev libboost-thread-dev libcap-dev \
    libsystemd-dev libegl1-mesa-dev libgles2-mesa-dev libglm-dev libgtest-dev liblxc1 \
    libproperties-cpp-dev libprotobuf-dev libsdl2-dev libsdl2-image-dev lxc-dev libdw-dev \
    libbfd-dev libdwarf-dev pkg-config protobuf-compiler libboost-test-dev

Сборка

$ mkdir -p /home/compile/
$ cd /home/compile/
$ git clone https://gitee.com/openeuler/anbox
``` * [Применение патча SDL](docs/apply_SDL_patch.md)
 * [Установка модуля binder & ashmem](docs/kernel_module.md)

После этого вы можете собрать Anbox с помощью следующих команд:

```sh
$ cd /home/compile/anbox
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_CXX_FLAGS="-DENABLE_TOUCH_INPUT -Wno-error=implicit-fallthrough \
    -Wno-error=missing-field-initializers" -DCMAKE_BUILD_TYPE=Release -DWerror=OFF
$ make -j8

Если вы хотите выбрать версию, выполните:

$ git clone https://gitee.com/openeuler/anbox -b anbox-v1.0-rc3
```Версия `anbox-v1.0-rc3` будет обновлена в будущем, убедитесь, что она совместима с версией AOSP (см. build-android.md).

Простой

```sh
$ sudo make install

установит необходимые компоненты в вашей системе.

Запуск Anbox

Шаг 1: запустите менеджера контейнеров, выполнив команды от пользователя с правами root, вам также потребуется файл android.img.

$ bash /usr/local/bin/anbox-bridge.sh start
$ anbox container-manager --android-image=/<ваш путь>/android.img \
         --data-path=/<ваш путь>/anbox-data --privileged --daemon &

Шаг 2: запустите менеджер сессий, выполнив команды от пользователя без прав root, и запустите терминал, открытый через графический интерфейс.

$ export EGL_PLATFORM=x11
$ export EGL_LOG_LEVEL=fatal
$ anbox session-manager --gles-driver=host &

Подождите 30 секунд, затем откройте приложение Android в разделе "другие приложения" в меню приложений.

Документация

Дополнительная документация для Anbox находится в подкаталоге docs проекта.

Интересные вещи для изучения:

Отчет о багах

Если вы нашли проблему с Anbox, пожалуйста, отправьте отчет о баге.

Обратная связь

Найдите ответственного за поддержку здесь: https://gitee.com/openeuler/community/tree/master/sig/sig-android-middleware

Авторское право и лицензирование

Anbox использует код из других проектов, таких как Android QEMU эмулятор. Эти проекты доступны в подкаталоге external/ со своими условиями лицензирования.Самостоятельный код Anbox, если это не указано в соответствующих файлах исходного кода, распространяется под условиями лицензии GPLv3.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/openeuler-anbox.git
git@api.gitlife.ru:oschina-mirror/openeuler-anbox.git
oschina-mirror
openeuler-anbox
openeuler-anbox
master