yay的安装与使用与Anbox的安装

yay的安装

安装

首先安装所需软件包base-devel和git
pacman -Syu base-devel git

之后使用git clone下载代码
git clone [URL_FORM_AUR]
这里的[URL_FROM_AUR]指从yay的AUR页面复制的Git Clone URL

最后进入clone下来的文件夹运行makepkg生成软件包
cd yay
makepkg

可以额外增加makepkg的一些选项改变使用体验:
-s        使用pacman自动安装缺失依赖
-i        编译成功后自动安装软件包
-r        编译成功后删除安装的依赖关系
-c        编译成功后删除编译过程临时文件

最后使用pacman 安装编译好的安装包
pacman -U [PACKAGE_NAME]

另外yay可能使用了一些站点位于国外的脚本,我在安装时出现了多次下载失败的情况,且其中除了github之外还有其他包。

GOPROXY.IO - 一个全球代理 为 Go 模块而生

以上是一个代理,可以缓解golang依赖下载失败的情况,官网给出的使用指令如下:
export GOPROXY=https://proxy.golang.com.cn,direct

使用

yay的使用与pacman是几乎相同的。如yay -Syu就可以更新包缓存并进行自动升级。

Anbox

Anbox - ArchWiki

根据项目页,Anbox已经不再开发,作者推荐转去使用waydroid。这里的笔记不再有任何意义,仅作为存档,以及之后可能的安装Waydroid时的参考。

arch wiki页更新了新的问题,最新的Linux Zen内核已经不再包含ashmem转而使用memfd
ashmem being removed in upstream and Debian kernels · Issue #2042 · anbox/anbox (github.com)

安装

首先是安装Anbox的模块,Arch Wiki上提供了多种解决方案。我选择使用Linux Zen内核的方案。这个内核有开箱即用ashmem和binderfs支持。binderfs需要在运行Anbox之前挂载,这一步我放在了服务中。

之后安装一个Android镜像:我选择带houdini和root的anbox-image-houdini-rooted:

yay -S anbox-image-houdini-rooted

最后就是安装anbox本体了

yay -S anbox-git

配置

首先配置Anbox的网络

有三个方式可以配置网络:anbox-bridge、systemd、Network Manager。另外我这里安装的anbox-git是不带anbox-bridge这个脚本的。

我选择使用Network Manager

nmcli con add type bridge ifname anbox0 -- connection.id anbox-net ipv4.method shared ipv4.addresses 192.168.250.1/24

这是Arch Wiki上给出的最简单的配置命令行,如果要更改请参考Arch Wiki上的相关内容。

编辑anbox服务,在启动服务之前挂载binderfs并启动网桥:

在     [Unit]下加入After使程序在NetworkManager启动后再运行(如果不成功请见第三次更新)

在[Service]下加上下图中开头为ExecStartPre和ExecStopPost的行

在   [Install]下注释掉最后一行Also

Wants=NetworkManager-wait-online.service
After=NetworkManager-wait-online.service

ExecStartPre=/usr/bin/mkdir --mode=0755 /dev/binderfs
ExecStartPre=/usr/bin/mount -t binder none /dev/binderfs     #这两句实现binderfs
ExecStartPre=/usr/bin/nmclt con up anbox-net                      #这句启动网桥
ExecStopPost=/usr/bin/umount /dev/binderfs
ExecStopPost=/usr/bin/rmdir /dev/binderfs               #这两句关闭binderfs,防止下次启动失败
ExecStartPre=/usr/bin/nmclt con down anbox-net    #这句关闭网桥

更新1:之后出现了重启后无法联网的问题,于是在之前的配置文件中再增加启动服务时重启网桥的语句,已经更新添加在前面

更新2:由于NM没有启动导致整个服务启动失败的情况,需要使服务在NM服务启动之后运行,已经更新添加在前面。

*更新3:NetworkManager-wait-online.service有时候会启动失败导致Anbox不能启动,这时需要修改/lib/systemd/system/NetworkManager-wait-online.service,将其中的ExecStart=中的-s选项去掉。NetworkManager - ArchWiki (archlinux.org)

这时候使用Systemctl start 启动这个服务后就可以启动Anbox了。

使用

安装android-tools,使用adb 安装应用程序。adb install xx.apk

卸载笔记(不保证完全正确和不留残留)

卸载程序:yay -Rsn anbox-git anbox-image-houdini-rooted

*以上指令将卸载anbox和Android镜像的配置文件、依赖(且不被其他程序依赖)、程序

删除启动器中的项:~/.local/share/applications/中删掉anbox文件夹(KDE桌面环境)

删除文件残留:删除/var/lib/anbox文件夹(从根搜索4级只找到这一个tree -L 4 | grep anbox)

清理yay构建:/home/kevin/.cache/yay/ 最好能观察yay卸载时的反馈,把被卸载的软件的构建都删掉

*如果像我一样忘了看反馈,也可以去看AUR中anbox-git的依赖,或者用pacman -Qi 一个个查也行

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值