ArkMowers / arknights-mower

《明日方舟》长草助手
https://arkmowers.github.io/arknights-mower/
MIT License
477 stars 51 forks source link

多开mower和多开模拟器中的adb链接问题 #622

Open LeeJSwit-HCN opened 3 weeks ago

LeeJSwit-HCN commented 3 weeks ago

多个mower进行任务时,其中一个任务完成关闭模拟器并断开adb连接,会导致其他未完成任务的mower对其使用的模拟器也断开链接。 我认为原因在adb_client/core.py中对kill-server的错误使用。 我认为其逻辑应该是如果adb进程中注册了多个devices,则关闭对应的device,shell命令是adb disconcert [ip],如果只有一个device号则kill-server。 这个问题影响到多开mower,具体表现为1号mower关闭了adb进程,2号mower又重启了adb,之后就陷入死循环了。

(https://github.com/ArkMowers/arknights-mower/blob/bd5e6605ee0b2c3e5b41c3acdbd86922d8160552/arknights_mower/utils/device/adb_client/core.py#L117)

LeeJSwit-HCN commented 3 weeks ago

line116

ZhaoZuohong commented 3 weeks ago

其中一个任务完成关闭模拟器并断开adb连接

image

请问你开了这个选项吗?

LeeJSwit-HCN commented 2 weeks ago

其中一个任务完成关闭模拟器并断开adb连接

image

请问你开了这个选项吗?

开了。 是想要在最后一个mower结束任务时才关闭adb进程。长时间开启adb会导致mower连不上模拟器,或者开启模拟器却未注册adb device类似的情况,导致mower在执行任务时会出现循环卡死的问题。 目前,是关闭了该选项,并每天手动关闭一次adb进程来解决的。

ZhaoZuohong commented 2 weeks ago

image

?你在干啥