LmeSzinc / AzurLaneAutoScript

Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界
https://alas.azurlane.cloud
GNU General Public License v3.0
6.66k stars 785 forks source link

minitouch点击不生效问题 #1633

Open dynilath opened 1 year ago

dynilath commented 1 year ago

在提问之前...

描述你的问题

看过了#1533,我这里会提供更多的信息

问题的主要情况如下:

更进一步的折腾发现了如下情况:

我通过以下手段暂时解决掉了这个问题

如何复现

  1. 将Alas连接到模拟器
  2. 进行一段时间的连续运行后,Alas可能会卡在“重启设置”的状态。

预期行为

No response

相关 Logs

═══════════════════════════════════════════════════════════════════════════════════
                                       START                                       
═══════════════════════════════════════════════════════════════════════════════════
INFO     03:28:17.999 │ Start scheduler loop: alas                                 
INFO     03:28:18.013 │ [Server] cn                                                
INFO     03:28:18.063 │ Bind task {'Alas', 'General'}                              
INFO     03:28:18.069 │ No task pending                                            
INFO     03:28:18.078 │ [Task] Commission (Enable, 2022-09-13 03:32:13)            
INFO     03:28:18.083 │ Bind task {'Commission', 'Alas', 'General'}                
INFO     03:28:23.294 │ Wait until 2022-09-13 03:32:13 for task `Commission`       
INFO     03:28:23.296 │ Goto main page during wait                                 
═════════════════════════════════════ DEVICE ══════════════════════════════════════
INFO     03:28:23.502 │ DEVICE                                                     
INFO     03:28:23.507 │ [AdbBinary] D:\Share\AzurLaneAutoScript\toolkit\Lib\site-pa
         ckages\adbutils\binaries\adb.exe                                          
INFO     03:28:23.512 │ [AdbClient] AdbClient(127.0.0.1, 5037)                     
INFO     03:28:23.515 │ <<< DETECT DEVICE >>>                                      
INFO     03:28:23.517 │ Here are the available devices, copy to                    
         Alas.Emulator.Serial to use it or set Alas.Emulator.Serial="auto"         
