═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ RESTART ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ 2026-05-25 00:00:01.598 | INFO | <<< APP RESTART >>> 2026-05-25 00:00:01.601 | INFO | App stop: com.bilibili.azurlane 2026-05-25 00:00:03.196 | WARNING | WayDroid session is stoped 2026-05-25 00:00:03.202 | INFO | App start: com.bilibili.azurlane 2026-05-25 00:00:03.205 | ERROR | app_start_uiautomator2: All trials failed 2026-05-25 00:00:28.235 | WARNING | Now is using WayDroid 2026-05-25 00:00:28.238 | WARNING | /usr/bin/waydroid app launch com.bilibili.azurlane 2026-05-25 00:00:28.444 | WARNING | Return: 0 2026-05-25 00:00:28.453 | INFO | handle_app_login 2026-05-25 00:00:28.457 | INFO | Screenshot interval set to 1.0s 2026-05-25 00:00:28.463 | INFO | <<< APP LOGIN >>> 2026-05-25 00:00:28.501 | INFO | [Device Orientation] 0 (Normal) 2026-05-25 00:00:28.526 | ERROR | ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=20277): Max retries exceeded with url: /screenshot (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 2026-05-25 00:00:28.540 | INFO | <<< DROIDCAST INIT >>> 2026-05-25 00:00:28.550 | INFO | Stopping DroidCast 2026-05-25 00:00:28.588 | WARNING | atx-agent has something wrong, auto recovering 2026-05-25 00:00:28.595 | INFO | device 192.168.240.112:5555 is online 2026-05-25 00:00:29.008 | INFO | uiautomator2 version: 2.16.7 2026-05-25 00:00:29.140 | INFO | Real version: [0, 10, 0], Expect version: [0, 10, 0] 2026-05-25 00:00:29.198 | INFO | apk-debug package-info: {'package_name': 'com.github.uiautomator', 'version_name': '2.3.3', 'version_code': '2003003', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2024, 4, 4, 22, 58, 41), 'last_update_time': datetime.datetime(2024, 4, 4, 22, 58, 41), 'signature': 'ae17cd86], past signatures:['} 2026-05-25 00:00:29.207 | INFO | apk-debug-test package-info: {'package_name': 'com.github.uiautomator.test', 'version_name': '', 'version_code': '', 'flags': ['DEBUGGABLE', 'HAS_CODE', 'ALLOW_CLEAR_USER_DATA', 'ALLOW_BACKUP'], 'first_install_time': datetime.datetime(2024, 4, 4, 22, 58, 42), 'last_update_time': datetime.datetime(2024, 4, 4, 22, 58, 42), 'signature': 'ae17cd86], past signatures:['} 2026-05-25 00:00:29.213 | INFO | Shell: ('/data/local/tmp/atx-agent', 'server', '--nouia', '-d', '--addr', '127.0.0.1:7912') 2026-05-25 00:00:29.261 | INFO | Forward: local:tcp:46063 -> remote:tcp:7912 2026-05-25 00:00:29.773 | INFO | Forward: local:tcp:46063 -> remote:tcp:7912 2026-05-25 00:00:29.779 | INFO | atx-agent version 0.10.0 2026-05-25 00:00:29.792 | INFO | device wlan ip: route ip+net: no such network interface 2026-05-25 00:00:29.805 | INFO | Pushing DroidCast apk 2026-05-25 00:00:29.809 | INFO | Execute: ['/usr/bin/adb', '-s', '192.168.240.112:5555', 'push', './bin/DroidCast/DroidCast_raw-release-1.0.apk', '/data/local/tmp/DroidCast_raw.apk'] 2026-05-25 00:00:29.907 | INFO | Starting DroidCast apk 2026-05-25 00:00:29.923 | INFO | ShellBackgroundResponse(success=True, pid=1586, description='Successfully started program: CLASSPATH=/data/local/tmp/DroidCast_raw.apk app_process / ink.mol.droidcast_raw.Main > /dev/null') 2026-05-25 00:00:29.934 | INFO | Create forward: ForwardItem(serial='192.168.240.112:5555', local='tcp:20719', remote='tcp:53516') 2026-05-25 00:00:29.940 | INFO | [DroidCast_raw] http://127.0.0.1:20719/screenshot 2026-05-25 00:00:30.218 | INFO | [DroidCast] online 2026-05-25 00:00:33.985 | INFO | [Device Orientation] 0 (Normal) 2026-05-25 00:00:39.844 | INFO | [Device Orientation] 0 (Normal) 2026-05-25 00:00:45.836 | INFO | [Device Orientation] 0 (Normal) 2026-05-25 00:00:50.857 | INFO | [Device Orientation] 0 (Normal) 2026-05-25 00:00:56.871 | INFO | [Device Orientation] 0 (Normal) 2026-05-25 00:00:58.787 | INFO | Click ( 464, 336) @ LOGIN_CHECK 2026-05-25 00:00:58.845 | INFO | Login success 2026-05-25 00:01:03.805 | INFO | Click ( 470, 338) @ LOGIN_CHECK 2026-05-25 00:01:03.811 | ERROR | BrokenPipeError: [Errno 32] Broken pipe 2026-05-25 00:01:03.850 | INFO | <<< MINITOUCH INIT >>> 2026-05-25 00:01:03.897 | INFO | [Device Orientation] 0 (Normal) 2026-05-25 00:01:03.912 | INFO | Create forward: ForwardItem(serial='192.168.240.112:5555', local='tcp:20511', remote='localabstract:minitouch') 2026-05-25 00:01:03.925 | INFO | v 1 2026-05-25 00:01:03.931 | INFO | ^ 10 1280 720 0 2026-05-25 00:01:03.942 | INFO | $ 1579 2026-05-25 00:01:03.953 | INFO | minitouch running on port: 20511, pid: 1579 2026-05-25 00:01:03.966 | INFO | max_contact: 10; max_x: 1280; max_y: 720; max_pressure: 0 2026-05-25 00:01:15.777 | INFO | Click ( 473, 345) @ LOGIN_CHECK 2026-05-25 00:01:21.791 | INFO | Click ( 484, 374) @ LOGIN_CHECK 2026-05-25 00:01:27.789 | INFO | Click ( 477, 354) @ LOGIN_CHECK 2026-05-25 00:01:28.827 | INFO | Click ( 802, 519) @ POPUP_CONFIRM_LOGIN 2026-05-25 00:01:32.789 | INFO | Click ( 453, 365) @ LOGIN_CHECK 2026-05-25 00:01:39.795 | INFO | Click ( 481, 373) @ LOGIN_CHECK 2026-05-25 00:01:45.800 | INFO | Click ( 494, 322) @ LOGIN_CHECK 2026-05-25 00:01:49.824 | INFO | Click ( 795, 504) @ POPUP_CONFIRM_LOGIN 2026-05-25 00:01:51.841 | INFO | Click ( 788, 504) @ POPUP_CONFIRM_LOGIN 2026-05-25 00:01:52.803 | INFO | Click ( 471, 306) @ LOGIN_CHECK 2026-05-25 00:01:57.811 | INFO | Click ( 482, 333) @ LOGIN_CHECK 2026-05-25 00:02:03.814 | INFO | Click ( 492, 344) @ LOGIN_CHECK 2026-05-25 00:02:08.817 | INFO | Function calls: threading.py L890 _bootstrap() threading.py L926 _bootstrap_inner() threading.py L870 run() threadbased.py L254 run() output.py L801 click_callback() app.py L457 process_manager.py L51 start() process.py L112 start() context.py L223 _Popen() context.py L277 _Popen() popen_fork.py L20 __init__() popen_fork.py L74 _launch() process.py L297 _bootstrap() process.py L99 run() process_manager.py L166 run_process() alas.py L570 loop() alas.py L70 run() alas.py L182 restart() login.py L166 app_restart() login.py L148 handle_app_login() login.py L59 _handle_app_login() control.py L37 click() device.py L263 handle_control_check() device.py L299 click_record_check() device.py L43 show_function_call() 2026-05-25 00:02:08.830 | WARNING | Too many click for a button: LOGIN_CHECK 2026-05-25 00:02:08.834 | WARNING | History click: ['LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'POPUP_CONFIRM_LOGIN', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'POPUP_CONFIRM_LOGIN', 'POPUP_CONFIRM_LOGIN', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK', 'LOGIN_CHECK'] 2026-05-25 00:02:08.837 | INFO | Screenshot interval set to 0.3s 2026-05-25 00:02:08.840 | ERROR | GameTooManyClickError: Too many click for a button: LOGIN_CHECK 2026-05-25 00:02:08.844 | WARNING | Saving error: ./log/error/1779638528844