新聞中心
Anbox 以基于容器的方式,在像 Ubuntu 這樣的常規(guī)的 GNU linux 系統(tǒng)上啟動一個完整的 Android 系統(tǒng)。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供唐河企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、做網(wǎng)站、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為唐河眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
概述
Anbox 使用 Linux 命名空間(user、pid、uts、net、mount、ipc)來在容器中運行完整的 Android 系統(tǒng),并在任何基于 GNU Linux 平臺上提供 Android 應(yīng)用。
容器內(nèi)的 Android 無法直接訪問任何硬件。所有硬件訪問都通過主機上的 anbox 守護進程進行。我們重用基于 QEMU 的模擬器實現(xiàn)的 Android 中的 GL、ES 加速渲染。容器內(nèi)的 Android 系統(tǒng)使用不同的管道與主機系統(tǒng)通信,并通過它發(fā)送所有硬件訪問命令。
有關(guān)更多詳細信息,請參考下文檔:
- Android 硬件 OpenGL ES 仿真設(shè)計概述
- Android QEMU 快速管道
- Android 的 “qemud” 復(fù)用守護進程
- Android qemud 服務(wù)
Anbox 目前適合桌面使用,但也用在移動操作系統(tǒng)上,如 Ubuntu Touch、Sailfish OS 或 Lune OS。然而,由于 Android 程序的映射目前只針對桌面環(huán)境,因此還需要額外的工作來支持其他的用戶界面。
Android 運行時環(huán)境帶有一個基于 Android 開源項目鏡像的最小自定義 Android 系統(tǒng)。所使用的鏡像目前基于 Android 7.1.1。
安裝
目前,安裝過程包括一些添加額外組件到系統(tǒng)的步驟。包括:
- 啟用用于 binder 和 ashmen 的非發(fā)行的樹外內(nèi)核模塊。
- 使用 udev 規(guī)則為 /dev/binder 和 /dev/ashmem 設(shè)置正確權(quán)限。
- 能夠啟動 Anbox 會話管理器作為用戶會話的一個啟動任務(wù)。
為了使這個過程盡可能簡單,我們將必要的步驟綁定在一個 snap(見 https://snapcraft.io ) 中,稱之為 “anbox-installer”。這個安裝程序會執(zhí)行所有必要的步驟。你可以在所有支持 snap 的系統(tǒng)運行下面的命令安裝它。
- $ snap install --classic anbox-installer
另外你可以通過下面的命令下載安裝腳本。
- $ wget https://raw.githubusercontent.com/anbox/anbox-installer/master/installer.sh -O anbox-installer
請注意,我們還不支持除所有 Linux 發(fā)行版。請查看下面的章節(jié)了解支持的發(fā)行版。
運行下面的命令進行安裝。
- $ anbox-installer
它會引導(dǎo)你完成安裝過程。
注意: Anbox 目前處于 pre-alpha 開發(fā)狀態(tài)。不要指望它具有生產(chǎn)環(huán)境你需要的所有功能。你肯定會遇到錯誤和崩潰。如果你遇到了,請不要猶豫并報告它們!
注意: Anbox snap 目前 完全沒有約束,因此它只能從邊緣渠道獲取。正確的約束是我們想要在未來實現(xiàn)的,但由于 Anbox 的性質(zhì)和復(fù)雜性,這不是一個簡單的任務(wù)。
已支持的 Linux 發(fā)行版
目前我們官方支持下面的 Linux 發(fā)行版:
- Ubuntu 16.04 (xenial)
未測試但可能支持的:
- Ubuntu 14.04 (trusty)
- Ubuntu 16.10 (yakkety)
- Ubuntu 17.04 (zesty)
安裝并運行 Android 程序
從源碼構(gòu)建
要構(gòu)建 Anbox 運行時不需要特別了解什么,我們使用 cmake 作為構(gòu)建系統(tǒng)。你的主機系統(tǒng)中應(yīng)已有下面這些構(gòu)建依賴:
- 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 系統(tǒng)中你可以用下面的命令安裝所有的依賴:
- $ 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
之后用下面的命令構(gòu)建 Anbox:
- $ mkdir build
- $ cd build
- $ cmake ..
- $ make
一個簡單的命令會將必要的二進制安裝到你的系統(tǒng)中,如下。
- $ make install
如果你想要構(gòu)建 anbox snap,你可以按照下面的步驟:
- $ mkdir android-images
- $ cp /path/to/android.img android-images/android.img
- $ snapcraft
結(jié)果會有一個 .snap 文件,你可以在支持 snap 的系統(tǒng)上安裝。
- $ snap install --dangerous --devmode anbox_1_amd64.snap
運行 Anbox
要從本地構(gòu)建運行 Anbox ,你需要了解更多一點。請參考“運行時步驟”文檔。
文檔
在項目源代碼的子目錄下,你可以找到額外的關(guān)于 Anbox 的文檔。
有興趣可以看下:
- 運行時步驟
- 構(gòu)建 Android 鏡像
報告 bug
如果你發(fā)現(xiàn)了一個 Anbox 問題,請?zhí)峤?bug。
取得聯(lián)系
如果你想要與開發(fā)者聯(lián)系,你可以在 FreeNode 中加入 #anbox 的 IRC 頻道。
版權(quán)與許可
Anbox 重用了像 Android QEMU 模擬器這樣的其他項目的代碼。這些項目可在外部/帶有許可聲明的子目錄中得到。
anbox 源碼本身,如果沒有在相關(guān)源碼中聲明其他的許可,默認是 GPLv3 許可。
網(wǎng)站名稱:開源Anbox在Linux中運行Android應(yīng)用
文章地址:http://m.5511xx.com/article/cdipeco.html


咨詢
建站咨詢
