ALAS在本地Ubuntu机器上的配置

前言

本教程将介绍ALAS和redroid在本地Ubuntu机器上的部署方法,实现在非主力机上24h全自动肝碧蓝航线。

必备工具&要求

  • 本地的Ubuntu机器,CPU为x86架构
  • 拥有这台机器的root密码,并以sudo su进入root用户操作
  • 有可以使用的proxy

Docker和Docker-compose的安装

  1. 更新并安装必要的系统工具

    apt-get update
    apt-get upgrade
    apt-get install \
    	apt-transport-https \
    	software-properties-common \
    	ca-certificates \
    	curl \
    	gnupg \
    	lsb-release
    
  2. 安装GPG证书

    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | apt-key add -
    
  3. 写入软件源信息

    add-apt-repository "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -cs) stable"
    
  4. 更新并安装Docker-ce和Docker-compose插件

    apt-get update
    apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    
  5. 启动Docker

    systemctl start docker
    systemctl enable docker
    
  6. 测试Docker是否正常

    docker --version
    

    在这里插入图片描述

    docker compose version
    

    在这里插入图片描述

  7. 设置Docker服务器:修改或创建/etc/systemd/system/docker.service.d/http-proxy.conf为:

    [Service]
    Environment="HTTP_PROXY=http://地址:端口"
    Environment="HTTPS_PROXY=https://地址:端口"
    

提示找不到Docker软件源的解决方法


在这一步笔者出现提示“找不到软件源”。一般而言各位可以添加其他的软件源,我选择手动找相关的安装包安装:(参考:Ubuntu | Docker Docs

  1. 访问Index of linux/ubuntu/dists/

  2. 选择适应于自己Ubuntu版本的文件夹,笔者使用的是22.04版本,选择jammy后再进入pool/stable/amd64(最后一个文件夹按照CPU架构而定)

  3. 选择合适版本的docker-ce docker-ce-cli containerd.io docker-compose-plugin,点击即可下载他们的.deb包。笔者不清楚这四个版本之间是否独立,建议全部下载更新日期最新的版本。

  4. 下载后将四个文件放在一个文件夹,输入下面的命令安装,并修复依赖关系。

    dpkg -i *.deb
    apt-get install -f
    

ALAS的拉取与部署

  1. 安装git

    apt-get update
    apt-get install git
    
  2. 设置全局服务器

    git config --global https.proxy https://地址:端口
    git config --global https.proxy https://地址:端口
    
  3. 在准备好的目录下,运行

    git clone https://github.com/LmeSzinc/AzurLaneAutoScript
    
  4. 拉取完毕后,创建配置文件

    cp config/deploy.template-docker-cn.yaml config/deploy.yaml
    
  5. 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
    
  6. 启动容器

    docker-compose up -d
    

    首次启动需要十几分钟左右下载资源,依网络情况而定。提示容器正在运行即可通过localhost:22267访问ALAS的操作界面。

    在这里插入图片描述

Docker启动失败的解决方法

遇到的情况一

启动时报错提示类似“无法访问docker.io”,直接访问这个网站提示“authentication required”

解决方法

在Docker Hub注册一个账号,注册后在Ubuntu上执行:docker login -u <用户名> ,接着输入密码,登陆成功后即可正常拉取

可能遇到的情况二

提示python:3.7-slim-bullseye无法拉取

解决方法

使用这个网站的镜像拉取命令拉取

ReDroid的安装与启动

  1. 准备Binder核心模组,并加入开机自载入。后续ADB连接若提示Can't connectdevice 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
    
  2. 安装ADB和Scrcpy
    apt install adb
    apt install scrcpy
    
  3. 复制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
    
  4. 拉取Android 11的镜像(据大佬反映这一版本更稳定),并安装GApps
    venv/bin/python3 redroid.py -a 11.0.0 -g
    
  5. 进入root\redroid(若不存在该文件夹则可以在任意处自建redroid文件夹)
  6. 创建并编辑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
    
  7. 启动容器
    docker-compose up -d
    

连接到ReDroid并完成配置

  1. 用ADB连接到本地的ReDroid。连接失败时优先考虑重载Binder模组。
    adb connect localhost:5555
    
    # 如果重载Binder也不能解决问题,需要查看Docker内部是否有其他报错
    docker ps
    docker exec <容器ID> logcat
    docker logs <容器ID>
    
  2. 用Scrcpy连接到Android(音频设置略去,本来也不会在这里玩)
    scrcpy -s localhost:5555
    
  3. 将碧蓝的安装包用ADB安装到机内
    adb -s localhost:5555 install "blhx_8.2.1_0820_1_20240830_041443_51682.apk"
    
  4. 安装成功后,在ALAS中设置好端口,即可畅享7x24全自动碧蓝航线!
    在这里插入图片描述

结语

用本地Ubuntu来跑ALAS还是比较大材小用,如果只是要跑这样的游戏,树莓派应该是不错的选择。

参考博客

云服务器部署ALAS——解放双手游玩碧蓝航线
ALAS官方教程——在容器中安装ALAS
ReDroid教學:用Docker跑Android系統,在x86電腦玩ARM手機遊戲

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值