# 安装教程

寻求帮助

如果你在安装过程中有疑问,可以提交 Issue,或者加入 Alas 的 Discord 或 QQ 群询问,链接在 README.md 中。

注意(加群潜规则,雾):

  • Discord server 可随意加入,但需要确认 Rules 频道中的规则才能解锁所有频道,且需要成为成员至少 5 分钟才能发言(为了防止 bot spam)。
  • 加入 QQ 群需要提供你的 Github 用户名,且该帐号不能是一周内注册的(为了防止奇怪的人加群,以及防止群太水)。如果你确实没有 Github 帐号,或者不希望 Github 帐号与 QQ 号有所关联,在加群问题中填入任意有意义的内容即可,总之别填无。另外 QQ 号需要至少 16 级(有一个太阳,使用大约 1 年),因为低等级 QQ 号成分复杂。

# 自动安装教程

自动安装包仅适用于 Windows 系统,Mac 和 Linux 系统下的安装需要按照手动安装教程进行。

# 获取自动安装包

Github Releases (opens new window) 下载最新的自动安装包,但不要下载源码的 zip 压缩包。

下载完成后解压安装包。完整安装将需要约 1.5 GB 的空间。

# 编辑安装设置

阅读安装配置文件 config/deploy.yaml 中的注释,并根据自己的情况修改。这被认作是 Alas 的使用门槛。

对于国内用户,主要需要修改两处,其他保持默认即可。

Repository: 'git://git.lyoko.io/AzurLaneAutoScript'
PypiMirror: 'https://pypi.tuna.tsinghua.edu.cn/simple'

# 使用启动器

双击打开 Alas.exe,自动安装程序将完成从拉取项目,安装环境到准备 ADB 的步骤。自动安装通常需要花费 2 - 3 分钟,期间请耐心等待。安装完成后,Alas 桌面端将自动打开。

install install_finish

# 自动安装器常见问题

# 我的杀毒软件称 Alas.exe 是病毒

添加至白名单即可。Alas.exe 是一个由 bat 打包而成的 exe,可能会有杀毒软件误报。如果你不放心,可以使用 deploy/install/Alas.bat 替换 Alas.exe,它们的功能是一样的。

# 我在安装过程中遇到了问题

install_error

正如安装器所提示的,你需要检查安装配置文件 config/deploy.yaml 是否设置正确,然后重新打开 Alas.exe。对于国内用户而言,通常是由于没有按照 “编辑安装设置” 一节,修改为国内源,而导致的。

# ERROR: Could not finda version that satisfies the requirement XXX

# ERROR: No matching distribution found for XXX

这是因为国内的 pypi 镜像不稳定,你可以尝试重新打开 Alas.exe。如果问题未能解决,可以尝试其他国内镜像。

  • 清华源:https://pypi.tuna.tsinghua.edu.cn/simple
  • 豆瓣源:https://pypi.douban.com/simple/
  • 阿里源:https://mirrors.aliyun.com/pypi/simple/
  • 通过搜索引擎获得更多的国内 pypi 镜像

# 我的 Alas 启动后是白屏

install_white

你可以尝试使用 CTRL+R 刷新页面,以及尝试 Issue #876 (opens new window) 中的解决方案。

# 卸载 Alas

Alas 安装包里的内容都是便携的,直接删除即完成卸载。你也可以利用这个特性,将已完成安装的 Alas 复制到别的电脑上。

如果你在删除的过程中,遇到文件被占用无法删除的情况,可以尝试打开 console.bat,并在里面运行:

adb kill-server
taskkill /f /im alas.exe
taskkill /f /im python.exe

# 开始使用 Alas

# 设置模拟器

安装一款模拟器,并在上面安装碧蓝航线。但不要使用 Mumu 手游助手(俗称黄 Mumu),因为它没有 ADB。

  1. 进入你的模拟器的设置,将分辨率设置为 1280x720平板模式

    emulator_1
  2. 如果你使用的是蓝叠模拟器或雷电模拟器,你还需要在模拟器设置中打开 ADB。

    emulator_2

# 进入 Alas

双击打开 Alas.exe,即开始运行 Alas。

Alas 启动时,将自动检查更新,你不需要进行其他操作。绝大多数时候,版本更新都可以通过这个方式自动完成,但遇到与桌面端相关的大版本更新的时,你需要重新下载并安装客户端。

  1. 选择你的语言。
  2. 进入你的第一个 Alas 实例。
usage_1

# 修改 Alas 设置

  1. 在侧边栏中,选择 Alas设置
  2. 根据帮助文本,修改 模拟器 Serial游戏包名游戏服务器

usage_2

# 运行性能测试

  1. 在侧边栏中,选择 性能测试,运行性能测试需要帐号推进至主线图第 7 章。
  2. 保持默认设置,点击 运行,等待性能测试结束。
  3. 观察性能测试的结果,我们需要选择最快的截图和方案和点击方案。性能测试的结果因电脑配置和模拟器而异,一般来说,截图耗时 + 点击耗时 < 350ms 足以让 Alas 运行比真人略快,如果你感觉 Alas 运行缓慢应该选择更快的截图方式或者升级电脑配置。

