Arch Linux 安装 Anbox
镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
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的更多相关文章
- Arch Linux 安装记录
Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...
- Arch LInux安装dde(Deepin Desktop Environment 深度桌面环境)
我一直比较推荐一些Linux新手使用Deepin Linux,因为我认为这种尽量的follow Windows的系统至少对于新手来说是比较的友好的,而且预装了QQ 火狐浏览器中文版,甚至还移植了像36 ...
- Arch Linux 安装rust
Arch Linux 安装rust 0. 参考 Rust Toolchain 反向代理使用帮助 1. 安装 安装rustup和toolchain yaourt -S rustup rustup ins ...
- Arch Linux 安装简明流程
Arch Linux 安装简明流程 这是一篇为 GPT/EFI 引导 的电脑安装 Arch Linux(双系统)的中文简明流程,尽可能省略了可以省略的流程与文字以使得篇幅尽量短小,基本上基于 Arch ...
- Arch Linux 安装博通 BCM4360 驱动(Arch Linux, Ubuntu, Debian, Fedora...)
BCM4360 在2010年9月,博通完全开源的硬件驱动[1].该驱动程序 brcm80211已被列入到自2.6.37之后的内核中.随着2.6.39发布,这些驱动程序已被重新命名为 brcmsmac和 ...
- Arch Linux 安装、配置、美化和优化
国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,而且安裝过程全命令行,会有各种问题,各种知识... --- 安装引导器--- -------------------- ...
- Arch linux安装
安装archlinux可参考: http://blog.sina.com.cn/s/blog_69e5d8400101bqlj.html http://www.cnblogs.com/mad/p/32 ...
- Arch Linux 安装过程
在VM中装了Arch,由于过程较为曲折,现写博客一篇聊以慰藉. 1.新建虚拟机,将下载好的archlinux-2016.03.01-dual.iso挂到虚拟机设置的CD/DVD 2.进入Arch安装界 ...
- 把Arch Linux安装到U盘上的具体教程
Arch Linux简介 Arch Linux(或称Arch)是一种以轻量简洁为设计理念的Linux发行版.其开发团队秉承简洁.优雅.正确和代码最小化的设计宗旨.Arch Linux 项目受 CRUX ...
随机推荐
- 分享刚出炉的基于Blazor技术的Web应用开发框架
这是最近刚刚重构完成的项目,有点迫不及待的分享给大家,为了跟上技术升级把原来基于MVC Razor Page开源项目 RazorPageCleanArchitecture 进行重构, 前端用Blazo ...
- Solution -「LOJ #138」「模板」类欧几里得算法
\(\mathcal{Description}\) Link. \(T\) 组询问,每次给出 \(n,a,b,c,k_1,k_2\),求 \[\sum_{x=0}^nx^{k_1}\left\ ...
- linux下gdb如何处理coredump错误
linux下gdb如何处理coredump错误 在编写C++程序中,我们经常会遇到一种错误,segment fault, 这种coredump错误 会导致程序运行时异常退出或者终止,这种错误没有明显错 ...
- SpringBoot外部配置属性注入
一.命令行参数配置 Spring Boot可以是基于jar包运行的,打成jar包的程序可以直接通过下面命令运行: java -jar xx.jar 那么就可以通过命令行改变相关配置参数.例如默认tom ...
- 超简单集成 HMS ML Kit 实现最大脸微笑抓拍
前言 如果大家对 HMS ML Kit 人脸检测功能有所了解,相信已经动手调用我们提供的接口编写自己的 APP 啦.目前就有小伙伴在调用接口的过程中反馈,不太清楚 HMS ML Kit 文档中的 ML ...
- windows mysql数据存储路径更改
背景:之前服务器磁盘很小,随着数据量的不断增加,磁盘不够,所以新申请了更大的磁盘,然后需要将旧路径下的数据迁移到新磁盘上. 1.任务管理器-打开服务,找到mysql的启动项,停止服务,属性查看可执行文 ...
- ESP32-S3 arduino 开发环境搭建
ESP32-S3 arduino 简要描述 在github上搜索arduino-esp32,找到并打开espressif/arduino-esp32仓库,从master主分支切换到esp32-s3-s ...
- CobaltStrike逆向学习系列(14):CS功能分析-DotNet
这是[信安成长计划]的第 14 篇文章 0x00 目录 0x01 DotNet功能分析 0x02 DotNet功能执行 0x03 写在最后 在上两篇文章中,讲述了 CS 中的一种功能执行方式 RDI, ...
- Perforce 使用建议
前言 楼主从事Unreal 游戏开发工作,使用VisualStudio 2019 /Rider/VisualStudio Code 开发过,使用Perforce版本管理对代码和资源进行管理. 主要想分 ...
- C# Debug和Trace:输出调试信息
在 C# 语言中允许在程序运行时输出程序的调试信息,类似于使用 Console.WriteLine 的方式向控制台输出信息.所谓调试信息是程序员在程序运行时需要获取的程序运行的过程,以便程序员更好地解 ...