在 Android 设备 Chroot Debian 环境中部署 AzurLaneAutoScript(ALAS)教程

本文记录在 Android 设备上通过 chroot 方式安装 Debian,并部署 AzurLaneAutoScript 的完整流程。(需要设备 root,操作需要有一定门槛,谨慎操作)

需要已经安装好busybox模块


一、准备工作

1. 上传必要文件

需要准备以下文件:

  • run_debian.sh ----- chroot 脚本
  • rootfs.tar -------- 根文件系统
  • alas.tar.gz ------- python依赖(通过sftp上传)

通过 adb 上传到设备:

adb push 文件 /sdcard

二、创建 Chroot Debian 环境

1. 进入设备 shell

adb shell
su   # 切换 root

2. 创建 Debian 目录

mkdir /data/local/tmp/debian   # 创建 chroot 文件夹
cd /sdcard

3. 解压 rootfs

tar -xf rootfs.tar -C /data/local/tmp/debian

三、进入 Debian 系统

执行启动脚本:

sh ./run_debian.sh   # 进入 chroot 环境

四、基础系统配置

1. 修复系统目录权限

chmod 1777 /tmp

mkdir /dev/shm
mount -t tmpfs -o size=256M tmpfs /dev/shm
chmod 1777 /dev/shm

passwd   # 修改 root 用户密码(需要输入2次)

2. 配置 DNS

rm /etc/resolv.conf   # 删除原有 DNS 配置
echo "nameserver 223.5.5.5" > /etc/resolv.conf   # 使用阿里 DNS

测试:

ping baidu.com   # 正常则说明 DNS 配置成功

3. 更换 APT 源

sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

更新并安装基础软件:

apt update
apt install adb git libopencv-dev ssh -y

五、网络与用户配置

1. 查看设备 IP

ip addr | grep wlan0   # 查看 IPv4 地址,需要记录下来后续ssh连接需要用到

2. 设置时区

dpkg-reconfigure tzdata   # 配置正确时区,根据图形化界面选择Asia/Shanghai时区

3. 创建普通用户

useradd -m -s /bin/bash alas   # 创建 alas 用户
passwd alas                   # 设置alas用户密码(后续ssh连接使用该用户名和密码)

4. 添加 sudo 权限

编辑 sudoers:

visudo

在以下行下方添加:

root    ALL=(ALL:ALL) ALL
alas    ALL=(ALL:ALL) ALL

5. 启动 SSH 服务

service ssh start   # 启动 SSH 服务

接下来使用任意 SSH 进行后续操作,用sftp上传alas.tar.gz(python依赖文件)


六、安装 AzurLaneAutoScript

1. 克隆项目

git clone https://github.com/LmeSzinc/AzurLaneAutoScript.git #下载alas源码,也可以手动上传

2. 解压依赖环境

mkdir ~/alas   # 在用户目录创建 alas 文件夹
tar -xzf ~/alas.tar.gz -C ~/alas   # 解压依赖文件

加载 Python 环境:

source ~/alas/bin/activate   # 加载虚拟python环境

设置自动加载:

echo 'source ~/alas/bin/activate' >> ~/.bashrc

3. 修复依赖库

sudo cp /lib/aarch64-linux-gnu/libgdal.so.32 ~/alas/lib/libgdal.so.36
sudo chown alas:alas ~/alas/lib/libgdal.so.36

4. 配置 ALAS

mv ~/AzurLaneAutoScript/config/deploy.template-docker-cn.yaml \
   ~/AzurLaneAutoScript/config/deploy.yaml   # 修改更新配置

七、ADB 连接配置

1. 连接设备

设备需已开启 adb TCP 模式:

adb connect 127.0.0.1 #adb连接自身

2. 修改设备分辨率

adb shell wm size 720x1280

八、运行 ALAS

1. 测试运行 GUI

python ~/AzurLaneAutoScript/gui.py   #临时启动一次alas,测试是否存在问题

2. 创建后台运行脚本

echo 'setsid nohup python ~/AzurLaneAutoScript/gui.py > run.log 2>&1 &' > run_alas.sh   
chmod +x run_alas.sh    #给予脚本运行权限

启动:

bash run_alas.sh

九、注意事项

因为安卓系统和内核不同的原因,有的设备可能需要额外代码解锁chroot的网络权限

groupadd -g 3003 aid_inet             #创建对应权限组
groupadd -g 3004 aid_net_raw
groupadd -g 1003 aid_graphics
usermod -g 3003 -G 3003,3004 -a _apt
usermod -G 3003 -a root               #将root添加到权限组
usermod -G 3003 -a $USER              #将用户添加到权限组

如果游戏无法更新,进入adb shell

settings put global captive_portal_mode 0
settings put global captive_portal_server ""

曼波