performance_test_1

  1. 在侧边栏中,选择 Alas 设置
  2. 模拟器设置 中使用刚才最快的截图方案和点击方案。

performance_test_2

# 启用任务

  1. 在侧边栏中,选择你想运行的任务。你可以同时启用多个任务,Alas 将自动调度它们。
  2. 启用这个任务。
  3. 修改下方的任务设置 。

usage_3

# 开始运行

  1. 在侧边栏中,选择 总览
  2. 任务队列中会显示所有你开启的任务。
  3. 点击 开始,Alas 的任务调度器就会开始运行。

usage_4

# 从旧的 Alas App 客户端迁移

在安装之前,从旧的客户端找到安装配置 config/deploy.yaml,和用户设置 config/alas.json。如果你使用了多开,需要找到他们的设置 config/*.json,例如 config/alas2.json

将它们复制到新安装包的 config 目录下,像往常一样安装。

# 从手动安装的 Alas 迁移

如果你正在或者有意开发 Alas,已经 Clone 了 Alas 的仓库,创建了虚拟环境,安装了相关依赖,配置了 ADB,那么就不需要再安装一份了。

  1. 将安装包中的安装配置 config/deploy.yaml 复制到 Clone 下来的 Alas 的 config 文件夹中,并修改其中的 GitExecutablePythonExecutableAdbExecutable
  2. 找到 toolkit/WebApp/alas.exe,创建快捷方式,右键-属性-快捷方式,把 起始位置 修改为你 Clone 下来的 Alas 的目录
  3. 双击打开快捷方式

注意:使用快捷方式会绕开 Alas 启动器,导致你需要手动更新 Alas。因此,这种方法仅推荐给开发人员使用。

# 从网页远程控制 Alas

alas_remote

Alas 客户端的本质,或者说 Electron 的本质,是 Node.js 服务器 + Chromium 浏览器。因此,你只需要以一下方式中的一种,启动 Alas 的 web server:

  • 运行 Alas 客户端
  • console.bat 中执行 python gui.py

然后你就可以在 http://127.0.0.1:{port} 访问 Alas,port 默认是 22267。

如果你有幸拥有固定的公网 IP,可以直接通过 http://{ip}:{port} 在其他设备上访问 Alas。如果你没有固定的公网 IP(大部分国内用户都是如此),可以使用内网穿透服务,比如 frp (opens new window) ,以在外部访问 Alas。

注意:将 Alas 暴露到公网上是危险的,任何人都可以停止你的 Alas 或修改你的设置,更糟的是,Alas 自身是不能抵御注入和攻击的。

# 手动安装教程

手动安装教程是为开发者编写的,使用手动安装教程需要有基本的编程知识。如果你不是正在或者有意开发 Alas,那么建议使用自动安装器,不需要阅读这一章节。Mac 和 Linux 系统下也需要手动安装。

# 获取 Alas

  1. 请使用 Git,不要直接下载源码的 zip 压缩包。

    假设你希望安装在 D:/AzurLaneAutoScript,那么就在 D:/ 执行:

git clone https://github.com/LmeSzinc/AzurLaneAutoScript

如果你遇到了网络连接问题,重试即可

  1. 进入目录
cd AzurLaneAutoScript

# 准备运行环境

由于 Alas 使用 python 版本和依赖都比较旧,这里建议创建一个新的 python 虚拟环境,而不是使用你本机安装的 python。下面以 Anaconda 为例创建虚拟环境,当然,你也可以使用 venv 等。

  1. 创建名为 alas 的虚拟环境,你也可以将它命名为任意名字。python 版本必须为 3.7.6。(不要使用 3.8 或更高版本,以免带来麻烦)
conda create -n alas python==3.7.6 -y
  1. 激活刚才创建的虚拟环境:
conda activate alas
  1. 安装依赖(这里使用了豆瓣源):
pip install -r D:\AzurLaneAutoScript\requirements.txt -i https://pypi.douban.com/simple/

如果你遇到了网络连接问题,重试即可

如果你遇到了 pip 需要更新的问题

WARNING: You are using pip version 21.0.1; however, version 21.1.3 is available.

可以执行以下命令解决,也可以无视

python -m pip install --upgrade pip

如果你在安装 Python-Levenshtein 的时候遇到 Microsoft Visual C++ 14.0 is required,可以在 这里 (opens new window) 下载它的 wheel 文件,然后用 pip 安装

pip install python_Levenshtein-0.12.0-cp37-cp37m-win_amd64.whl

# Mac版

python 版本必须为 3.7.6,假设你刚才clone的目录为/Users/你的用户名/Desktop,(本文默认python3为python3.7, 因为你的mac可能不只有一个python3, 如果执行python3发现版本不为3.7.6时,将命令中python3换为python3.7, pip3换成pip3.7)

先进入文件夹
cd AzurLaneAutoScript

创建虚拟环境
python3 -m venv alas_venv

激活虚拟环境
source alas_venv/bin/activate

安装依赖(清华源),遇到了 pip 需要更新的问题解决方法同上
pip3 install -r requirements-in.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 准备模拟器

  1. 选择一款模拟器,并在上面安装碧蓝航线,模拟器分辨率设置为 1280x720

    不要使用 Mumu 手游助手(俗称黄 Mumu),因为它没有 ADB。

    经测试,主流模拟器在高配电脑上无显著性能差异,如果你已经在使用一款模拟器了,也不需要更换。

    如果你使用的是雷电模拟器(LDPlayer)或者蓝叠模拟器(BlueStacks)等,需要在模拟器的设置中启用 ADB。

    Mac版Mumu的分辨率若设置为1280x720仍不成功需要按照它提示的内容进行等比例缩放

    ​ 如:提示为1664x936,则1664/1280 = 1.3,1280/1.3 向上取整为985;720/1.3 向上取整为554,故须设置为985x554

  2. 配置 ADB。

    这里 (opens new window) 获取最新的 ADB,并把它配置于环境变量中。

    由于新版macOS不支持直接将文件放入/usr/bin中,提供两种结局方案:

    ​ 1、关闭SIP文件保护系统后再放进去(不推荐,故不进行教学);

    ​ 2、放入任意文件夹然后将该文件夹加入环境变量;

    ​ 如:我在/Users/你的用户名下创建文件夹bin存放adb,则在环境变量文件中添加

    PATH=$HOME/bin/:$PATH 即可,篇幅有限故不做赘述,不明白上网搜索即可

  3. 替换模拟器的 ADB。

    由于国产模拟器都带有私改的 ADB,而不同版本的 ADB 会互相结束对方。为了避免这个问题,需要统一使用最新的 ADB。前往你的模拟器的安装根目录,寻找 adb.exe,用刚才配置于环境变量中的 ADB 替换它。如果你装有多款模拟器,建议全部都替换掉,以防止你在打开其他模拟器的时候 ADB 的连接被断开。

    以夜神模拟器为例,夜神模拟器安装目录下有两个 ADB,adb.exenox_adb.exe ,备份它们并删除。复制两份 adb.exe 到夜神模拟器安装目录,重命名为 adb.exenox_adb.exe

    替换完成后,关闭你所有的模拟器,再重新打开,执行

adb devices
如果你看到像下面的内容,说明替换成功:
List of devices attached
127.0.0.1:59865 device
如果你看到像这样的内容,说明替换失败,可能是有文件未替换:
adb server version (36) doesn't match this client (41); killing...
  1. Mac替换模拟器的 ADB

    以Mumu模拟器为例,它在Mac中的adb存储路径为

    /Applications/NemuPlayer.app/Contents/MacOS/adb
    

    将这个adb用上一步中的/Users/你的用户名/bin中的adb替换即可

    替换完成后,关闭你所有的模拟器,再重新打开,执行

    adb devices
    
    如果你看到像下面的内容,说明替换成功:(内容不一定一样,结构一样即可)
    
    List of devices attached
    emulator-5554	device
    
    如果你看到像这样的内容,说明替换失败,可能是有文件未替换:
    adb server version (36) doesn't match this client (41); killing...
    
  2. 安装 uiautomator2 (opens new window),这是一个自动化测试的库。在安装前,需要先打开你要使用的模拟器。

python -m uiautomator2 init
安装完成后,你会在模拟器中看到一个小黄车图标的应用,名为 `ATX`。

# 运行Alas前Mac还需要额外做的一步(如果你的adb是关闭SIP文件保护系统放进去的话则不需要执行)

打开AzurLaneAutoScript目录下的module/device/connection.py,先进行备份

然后

在第13行:
adb_binary_list = [
        r'.\adb\adb.exe',
        r'.\toolkit\Lib\site-packages\adbutils\binaries\adb.exe',
        r'.\python\Lib\site-packages\adbutils\binaries\adb.exe',
        '/usr/bin/adb'
    ]
添加你在上面步骤里面添加的adb目录,如
adb_binary_list = [
        r'.\adb\adb.exe',
        r'.\toolkit\Lib\site-packages\adbutils\binaries\adb.exe',
        r'.\python\Lib\site-packages\adbutils\binaries\adb.exe',
        '/usr/bin/adb',
        '/Users/你的用户名/bin/adb',
    ]
    
第142行:
if self.adb_binary == '/usr/bin/adb':
改成:
if self.adb_binary == '/usr/bin/adb' or self.adb_binary == '/Users/你的用户名/bin/adb':

保存文件即可

# 运行 Alas

  1. 在激活虚拟环境后,执行:
python gui.py
然后你就可以在 `http://127.0.0.1:{port}` 访问 Alas,port 默认是 22267。
  1. 参照 “开始使用 Alas” 一节,进行设置。

# 使用桌面客户端

桌面客户端是跨平台的,Windows,Mac 和 Linux 系统下均可以构建。

  1. 进入 webapp 目录,安装依赖
yarn
  1. 构建桌面客户端
yarn run compile
然后你可以在 `webapp/dist/{platform}` 下找到打包好的客户端
  1. 参照 “从手动安装的 Alas 迁移” 一节,创建快捷方式,开始使用。