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
2
3
4
5
硬盘空间:disk.dataPartition.size=20480M   //我直接加了个0,因为游戏下载所有资源后也差不多这么大
运行内存:hw.ramSize=4096 //我觉得4G够了
DPI:hw.lcd.density=420 //这个不变
显示高度:hw.lcd.height=720
显示宽度:hw.lcd.width=1280

运行后可能无法直接将游戏安装包拖动到窗口进行安装,说明你缺少adb,可以使用以下命令在macOS安装这些组件

1
2
3
brew install android-platform-tools
//安装成功后可以输入以下命令获取位置
adb version

记得到这个界面给模拟器加上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.0pydantic==1.10.2uiautomator2cache==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一点问题都没,后面出了状况再说吧。