配置文件
配置文件¶
- 配置文件是utf8编码的yaml文件.
- 最新版程序在未指定配置文件运行时, 会自动生成
config.example.yaml
, 你可以在此基础上修改. - 为避免
config.example.yaml
被覆盖掉, 可以修改为任意名, 如config.win.yaml
- 使用配置文件运行命令:
autowzry config.example.yaml
或者autowzry config.win.yaml
参数解释¶
基础参数¶
基础参数必须设置
参数 | 默认值 | 含义 |
---|---|---|
totalnode | 1 | 本脚本一共控制totalnode 个账户. 组队多排时需要设置, 如双排时设置totalnode: 2 |
mynode | 0 | 本脚本控制的账户编号.多排组队时不用设置,由程序自动生成,0,1,2,...,totalnode-1 .单排时可以手动设置为任意值,如 mynode: 0 . 当需要刷很多账户时, 并且这些账户不用组队, 每个账户的配置文件中 mynode 设置为不同的值. |
multiprocessing | False | 自动化多进程组队.多排组队时一定要设置为True . |
LINK_dict | None | 每个账户所在的模拟器ADB地址, 所有账户的ADB地址都要配置. 通常为 mynode: "Android:///ip:端口" . 如果是USB连接的手机或者adb查看到模拟器的主板编号为 emulator-5554 , 则配置信息为mynode: "Android:///emulator-5554" . |
虽然基础参数不包括logfile
, 但是强烈建议设置,具体解释见调试参数
单排账户示例¶
mynode: 0
LINK_dict:
0: Android:///127.0.0.1:5555
logfile:
0: result.0.txt
双排账户示例¶
# 多进程时,多进程的数目
totalnode: 2
# 多进程配置
multiprocessing: True
# 所有账户的ADB地址
LINK_dict:
0: Android:///127.0.0.1:5555
1: Android:///127.0.0.1:5557
logfile:
0: result.0.txt
1: result.1.txt
只用打开一个cmd/Powershell
, 进入软件目录, 使用配置文件启动
Microsoft Windows [版本 10.0.26100.3194]
(c) Microsoft Corporation。保留所有权利。
D:\Desktop>cd D:\Download\autowzry251009b2
D:\Download\autowzry251009b2>autowzry config.example.yaml
多账户不组队¶
每个账户一个配置文件,如账户0
mynode: 0
LINK_dict:
0: Android:///127.0.0.1:5555
logfile:
0: result.0.txt
账户1
mynode: 1
LINK_dict:
1: Android:///127.0.0.1:5557
logfile:
1: result.1.txt
为每个账户单独打开一个cmd/Powershell
,均执行cd 代码目录
的命令, 然后使用各自账户的配置文件启动
autowzry config.0.yaml
autowzry config.1.yaml
autowzry config.2.yaml
#....
调试参数¶
调试参数通常无需设置, 只有在调试代码或者有特定需求时才需要设置
参数 | 默认值 | 含义 |
---|---|---|
prefix | None | 程序标志, 推荐设置为autowzry , 不设置也没问题. |
tmpdir | 系统临时目录/airtest_mobileauto/prefix |
airtest_mobileauto运行过程中用于同步等功能的临时文件存储目录,自动生成, 通常无需设置. 如果在电脑上同时运行了很多脚本,建议为不同的脚本配置不同的prefix 自动生成tmpdir . 万一(不大可能)可以单排,多排总是同步出错,可以清空C:\Users\用户名\AppData\Local\Temp\airtest_mobileauto 中的文件再执行脚本. |
logfile | None | 将每个账户的脚本执行日志输出到指定文件,例如{mynode:"restul.mynode.txt"} .推荐设置.在脚本总是报错时,可以开启此参数,将运行日志上传到github提问. |
outputnode | None | 只输出账户编号mynode等于outputnode的日志,无需设置. |
logger_level | 1 | 日志等级,0 DEBUG, 1 INFO, 2 WARNING, 3 ERROR, 4 CRITICAL ,无需设置. |
figdir | assets |
优先从figdir 的目录查找图片资源, 找不到则采用默认的图片, 通常无需设置. 适合于二次开发/调试/游戏更新时, 覆盖掉代码自带的图片资源. |
示例
# 可以为mynode=0,1,2,...,totalnode-1 每一个账户设置单独的输出
# 也可以只为部分账户,例如0,2设置输出,如下
logfile:
0: result.0.txt
2: result.2.txt
prefix: "wzry"
模拟器参数¶
- 模拟器参数可以不设置.
- 设置后,脚本支持控制模拟器的开关机,老板键自动隐藏模拟器等功能.
- 一个配置文件中只能配置一种模拟器.仅需关注自己使用的模拟器参数.
参数 | 默认值 | 含义 |
---|---|---|
LDPlayerdir | None | 雷电模拟器控制程序ldconsole.exe 所在的文件夹,例如D:\GreenSoft\雷电模拟器.9.0.65.0.x64.去广告绿色版\LDPlayer |
MuMudir | None | MuMu模拟器控制程序MuMuManager.exe 所在的文件夹,例如D:\Program Files\Netease\MuMu Player 12\shell ,新版本的MuMu文件夹为D:\Program Files\Netease\MuMu\nx_main |
BlueStackdir | None | BlueStack模拟器控制程序HD-Player.exe 所在的文件夹,例如C:\Program Files\BlueStacks_nxt |
LDPlayer_Instance | {mynode:"instance"} | 每个账户所在的模拟器在雷电多开管理器内部的模拟器实例(instance)编号, 用于启动、关闭mynode账户所在的模拟器实例. mynode与instance的区别. |
MuMu_Instance | {mynode:"instance"} | 每个账户所在的模拟器在MuMu多开管理器内部的模拟器实例编号, 用于启动、关闭mynode账户所在的模拟器实例.mynode与instance的区别. |
BlueStack_Instance | {mynode:"Nougat32_instance"} | 每个账户所在的模拟器在BlueStacks多开管理器内部的模拟器实例编号, 用于启动mynode账户所在的BlueStacks模拟器实例.mynode与instance的区别. |
BlueStack_Windows | {mynode:"BlueStacks App Player instance"} | BlueStacks没有提供关闭模拟器的接口,需要使用windows的命令关闭模拟器实例的窗口名称. 建议在多开管理器里修改为简短的名字,例如BlueStacks0 ,BlueStacks1 等 |
start_device | None | 自定义安卓设备的启动命令. 本脚本内置了BlueStack/LDPlayer/MuMu模拟器的启动指令, 使用xxx_Instance 控制模拟器的启动关闭. 如果你使用其他模拟器或者多个模拟器混合使用或者在vmware等虚拟机中安装的安卓系统, 可以利用start_device 自定义每个安卓设备的启动命令. 例如腾讯手游助手和MuMu的组队配置 |
stop_device | None | 自定义安卓设备的关闭命令.同start_device |
BossKey | 内置 | 自定义安卓设备的老板键,无需设置,airtest_mobileauto内部已经配置了BlueStack/LDPlayer/MuMu模拟器默认的老板键.本脚本启动模拟器后,会自动隐藏模拟器窗口.若自定义了老板键或有更多需求,自行查看airtest_mobileauto的代码. |
模拟器配置示例¶
点击展开:雷电模拟器配置示例
图中模拟器的Instance被鼠标选中,其对应的配置文件如下
mynode: 0
LINK_dict:
0: Android:///127.0.0.1:5555
LDPlayerdir: D:\GreenSoft\雷电模拟器.9.0.65.0.x64.去广告绿色版\LDPlayer
LDPlayer_Instance:
0: "0"

