Anbox让您在Linux桌面上运行Android应用程序
认识一下Anbox,一种新颖的在Linux桌面上运行Android应用的新方法。
Anbox将Android操作系统放入容器中,共用硬件,并将核心系统服务集成到GNU Linux系统中。 该项目在其官方网站上表示,每个Android应用程序都将像任何其他本机应用程序一样集成到您的操作系统中。
Anbox:“为了实现我们的目标,我们使用标准的Linux技术(如容器(LXC))将Android操作系统与主机分离。 Android版本对于这种方法并不重要,我们试图跟上Android开源项目的最新版本。”
Anbox演示视频 – “Android in a Box”,更加详细地展示了这项技术:
用户在Linux上运行Android应用程序Anbox不会降低模拟器路由。相反,它会在与主机操作系统相同的内核上运行Android系统。
有趣的是,在Anbox上的初步工作是在Ubuntu手机上完成的。当然,Ubuntu Touch项目不再符合Canonical的计划,Anbox这样的工具更多的侧重于在桌面设备上的使用。
感谢Snappy,现在可以通过snap安装。
安装命令:
sudo snap install --classic anbox-installer && anbox-installer
要报告问题或参与开发,请转到项目的Github页面:
Installation
The installation process currently consists of a few steps which will add additional components to your host system. These include
- Out-of-tree kernel modules for binder and ashmem as no distribution kernel ships both enabled.
- A udev rule to set correct permissions for /dev/binder and /dev/ashmem
- A upstart job which starts the Anbox session manager as part of a user session.
To make this process as easy as possible we have bundled the necessary steps in a snap (see https://snapcraft.io) called "anbox-installer". The installer will perform all necessary steps. You can install it on a system providing support for snaps by running
$ snap install --classic anbox-installer
Alternatively you can fetch the installer script via
$ wget https://raw.githubusercontent.com/anbox/anbox-installer/master/installer.sh -O anbox-installer
Please note that we don't support any possible Linux distribution out there yet. Please have a look at the following chapter to see a list of supported distributions.
To proceed the installation process simply called
$ anbox-installer
This will guide you through the installation process.
NOTE: Anbox is currently in a pre-alpha development state. Don't expect a fully working system for a production system with all features you need. You will for sure see bugs and crashes. If you do so, please don't hestitate and report them!
NOTE: The Anbox snap currently comes completely unconfined and is because of this only available from the edge channel. Proper confinement is a thing we want to achieve in the future but due to the nature and complexity of Anbox this isn't a simple task.
Supported Linux Distributions
At the moment we officially support the following Linux distributions:
- Ubuntu 16.04 (xenial)
Untested but likely to work:
- Ubuntu 14.04 (trusty)
- Ubuntu 16.10 (yakkety)
- Ubuntu 17.04 (zesty)
Install and Run Android Applications
Build from source
To build the Anbox runtime itself there is nothing special to know. We're using cmake as build system. A few build dependencies need to be present on your host system:
- 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
On an Ubuntu system you can install all build dependencies with the following command:
$ 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 libdbus-1-dev libdbus-cpp-dev libegl1-mesa-dev \
libgles2-mesa-dev libglib2.0-dev libglm-dev libgtest-dev liblxc1 \
libproperties-cpp-dev libprotobuf-dev libsdl2-dev lxc-dev pkg-config \
protobuf-compiler
Afterwards you can build Anbox with
$ mkdir build
$ cd build
$ cmake ..
$ make
A simple
$ make install
will install the necessary bits into your system.
If you want to build the anbox snap instead you can do this with the following steps:
$ mkdir android-images
$ cp /path/to/android.img android-images/android.img
$ snapcraft
The result will be a .snap file you can install on a system supporting snaps
$ snap install --dangerous --devmode anbox_1_amd64.snap
Run Anbox
Running Anbox from a local build requires a few more things you need to know about. Please have a look at the "Runtime Setup" documentation.
documentation
You will find additional documentation for Anbox in the docs subdirectory of the project source.
Interesting things to have a look at
Reporting bugs
If you have found an issue with Anbox, please file a bug.
Get in Touch
If you want to get in contact with the developers please feel free to join the #anbox IRC channel on FreeNode.
Copyright and Licensing
Anbox reuses code from other projects like the Android QEMU emulator. These projects are available in the external/ subdirectory with the licensing terms included.
The anbox source itself, if not stated differently in the relevant source files, is licensed under the terms of the GPLv3 license.