INFO     03:28:23.522 │ emulator-5554                                              
INFO     03:28:23.527 │ Auto device detection found only one device, using it      
INFO     03:28:23.531 │ [AdbDevice] AdbDevice(serial=emulator-5554)                
INFO     03:28:23.534 │ [PackageName] com.bilibili.azurlane                        
INFO     03:28:23.538 │ [Server] cn                                                
INFO     03:28:23.542 │ Screenshot interval set to 0.3s                            
INFO     03:28:24.020 │ [Screen_size] 1280x720                                     
INFO     03:28:26.643 │ [u2.Device] Device(atx_agent_url=http://127.0.0.1:53422)   
INFO     03:28:26.662 │ [Package_name] com.bilibili.azurlane                       
INFO     03:28:26.665 │ App is already running, goto main page                     
INFO     03:28:26.669 │ <<< UI ENSURE >>>                                          
INFO     03:28:26.673 │ UI get current page                                        
INFO     03:28:26.696 │ [UI] page_main                                             
INFO     03:28:26.698 │ Already at page_main                                       
INFO     03:32:16.727 │ Scheduler: Start task `Commission`                         
═══════════════════════════════════════════════════════════════════════════════════
                                    COMMISSION                                     
═══════════════════════════════════════════════════════════════════════════════════
INFO     03:32:17.325 │ <<< UI ENSURE >>>                                          
INFO     03:32:17.328 │ UI get current page                                        
INFO     03:32:17.339 │ [UI] page_main                                             
INFO     03:32:17.341 │ Goto page_reward                                           
INFO     03:32:17.344 │ <<< UI GOTO PAGE_REWARD >>>                                
INFO     03:32:17.555 │ Page switch: page_main -> page_reward                      
INFO     03:32:17.558 │ Click (  19,  151) @ MAIN_GOTO_REWARD                      
INFO     03:32:17.560 │ <<< MINITOUCH INIT >>>                                     
INFO     03:32:17.582 │ [Device Orientation] 0 (Normal)                            
INFO     03:32:17.587 │ Reuse forward: ForwardItem(serial='emulator-5554',         
         local='tcp:20172', remote='localabstract:minitouch')                      
INFO     03:32:17.603 │ v 1                                                        
INFO     03:32:17.607 │ ^ 10 1279 719 2                                            
INFO     03:32:17.610 │ $ 27466                                                    
INFO     03:32:17.612 │ minitouch running on port: 20172, pid: 27466               
INFO     03:32:17.613 │ max_contact: 10; max_x: 1279; max_y: 719; max_pressure: 2  
INFO     03:32:22.967 │ Page switch: page_main -> page_reward                      
INFO     03:32:22.973 │ Click (  27,  167) @ MAIN_GOTO_REWARD                      
INFO     03:32:28.579 │ Page switch: page_main -> page_reward                      
INFO     03:32:28.582 │ Click (  19,  167) @ MAIN_GOTO_REWARD                      
INFO     03:32:34.185 │ Page switch: page_main -> page_reward                      
INFO     03:32:34.191 │ Click (  20,  162) @ MAIN_GOTO_REWARD                      
INFO     03:32:39.337 │ Page switch: page_main -> page_reward                      
INFO     03:32:39.341 │ Click (  21,  177) @ MAIN_GOTO_REWARD                      
INFO     03:32:44.508 │ Page switch: page_main -> page_reward                      
INFO     03:32:44.510 │ Click (  23,  165) @ MAIN_GOTO_REWARD                      
INFO     03:32:50.062 │ Page switch: page_main -> page_reward                      
INFO     03:32:50.064 │ Click (  25,  167) @ MAIN_GOTO_REWARD                      
INFO     03:32:55.397 │ Page switch: page_main -> page_reward                      
INFO     03:32:55.400 │ Click (  23,  148) @ MAIN_GOTO_REWARD                      
INFO     03:33:00.458 │ Page switch: page_main -> page_reward                      
INFO     03:33:00.460 │ Click (  20,  161) @ MAIN_GOTO_REWARD                      
INFO     03:33:05.616 │ Page switch: page_main -> page_reward                      
INFO     03:33:05.622 │ Click (  19,  171) @ MAIN_GOTO_REWARD                      
INFO     03:33:10.858 │ Page switch: page_main -> page_reward                      
INFO     03:33:10.860 │ Click (  25,  167) @ MAIN_GOTO_REWARD                      
INFO     03:33:15.973 │ Page switch: page_main -> page_reward                      
WARNING  03:33:15.976 │ Too many click for a button: MAIN_GOTO_REWARD              
WARNING  03:33:15.978 │ History click: ['MAIN_GOTO_REWARD', 'MAIN_GOTO_REWARD',    
         'MAIN_GOTO_REWARD', 'MAIN_GOTO_REWARD', 'MAIN_GOTO_REWARD',               
         'MAIN_GOTO_REWARD', 'MAIN_GOTO_REWARD', 'MAIN_GOTO_REWARD',               
         'MAIN_GOTO_REWARD', 'MAIN_GOTO_REWARD', 'MAIN_GOTO_REWARD',               
         'MAIN_GOTO_REWARD']                                                       
ERROR    03:33:15.981 │ GameTooManyClickError: Too many click for a button:        
         MAIN_GOTO_REWARD                                                          
WARNING  03:33:15.984 │ Saving error: ./log/error/1663011195983                    
WARNING  03:33:16.246 │ Game stuck, com.bilibili.azurlane will be restarted in 10  
         seconds                                                                   
WARNING  03:33:16.250 │ If you are playing by hand, please stop Alas               
INFO     03:33:16.255 │ Task call: Restart                                         
INFO     03:33:16.272 │ Bind task {'Commission', 'Alas', 'General'}                
INFO     03:33:16.275 │ Save config ./config\alas.json,                            
         Restart.Scheduler.NextRun=datetime.datetime(2022, 9, 13, 3, 33, 16),      
         Restart.Scheduler.Enable=True                                             
INFO     03:33:26.284 │ Scheduler: End task `Commission`                           
INFO     03:33:26.290 │ [Server] cn                                                
INFO     03:33:26.323 │ Bind task {'Alas', 'General'}                              
INFO     03:33:26.326 │ Pending tasks: ['Restart', 'Commission']                   
INFO     03:33:26.328 │ [Task] Restart (Enable, 2022-09-13 03:33:16)               
INFO     03:33:26.330 │ Bind task {'Restart', 'Alas', 'General'}                   
INFO     03:33:26.362 │ Scheduler: Start task `Restart`                            
═══════════════════════════════════════════════════════════════════════════════════
                                      RESTART                                      
═══════════════════════════════════════════════════════════════════════════════════
INFO     03:33:26.798 │ <<< APP RESTART >>>                                        
INFO     03:33:26.801 │ App stop: com.bilibili.azurlane                            
INFO     03:33:27.120 │ App start: com.bilibili.azurlane                           
INFO     03:33:27.643 │ <<< APP LOGIN >>>                                          
INFO     03:33:28.189 │ [Device Orientation] 0 (Normal)                            
INFO     03:33:33.282 │ [Device Orientation] 0 (Normal)                            
INFO     03:33:38.337 │ [Device Orientation] 0 (Normal)                            
INFO     03:33:43.539 │ [Device Orientation] 0 (Normal)                            
INFO     03:33:48.789 │ [Device Orientation] 0 (Normal)                            
INFO     03:33:53.968 │ [Device Orientation] 0 (Normal)                            
INFO     03:33:59.162 │ [Device Orientation] 0 (Normal)                            
INFO     03:34:04.323 │ [Device Orientation] 0 (Normal)                            
INFO     03:34:05.505 │ Click ( 462,  359) @ LOGIN_CHECK                           
INFO     03:34:05.558 │ Login success                                              
INFO     03:34:10.640 │ Click ( 464,  354) @ LOGIN_CHECK                           
INFO     03:34:15.727 │ Click ( 490,  350) @ LOGIN_CHECK                           
INFO     03:34:20.938 │ Click ( 496,  332) @ LOGIN_CHECK                           
INFO     03:34:26.131 │ Click ( 474,  329) @ LOGIN_CHECK                           
INFO     03:34:31.318 │ Click ( 476,  349) @ LOGIN_CHECK                           
INFO     03:34:36.701 │ Click ( 470,  350) @ LOGIN_CHECK                           
INFO     03:34:41.791 │ Click ( 444,  346) @ LOGIN_CHECK                           
INFO     03:34:47.014 │ Click ( 475,  367) @ LOGIN_CHECK                           
INFO     03:34:52.159 │ Click ( 491,  333) @ LOGIN_CHECK                           
INFO     03:34:57.432 │ Click ( 494,  333) @ LOGIN_CHECK                           
WARNING  03:35:02.491 │ Too many click for a button: LOGIN_CHECK                   
WARNING  03:35:02.493 │ History click: ['LOGIN_CHECK', 'LOGIN_CHECK',              
         'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK',
         'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK']
WARNING  03:35:02.496 │ Too many click for a button: LOGIN_CHECK                   
INFO     03:35:02.498 │ App stop: com.bilibili.azurlane                            
INFO     03:35:02.920 │ App start: com.bilibili.azurlane                           
INFO     03:35:03.462 │ <<< APP LOGIN >>>                                          
INFO     03:35:04.058 │ [Device Orientation] 0 (Normal)                            
INFO     03:35:09.105 │ [Device Orientation] 0 (Normal)                            
INFO     03:35:14.188 │ [Device Orientation] 0 (Normal)                            
INFO     03:35:19.648 │ [Device Orientation] 0 (Normal)                            
INFO     03:35:24.748 │ [Device Orientation] 0 (Normal)                            
INFO     03:35:30.059 │ [Device Orientation] 0 (Normal)                            
INFO     03:35:35.339 │ [Device Orientation] 0 (Normal)                            
INFO     03:35:40.379 │ [Device Orientation] 0 (Normal)                            
INFO     03:35:41.741 │ Click ( 451,  354) @ LOGIN_CHECK                           
INFO     03:35:41.794 │ Login success                                              
INFO     03:35:46.786 │ Click ( 472,  340) @ LOGIN_CHECK                           
INFO     03:35:51.899 │ Click ( 500,  342) @ LOGIN_CHECK                           
INFO     03:35:57.070 │ Click ( 479,  359) @ LOGIN_CHECK                           
INFO     03:36:02.325 │ Click ( 466,  345) @ LOGIN_CHECK                           
INFO     03:36:07.764 │ Click ( 461,  346) @ LOGIN_CHECK                           
INFO     03:36:13.145 │ Click ( 442,  340) @ LOGIN_CHECK                           
INFO     03:36:18.415 │ Click ( 480,  346) @ LOGIN_CHECK                           
INFO     03:36:23.491 │ Click ( 521,  356) @ LOGIN_CHECK                           
INFO     03:36:28.663 │ Click ( 440,  345) @ LOGIN_CHECK                           
INFO     03:36:33.857 │ Click ( 455,  348) @ LOGIN_CHECK                           
WARNING  03:36:39.228 │ Too many click for a button: LOGIN_CHECK                   
WARNING  03:36:39.231 │ History click: ['LOGIN_CHECK', 'LOGIN_CHECK',              
         'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK',
         'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK']
WARNING  03:36:39.236 │ Too many click for a button: LOGIN_CHECK                   
INFO     03:36:39.239 │ App stop: com.bilibili.azurlane                            
INFO     03:36:39.662 │ App start: com.bilibili.azurlane                           
INFO     03:36:40.267 │ <<< APP LOGIN >>>                                          
INFO     03:36:40.785 │ [Device Orientation] 0 (Normal)                            
INFO     03:36:45.862 │ [Device Orientation] 0 (Normal)                            
INFO     03:36:50.924 │ [Device Orientation] 0 (Normal)                            
INFO     03:36:56.023 │ [Device Orientation] 0 (Normal)                            
INFO     03:37:01.211 │ [Device Orientation] 0 (Normal)                            
INFO     03:37:06.516 │ [Device Orientation] 0 (Normal)                            
INFO     03:37:11.582 │ [Device Orientation] 0 (Normal)                            
INFO     03:37:16.782 │ [Device Orientation] 0 (Normal)                            
INFO     03:37:17.686 │ Click ( 450,  374) @ LOGIN_CHECK                           
INFO     03:37:17.739 │ Login success                                              
INFO     03:37:22.822 │ Click ( 449,  353) @ LOGIN_CHECK                           
INFO     03:37:27.924 │ Click ( 475,  379) @ LOGIN_CHECK                           
INFO     03:37:32.928 │ Click ( 484,  318) @ LOGIN_CHECK                           
INFO     03:37:37.943 │ Click ( 489,  387) @ LOGIN_CHECK                           
INFO     03:37:43.247 │ Click ( 471,  313) @ LOGIN_CHECK                           
INFO     03:37:48.560 │ Click ( 469,  343) @ LOGIN_CHECK                           
INFO     03:37:53.569 │ Click ( 470,  341) @ LOGIN_CHECK                           
INFO     03:37:58.787 │ Click ( 484,  368) @ LOGIN_CHECK                           
INFO     03:38:03.883 │ Click ( 460,  368) @ LOGIN_CHECK                           
INFO     03:38:09.099 │ Click ( 479,  359) @ LOGIN_CHECK                           
WARNING  03:38:14.409 │ Too many click for a button: LOGIN_CHECK                   
WARNING  03:38:14.412 │ History click: ['LOGIN_CHECK', 'LOGIN_CHECK',              
         'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK',
         'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK']
WARNING  03:38:14.415 │ Too many click for a button: LOGIN_CHECK                   
INFO     03:38:14.420 │ App stop: com.bilibili.azurlane                            
INFO     03:38:14.881 │ App start: com.bilibili.azurlane                           
CRITICAL 03:38:15.417 │ Login failed more than 3                                   
CRITICAL 03:38:15.421 │ Azur Lane server may be under maintenance, or you may lost 
         network connection                                                        
CRITICAL 03:38:15.424 │ Request human takeover                                     
INFO     03:38:15.427 │ No provider specified, skip sending

截图

No response

还有别的吗?

No response

LmeSzinc commented 1 year ago

可能是 uiautomator2 服务停止了或者不是通过 adb 命令启动的,在 console.bat 里执行

python -m uiautomator2 init

重新安装 uiautomator2

如果想从代码入手自动解决问题的话, 在 Alas 内可以通过调用这个重启 atx-agent https://github.com/LmeSzinc/AzurLaneAutoScript/blob/4dbc7913b47a571cd984fddbc2fd225c04f42bc2/module/device/connection.py#L507-L516 或者是重启 atx-agent 下的 minitouch 服务 https://github.com/LmeSzinc/AzurLaneAutoScript/blob/4dbc7913b47a571cd984fddbc2fd225c04f42bc2/module/device/method/minitouch.py#L483-L496

dynilath commented 1 year ago

这个能行

python -m uiautomator2 init

具体来说是Alas卡住了停止后,用这个,然后再启动能救活

我目前理解的代码上解决的办法是在这个地方 https://github.com/LmeSzinc/AzurLaneAutoScript/blob/4dbc7913b47a571cd984fddbc2fd225c04f42bc2/module/handler/login.py#L151-L162 在L159和L160中间加个

self.device.restart_atx()

我先摆着看看情况(

lbpdfs commented 1 year ago

1508

这个情况其实我很早就提交了╮(╯▽╰)╭

z45312 commented 1 year ago

我也会卡在重启设置,但我是minitouch在vivo渠道的碧蓝航线会进入vivo账号登陆界面再回到碧蓝航线主界面后失效。此时出现 Click ( 488, 321) @ LOGIN_CHECK循环卡死在重启设置