最近打算将ArchLinux作为主力系统挑战一下,由于平时有用电脑挂明日方舟的习惯,于是打算安装模拟器在Linux上。相较于Windows下各种xx模拟器百花齐放,Linux下就惨不忍睹了。网上搜索到的知名模拟器中,Anbox已经被作者弃坑了,Android Studio模拟器则是面向开发者,想要使用还要安装Android Studio开发环境。
在搜索中,我发现ReDroid可以满足我的需求。作为一个“云手机”的方案,自然是可以部署在本地,摸索明白了部署到服务器上也挺不错(雾。
具体的安装的教程我参考的是Ivon大佬的这篇文章,在此基础上作了一些小小的修改。
# ReDroid配置
# 安装环境
ReDroid需要Linux内核启用binderfs模块,Arch Liunx默认的linux内核并不包含此模块,需要安装linux-zen模块。
|
|
这里我强烈建议安装官方的安装指南来,我一开始按照Ivon大佬的教程尝试在默认的Linux内核里启用该模块,结果ReDroid一直启动不了。最后更换内核后就成功运行起来了QAQ。
接着安装docker和docker-compose,用来运行ReDroid的容器
|
|
还要安装ADB和Scrcpy,用于连接到安卓虚拟机
|
|
# [可选]配置ARM转译器
大部分安卓应用都只有ARM版,这也意味着无法在X86的电脑上运行,这时就需要安装ARM转译器了。
然而,明日方舟居然支持X86,我们可以通过压缩工具解压方舟的安装包,可以看到lib
下有x86
目录。这也意味着如果只是用来玩方舟的话,完全不需要配置ARM转译。
同时,根据大佬的教程配置好转译器后,方舟反而会闪退,所以完全不用做此步😥。如果需要安装arm应用,可以看上面大佬的教程来做。
我后面可能会考虑使用libhoudini来作为ReDroid的转译器。
# 启动镜像
我这里就使用不包含ARM转译器的ReDroid继续了。通过下面的命令即可部署ReDroid:
|
|
然后使用adb连接,并执行Scrcpy,显示手机画面:
|
|
对于Google服务框架,我并不是刚需,就不安装了。如果需要安装,可以查看之前提到的教程。
Scrcpy2.0版本,已经自带了声音模块,无需再安装额外的软件。
如果遇到报错Failed to initialize audio/opus, error 0xfffffffe
只需要手动指定其他的音频解析器即可,如下面所示:
|
|
如果不需要声音,只需要加上--no-audio
,如下面所示:
|
|
# 安装应用及开关机
向ReDroid安装应用,只需要使用adb即可
|
|
开关机也很简单,我们只需对docker容器进行操作。
|
|
# MAA配置
MAA作为自动化的挂机长草神器,肯定是要安排上的。
# 安装MAA
Arch用户直接aur安装即可
|
|
我使用yay安装时,会安装许多用不到的库,而且会因为依赖错误而无法安装。故还是去官网下载压缩包解压使用。
# 配置MAA
我们需要修改./MAA-v{版本号}-linux-{架构}/Python/
目录下的 sample.py
文件
首先需要配置adb连接,由于我们之前已经安装过adb了,这里直接替换地址即可:
|
|
我们可以执行python sample.py
,如果输出连接成功
则配置成功
之后我们需要配置MAA的任务,这里可以参考官方的文档进行修改
这里附上我的配置
|
|
配置好后只需要一行命令就可以执行脚本了
|
|
至此,我们终于可以愉快的挂机了,再也不用担心体力被浪费了(雾
由于ReDroid是基于Dokcer的,这也意味着可以将其配置到服务器上,就可以实现24小时自动挂机了。不过,要想流畅的运行方舟,最好还是有4G以上的内存,目前我的服务器还没有这么大的内存,之后有机会再尝试吧。