镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

Anbox 介绍

  • Anbox 是一个可以在 GNU/Linux 发行版上运行 Android App 的容器,是一个开源兼容层。
  • 其工作原理是在 LXC 容器中运行 Android 环境,重新创建 Android 的目录结构作为可挂载的 loop 镜像,同时使用本机 Linux 内核来执行应用,所以没有虚拟化的开销,非常轻量级且保障了运行速度。
  • 每个 Android 应用将在一个单独窗口打开,就像 Linux 本地应用程序一样。

安装过程

1、环境要求

  • Anbox 的 dkms 模块在内核版本 ≥ 5.7 下不会工作。
  • 需要运行带有 ashmem 和 binder 模块的内核,但它们不是 Arch Linux 默认内核 ( linux ) 的一部分。

2、开始安装

  • 确保系统安装了 Linux 内核头文件:

    sudo pacman -S linux-headers
  • 安装 Anbox :

    • anbox-image 是官方镜像,可根据需要选择其他镜像
    • anbox-git 是 Anbox 运行的容器
    • anbox-modules-dkms-git 是 Anbox 所需的内核模块
    yay -S anbox-image anbox-git anbox-modules-dkms-git
  • 加载 DKMS 模块:

    sudo modprobe ashmem_linux
    sudo modprobe binder_linux

    检查设备:

    ls -1 /dev/{ashmem,binder}

    看到如下信息,说明模块加载成功:

    /dev/ashmem
    /dev/binder
  • 挂载 binderfs

  • 启动服务,设置开机自启:

    sudo systemctl start anbox-container-manager.service
    sudo systemctl enable anbox-container-manager.service

3、配置网络

  • Arch Wiki 提供了三种连网方案:NetworkManager、systemd-networkd、anbox-bridge。
  • 笔者采用 anbox-bridge 方式:
    • 下载 anbox-bridge.sh 脚本到 /usr/bin 目录下,并赋予可执行权限

    • 创建文件 /etc/systemd/system/anbox-container-manager.service.d/enable-anbox-bridge.conf 并写入一下内容:

      [Service]
      ExecStartPre=/usr/bin/anbox-bridge.sh start
      ExecStopPost=/usr/bin/anbox-bridge.sh stop

4、安装 adb 工具

  • adb ( Android Debug Bridge ) 是安卓开发调试工具,我们用它来管理 Anbox 内的安卓应用。

    sudo pacman -S android-tools

adb 使用

  • 安装应用

    adb install /path/to/app.apk
  • 查看应用列表

    adb shell pm list packages
  • 卸载用户应用

    adb uninstall app.name
  • 卸载系统应用

    adb uninstall --user 0 app.name

尚未解决的问题

  • 某些应用打开后,窗口上方的标题栏消失,导致整体画面上移但实际点击区域未移动,且下方留有黑边。
  • 未挂载 binderfs 时,开关机会提示 [FAILED]Failed to Mount Android Binder File System
  • 按 Arch Wiki 步骤挂载binderfs后,开关机提示 [FAILED]Failed to Mount /dev/binderfs

本文转自:ONe2