点击展开:MuMu模拟器配置示例
图中模拟器的Instance被鼠标选中,其对应的配置文件如下
mynode: 0
LINK_dict:
0: Android:///127.0.0.1:16384
MuMudir: D:\Program Files\Netease\MuMu Player 12\shell
MuMu_Instance:
0: "0"

点击展开:BlueStacks模拟器配置示例
图中模拟器的Instance被鼠标选中,其对应的配置文件如下,注意BlueStacks模拟器要额外提供模拟器的窗口名字BlueStack_Windows
mynode: 1
LINK_dict:
1: Android:///127.0.0.1:5565
BlueStackdir: C:\Program Files\BlueStacks_nxt
BlueStack_Instance:
1: "Pie64_1"
BlueStack_Windows:
1: BlueStacks1

点解展开:自定义安卓启动配置(腾讯手游助手和MuMu混用)示例
注意配置文件中的单引号和双引号, 将自定义的开启关闭命令填写到start_device
和stop_device
.
mynode = 0 是腾讯手游助手的模拟器,ios区大号
mynode = 1 是mumu模拟器,安卓区小号
腾讯手游助手暂未找到关闭命令, 可以不配置
腾讯手游助手的启动需要管理员权限,所以要用管理员权限执行python
multiprocessing: True
totalnode: 2
LINK_dict:
0: Android:///127.0.0.1:5555
1: Android:///127.0.0.1:16384
start_device:
0: '"D:\Program Files\TxGameAssistant\ui\AndroidEmulator.exe" -vm 100'
1: '"D:\Program Files\Netease\MuMu Player 12\shell\MuMuManager.exe" control -v 0 launch'
stop_device:
1: '"D:\Program Files\Netease\MuMu Player 12\shell\MuMuManager.exe" control -v 0 shutdown'

