在 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 ""