前言
本教程将介绍ALAS和redroid在本地Ubuntu机器上的部署方法,实现在非主力机上24h全自动肝碧蓝航线。
必备工具&要求
- 本地的Ubuntu机器,CPU为x86架构
- 拥有这台机器的root密码,并以
sudo su
进入root用户操作 - 有可以使用的proxy
Docker和Docker-compose的安装
-
更新并安装必要的系统工具
apt-get update apt-get upgrade apt-get install \ apt-transport-https \ software-properties-common \ ca-certificates \ curl \ gnupg \ lsb-release
-
安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | apt-key add -
-
写入软件源信息
add-apt-repository "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -cs) stable"
-
更新并安装Docker-ce和Docker-compose插件
apt-get update apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
-
启动Docker
systemctl start docker systemctl enable docker
-
测试Docker是否正常
docker --version
docker compose version
-
设置Docker服务器:修改或创建
/etc/systemd/system/docker.service.d/http-proxy.conf
为:[Service] Environment="HTTP_PROXY=http://地址:端口" Environment="HTTPS_PROXY=https://地址:端口"
提示找不到Docker软件源的解决方法
在这一步笔者出现提示“找不到软件源”。一般而言各位可以添加其他的软件源,我选择手动找相关的安装包安装:(参考:Ubuntu | Docker Docs)
-
选择适应于自己Ubuntu版本的文件夹,笔者使用的是22.04版本,选择jammy后再进入
pool/stable/amd64
(最后一个文件夹按照CPU架构而定) -
选择合适版本的
docker-ce docker-ce-cli containerd.io docker-compose-plugin
,点击即可下载他们的.deb包。笔者不清楚这四个版本之间是否独立,建议全部下载更新日期最新的版本。 -
下载后将四个文件放在一个文件夹,输入下面的命令安装,并修复依赖关系。
dpkg -i *.deb apt-get install -f
ALAS的拉取与部署
-
安装git
apt-get update apt-get install git
-
设置全局服务器
git config --global https.proxy https://地址:端口 git config --global https.proxy https://地址:端口
-
在准备好的目录下,运行
git clone https://github.com/LmeSzinc/AzurLaneAutoScript
-
拉取完毕后,创建配置文件
cp config/deploy.template-docker-cn.yaml config/deploy.yaml
-
将
dockerfile: ./Dockerfile
注释掉,并取消dockerfile: ./Dockerfile.cn
的注释,最终的配置文件如下version: '3.7' services: ALAS: network_mode: host volumes: - '.:/app/AzurLaneAutoScript:rw' # - '../MAA:/app/MAA:rw' - '/etc/localtime:/etc/localtime:ro' container_name: 'alas' image: 'alas' build: context: ./deploy/docker/ # dockerfile: ./Dockerfile dockerfile: ./Dockerfile.cn
-
启动容器
docker-compose up -d
首次启动需要十几分钟左右下载资源,依网络情况而定。提示容器正在运行即可通过
localhost:22267
访问ALAS的操作界面。
Docker启动失败的解决方法
遇到的情况一
启动时报错提示类似“无法访问docker.io”,直接访问这个网站提示“authentication required”
解决方法
在Docker Hub注册一个账号,注册后在Ubuntu上执行:docker login -u <用户名>
,接着输入密码,登陆成功后即可正常拉取
可能遇到的情况二
提示python:3.7-slim-bullseye无法拉取
解决方法
使用这个网站的镜像拉取命令拉取
ReDroid的安装与启动
- 准备Binder核心模组,并加入开机自载入。后续ADB连接若提示
Can't connect
或device offline
,很有可能是此处模组未正确载入,需要再载入一次。apt install linux-modules-extra-`uname -r` modprobe binder_linux devices="binder,hwbinder,vndbinder" echo 'binder_linux options binder_linux devices="binder,hwbinder,vndbinder"' | sudo tee -a /etc/modules-load.d/redroid.conf
- 安装ADB和Scrcpy
apt install adb apt install scrcpy
- 复制Remote-Android Script库,并建立Python虚拟环境
sudo apt install lzip python3 python3-venv python3-pip git clone https://github.com/ayasa520/redroid-script.git cd redroid-script python3 -m venv venv venv/bin/pip install -r requirements.txt
- 拉取Android 11的镜像(据大佬反映这一版本更稳定),并安装GApps
venv/bin/python3 redroid.py -a 11.0.0 -g
- 进入
root\redroid
(若不存在该文件夹则可以在任意处自建redroid
文件夹) - 创建并编辑
docker-compose.yml
如下services: redroid: image: redroid/redroid:11.0.0_gapps stdin_open: true tty: true privileged: true ports: - 127.0.0.1:5555:5555 # ADB端口 volumes: - ./redroid-11-data:/data # 资料存放的路径 command: - androidboot.redroid_width=720 # 手机分辨率,若调整则ALAS将无法正常进行操作! - androidboot.redroid_height=1280 - androidboot.redroid_dpi=320 - androidboot.redroid_fps=60 - androidboot.redroid_gpu_mode=host # - ro.product.cpu.abilist0=x86_64,arm64-v8a,x86,armeabi-v7a,armeabi - ro.product.cpu.abilist64=x86_64,arm64-v8a - ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi - ro.dalvik.vm.isa.arm=x86 - ro.dalvik.vm.isa.arm64=x86_64 - ro.enable.native.bridge.exec=1 - ro.dalvik.vm.native.bridge=libndk_translation.so - ro.ndk_translation.version=0.2.2
- 启动容器
docker-compose up -d
连接到ReDroid并完成配置
- 用ADB连接到本地的ReDroid。连接失败时优先考虑重载Binder模组。
adb connect localhost:5555 # 如果重载Binder也不能解决问题,需要查看Docker内部是否有其他报错 docker ps docker exec <容器ID> logcat docker logs <容器ID>
- 用Scrcpy连接到Android(音频设置略去,本来也不会在这里玩)
scrcpy -s localhost:5555
- 将碧蓝的安装包用ADB安装到机内
adb -s localhost:5555 install "blhx_8.2.1_0820_1_20240830_041443_51682.apk"
- 安装成功后,在ALAS中设置好端口,即可畅享7x24全自动碧蓝航线!
结语
用本地Ubuntu来跑ALAS还是比较大材小用,如果只是要跑这样的游戏,树莓派应该是不错的选择。
参考博客
云服务器部署ALAS——解放双手游玩碧蓝航线
ALAS官方教程——在容器中安装ALAS
ReDroid教學:用Docker跑Android系統,在x86電腦玩ARM手機遊戲