mynode与Instance的区别¶
- 账户编号mynode是游戏账户的编号, 一定是整数,
mynode=0,1,2,...,totalnode-1
. 脚本根据mynode控制每个游戏账号的行为. 例如LINK_dict[mynode]
是模拟器的ADB地址,logfile[mynode]
是日志文件,xxx_Instance[mynode]
是模拟器的实例编号,WZRY.mynode.运行模式.txt
控制mynode账户的对战礼包等模式. 单排时由用户在配置文件中设置mynode: N
. 组队时默认从0开始. - 模拟器实例编号Instance是模拟器的多开管理器内部的编号. 不同模拟器的编号规则不同, 可能是整数
0,1,2
,也可能是字符串Pie64,Pie64_1,Pie64_2
等. 需要用户自己打开模拟器的设置/创建快捷方式等操作进行查看. - mynode和Instance之间的映射关系通过
xxx_Instance[mynode]=Instance
字典指定 xxx_Instance[mynode]
是为了控制账户(mynode)所在模拟器(Instance)的启动、关闭、隐藏等操作.mynode=0
的账户必须是多开组队的大号(开房间的账户).但是mynode=0
的账户可以使用任意一台模拟器
例如,下面的配置中,大号(mynode=0
)使用第1台模拟器(Pie64_1
),小号(mynode=1
)使用第0台模拟器(Pie64
)totalnode: 2 multiprocessing: True BlueStackdir: C:\Program Files\BlueStacks_nxt BlueStack_Instance: 0: Pie64_1 1: Pie64 BlueStack_Windows: 0: BlueStacks1 1: BlueStacks0 LINK_dict: 0: Android:///127.0.0.1:5565 1: Android:///127.0.0.1:5555
docker参数¶
- 本脚本支持控制运行在docker中的安卓模拟器remote-android.
- 支持x86、arm服务器, openwrt路由器等环境运行安卓模拟器.
- 这是我的完整安装和使用过程: 在甲骨文免费服务器上安装redroid并配置WZRY
参数 | 默认值 | 含义 |
---|---|---|
dockercontain | {mynode: "androidcontainInstance"} |
每个账户所在的容器的容器名称, 用于启动、关闭mynode账户所在的容器. |
remote-android默认开启了root,王者体验服检测root,会封号体验服账户,请勿在docker中安装体验服.
三个账户组队示例
# 节点配置
totalnode: 3
multiprocessing: True
LINK_dict:
0: "Android:///127.0.0.1:5555"
1: "Android:///127.0.0.1:5565"
2: "Android:///127.0.0.1:5575"
dockercontain:
0: "androidcontain0"
1: "androidcontain1"
2: "androidcontain2"
Iphone/Ipad参数¶
- 不建议使用Iphone/Ipad, 可以使用32位腾讯手游助手刷ios区的日活
- Iphone/Ipad的配置极其复杂, 见苹果手机怎么使用
- 配置参数基本和安卓模拟器的参数相同, 注意Iphone/Ipad的底层是ios系统, 所以LINK_dict中为
ios
- 腾讯手游助手底层是安卓模拟器, 使用腾讯手游助手刷ios区时,LINK_dict仍然是
Android
, 使用方法同上面的安卓模拟器.
Android和Iphone/Ipad的配置示例为
totalnode: 2
LINK_dict:
0: "ios:///http://169.254.148.222:8100"
1: "Android:///127.0.0.1:5565"