Arch Linux 安装 Anbox的更多相关文章

  1. Arch Linux 安装记录

    Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...

  2. Arch LInux安装dde(Deepin Desktop Environment 深度桌面环境)

    我一直比较推荐一些Linux新手使用Deepin Linux,因为我认为这种尽量的follow Windows的系统至少对于新手来说是比较的友好的,而且预装了QQ 火狐浏览器中文版,甚至还移植了像36 ...

  3. Arch Linux 安装rust

    Arch Linux 安装rust 0. 参考 Rust Toolchain 反向代理使用帮助 1. 安装 安装rustup和toolchain yaourt -S rustup rustup ins ...

  4. Arch Linux 安装简明流程

    Arch Linux 安装简明流程 这是一篇为 GPT/EFI 引导 的电脑安装 Arch Linux(双系统)的中文简明流程,尽可能省略了可以省略的流程与文字以使得篇幅尽量短小,基本上基于 Arch ...

  5. Arch Linux 安装博通 BCM4360 驱动(Arch Linux, Ubuntu, Debian, Fedora...)

    BCM4360 在2010年9月,博通完全开源的硬件驱动[1].该驱动程序 brcm80211已被列入到自2.6.37之后的内核中.随着2.6.39发布,这些驱动程序已被重新命名为 brcmsmac和 ...

  6. Arch Linux 安装、配置、美化和优化

    国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,而且安裝过程全命令行,会有各种问题,各种知识... --- 安装引导器--- -------------------- ...

  7. Arch linux安装

    安装archlinux可参考: http://blog.sina.com.cn/s/blog_69e5d8400101bqlj.html http://www.cnblogs.com/mad/p/32 ...

  8. Arch Linux 安装过程

    在VM中装了Arch,由于过程较为曲折,现写博客一篇聊以慰藉. 1.新建虚拟机,将下载好的archlinux-2016.03.01-dual.iso挂到虚拟机设置的CD/DVD 2.进入Arch安装界 ...

  9. 把Arch Linux安装到U盘上的具体教程

    Arch Linux简介 Arch Linux(或称Arch)是一种以轻量简洁为设计理念的Linux发行版.其开发团队秉承简洁.优雅.正确和代码最小化的设计宗旨.Arch Linux 项目受 CRUX ...

随机推荐

  1. MATLAB 机器人学工具箱(Robotics Toolbox )sl_drivepoint 模型 consecutive zero crossings 问题

    操作环境 工具箱:Robotics Toolbox for MATLAB 版本 10.2.1 作者 Peter Corke MATLAB版本:R2018a 操作系统:win10 问题 sl_drive ...

  2. 简述redis特点及其应用场景

    1. Redis八大特点 1.1. 速度快 说到Redis的速度快,大家的第一反应一定是内存读取,那是肯定的,但如果面试的时候仅仅说到这点,那还是远远不够的,至少还有以下三点要补充: Redis是用C ...

  3. HMS Core机器学习服务助力Zaful用户便捷购物

    Zaful是近年来发展良好的出海电商平台,主打快时尚.在洞察其用户有购买街头海报.生活中同款衣物的需求后,Zaful联合HMS Core机器学习服务打造拍照购物服务.用户拍照后可在预设的商品图片库中搜 ...

  4. SpringBoot一览

    spring-boot入门 了解SpringBoot 为什么学习SpringBoot java一直被人诟病的一点就是臃肿.麻烦.当我们还在辛苦的搭建项目时,可能Python程序员已经把功能写好了,究其 ...

  5. mysql对属性的增删改

    修改表 alter table 创建表db 查看表 desc与describe desc table 查看建表语句show create table t1; 修改表名 alter table t1 r ...

  6. MXNet源码分析 | Gluon接口分布式训练流程

    本文主要基于MXNet1.6.0版本,对Gluon接口的分布式训练过程进行简要分析. 众所周知,KVStore负责MXNet分布式训练过程中参数的同步,那么它究竟是如何应用在训练中的呢?下面我们将从G ...

  7. 以Docker容器的形式运行GVM-11

    OpenVAS(Open Vulnerability Assessment System)是在nessus基础上发展起来的一个开源的漏洞扫描程序,其核心部件是一套漏洞测试程序,可以检测远程系统和应用程 ...

  8. [c语言]左移和右移

    左移和右移都是位运算的概念.我们知道计算机是基于二进制保存数据的,因此左移和右移的概念十分重要.本文约定是32位的机器. [左移] 丢弃最高位,0补最低位 左移是把一个数按照二进制每位向左移动若干位, ...

  9. json系列(二)cjson,rapidjson,yyjson大整数解析精度对比

    前言上一篇介绍了3种json解析工具的使用方法,对于基础数据的解析没有任何问题.我们传输的json数据里有unsigned long型数据,需要借助json解析工具得到正确的unsigned long ...

  10. 【C# 基础概念】命名空间

    命名空间 C#10 新功能==================== 命名空间格式:声明所有后续声明都是已声明的命名空间的成员: //C#10 命名空间的新写法,这种方式一个文件只能有一个命名空间. / ...