作家
登录

开源Anbox在Linux中运行Android应用

作者: 来源: 2017-04-25 11:02:30 阅读 我要评论

Android 运行时情况带有一个基于 Android 开源项目镜像的最小自定义 Android 体系。所应用的镜像今朝基于 Android 7.1.1。

Anbox:容器中的 Android

Anbox 以基于容器的方法,在像 Ubuntu 如许的惯例的 GNU Linux 体系上启动一个完全的 Android 体系。

概述

容器内的 Android 无法直接拜访任何硬件。所有硬件拜访都经由过程主机上的 anbox 守护过程进行。我们重用基于 QEMU 的模仿器实现的 Android 中的 GL、ES 加快衬着。容器内的 Android 体系应用不合的管道与主机体系通信,并经由过程它发送所有硬件拜访敕令。

Anbox 应用 Linux 定名空间(user、pid、uts、net、mount、ipc)来在容器中运行完全的 Android 体系,并在任何基于 GNU Linux 平台上供给 Android 应用。

有关更多具体信息,请参考下文档:

  • Android 硬件 OpenGL ES 仿真设计概述
  • Android QEMU 快速管道
  • Android 的 “qemud” 复竽暌姑守护过程
  • Android qemud 办事

Anbox 今朝合适桌面应用,但也用在移动操作体系上,如 Ubuntu Touch、Sailfish OS 或 Lune OS。然而,因为 Android 法度榜样的映射今朝只针对桌面情况,是以还须要额外的工作来支撑其他的用户界面。

安装

今朝,安装过程包含一些添加额外组件到体系的步调。包含:

  • 启用用于 binder 和 ashmen 的非发行的树外内核模块。
  • 应用 udev 规矩为 /dev/binder 和 /dev/ashmem 设置精确权限。
  • 可以或许启动 Anbox 会话治理器作为用户会话的一个启动义务。

为了使这个过程尽可能简单,我们将须要的步调绑定在一个 snap(见 https://snapcraft.io ) 中,称之为 “anbox-installer”。这个安装法度榜样会履行所有须要的步调。你可以在所有支撑 snap 的体系运行下面的敕令安装它。

  1. $ snap install --classic anbox-installer 

别的你可以经由过程下面的敕令下载安装脚本。

  1. $ wget https://raw.githubusercontent.com/anbox/anbox-installer/master/installer.sh -O anbox-installer 

请留意,我们还不支撑除所有 Linux 发行版。请查看下面的┞仿节懂得支撑的发行版。

运行下面的敕令进行安装。

  1. $ anbox-installer 

它会引导你完成安装过程。

留意: Anbox 今朝处于 pre-alpha 开辟状况。不要指望它具有临盆情况你须要的所有功能。你肯定会碰到缺点和崩溃。如不雅你碰到了,请不要迟疑并申报它们!

留意: Anbox snap 今朝 完全没有束缚,是以它只能大年夜边沿渠道获取。精确的束缚是我们想要在将来实现的,但因为 Anbox 的性质和复杂性,这不是一个简单的义务。

已支撑的 Linux 发行版

今朝我们官方支撑下面的 Linux 发行版:

  • Ubuntu 16.04 (xenial)

运行 Anbox

未测试但可能支撑的:

  • Ubuntu 14.04 (trusty)
  • Ubuntu 16.10 (yakkety)
  • Ubuntu 17.04 (zesty)

安装并运行 Android 法度榜样

一个简单的敕令会将须要的二进制安装到你的体系中,如下。

大年夜源码构建

要构建 Anbox 运行时不须要特别懂得什么,我们应用 cmake 作为构建体系。你的主机体系中应已有下面这些构建依附:

  • libdbus
  • google-mock
  • google-test
  • libboost
  • libboost-filesystem
  • libboost-log
  • libboost-iostreams
  • libboost-program-options
  • libboost-system
  • libboost-test
  • libboost-thread
  • libcap
  • libdbus-cpp
  • mesa (libegl1, libgles2)
  • glib-2.0
  • libsdl2
  • libprotobuf
  • protobuf-compiler
  • lxc

在 Ubuntu 体系中你可以用下面的敕令安装所有的依附:

  1. $ sudo apt install build-essential cmake cmake-data debhelper dbus \ 
  2.     google-mock libboost-dev libboost-filesystem-dev libboost-log-dev \ 
  3.     libboost-iostreams-dev libboost-program-options-dev libboost-system-dev \ 
  4.     libboost-test-dev libboost-thread-dev libcap-dev libdbus-1-dev \ 
  5.     libdbus-cpp-dev libegl1-mesa-dev libgles2-mesa-dev libglib2.0-dev \ 
  6.     libglm-dev libgtest-dev liblxc1 libproperties-cpp-dev libprotobuf-dev \ 
  7.     libsdl2-dev lxc-dev pkg-config protobuf-compiler 

      推荐阅读

      如何在RHEL、CentOS及Fedora上安装Drupal 8

    Drupal 是一个开源,灵活,高度可拓展和安然的内容治理体系Content Management System(CMS),应用户轻松的创建网站。它可以应用模块拓展,应用户将内容治理转换为强大年夜的数字解决筹划。>>>详细阅读


    本文标题:开源Anbox在Linux中运行Android应用

    地址:http://www.17bianji.com/lsqh/34940.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)