ARM64(M1版)架构下macOS运行ALAS脚本
0x00前言
首先感谢Github上面MAA以及AzurLaneAutoScript的开发组,让我们有工具可用。再感谢@吕明珠LmeSzinc 、@binss以及chenhuan20123 大佬,他们的教程让我受益良多。
0x01模拟器
安卓官方的模拟器能用,安装吧,我也想运行原生游戏安装包,但是alas似乎只能用adb进行一些操作
1 | https://github.com/google/android-emulator-m1-preview/releases/download/0.3/android-emulator-m1-preview.dmg |
这个不用下载android studio,非常好(
安装后不能直接打开,需要提前进入 Android Emulator.app/Contents/MacOS/api30-gphone-arm64-v8a/config.ini
这里面进行一些修改(非常抽象的是,如果你运行后再试图进行修改无论如何也是失效的,只能重新安装),以下是一些需要更改的字段
1 | 硬盘空间:disk.dataPartition.size=20480M //我直接加了个0,因为游戏下载所有资源后也差不多这么大 |
运行后可能无法直接将游戏安装包拖动到窗口进行安装,说明你缺少adb,可以使用以下命令在macOS安装这些组件
1 | brew install android-platform-tools |
记得到这个界面给模拟器加上adb路径
0x02脚本安装
先去项目原地址把代码全部git clone下来到某个位置,保留用。
其次去拉取binss大佬做的镜像binss/azurlaneautoscript:arm64
(本质是为了mxnet1.9.0这个东西,你愿意的话也可以自己编译),然后你就可以运行一下容器了:
1 | docker run -it -e TZ=Asia/Shanghai --volume=你自己放alas的文件夹:/app/AzurLaneAutoScript:rw -p 22267:22267 --name azurlaneautoscript binss/azurlaneautoscript:arm64 |
第一次运行时可以运行试试,这个镜像是半年前的,所以里面有些东西确实很正常,你可以在docker桌面端的程序里pip,也可以直接docker exec -it。我看了一下大概缺少了onepush==1.3.0
、pydantic==1.10.2
、uiautomator2cache==0.3.0.1
等这几个。版本号不要照抄,对着requrements.txt文件查;也别一上来就直接安装整个requrements.txt,这会把mxnet-1.9.1顶掉为1.6.0,相当于镜像白装了。
0x03使用
经过几次重启容器,这次大概率可以正常使用了:serial设置为host.docker.internal:5555
,截图方案和点击方案我都是ADB。打开webUI后可以测试一下,看看有没有问题。
有人推荐点击方案是Hermit,但我这偶尔出问题后会自动转为另一个根本不可用的方案,我无语了,目前切换为ADB一点问题都没,后面出了状况再说吧。