diff --git a/.github/workflows/noop.yml b/.github/workflows/noop.yml new file mode 100644 index 00000000..8aad030c --- /dev/null +++ b/.github/workflows/noop.yml @@ -0,0 +1,8 @@ +name: noop +run-name: noop🚀 +on: [push] +jobs: + noop: + runs-on: ubuntu-latest + steps: + - run: echo "done" diff --git a/.gitignore b/.gitignore index f3c78e8f..a7e8c460 100644 --- a/.gitignore +++ b/.gitignore @@ -100,7 +100,7 @@ ipython_config.py # pyenv # For a library or package, you might want to ignore these files since the code is # intended to run in multiple environments; otherwise, check them in: -# .python-version +.python-version # pipenv # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. @@ -176,6 +176,9 @@ cython_debug/ .vscode/ # ignore all config files, except example.json -BAAH_CONFIGS/ -!BAAH_CONFIGS/example.json +# BAAH_CONFIGS/ +# !BAAH_CONFIGS/example.json +# !BAAH_CONFIGS/daily.json +# !BAAH_CONFIGS/frequent.json .nicegui + diff --git a/.python-version b/.python-version new file mode 100644 index 00000000..c84ccce9 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.10.5 diff --git a/BAAH.py b/BAAH.py index 11320435..7c5e0068 100644 --- a/BAAH.py +++ b/BAAH.py @@ -139,7 +139,7 @@ def BAAH_check_adb_connect(): 检查adb连接 """ # 检查adb连接 - disconnect_this_device() + # disconnect_this_device() for i in range(1, 10): sleep(i) if check_connect(): diff --git a/BAAH_CONFIGS/campaign.json b/BAAH_CONFIGS/campaign.json new file mode 100644 index 00000000..f30d8ff7 --- /dev/null +++ b/BAAH_CONFIGS/campaign.json @@ -0,0 +1,334 @@ +{ + "SERVER_TYPE": "JP", + "TIMETABLE_TASK": [], + "WANTED_HIGHEST_LEVEL": [ + [ + [ + 1, + 9, + 2, + true + ], + [ + 2, + 9, + 2, + true + ], + [ + 3, + 9, + 2, + true + ] + ] + ], + "SPECIAL_HIGHTEST_LEVEL": [ + [ + [ + 1, + 13, + 1, + true + ] + ] + ], + "EXCHANGE_HIGHEST_LEVEL": [ + [ + [ + 1, + 4, + 2, + true + ], + [ + 2, + 4, + 2, + true + ], + [ + 3, + 4, + 2, + true + ] + ] + ], + "EVENT_QUEST_LEVEL": [ + [ + [ + 12, + -1, + true + ] + ], + [ + [ + 11, + -1, + true + ] + ] + ], + "HARD": [ + [ + [ + 20, + 3, + -1, + true + ] + ] + ], + "NORMAL": [], + "TASK_ORDER": [ + "登录游戏", + "RestartGame", + "制造", + "RestartGame", + "悬赏通缉", + "RestartGame", + "战术大赛", + "战术大赛", + "战术大赛", + "RestartGame", + "战术大赛", + "战术大赛", + "RestartGame", + "邮件", + "社团", + "商店", + "特殊任务", + "RestartGame", + "咖啡馆", + "课程表", + "每日任务", + "困难关卡", + "RestartGame", + "学园交流会", + "活动关卡", + "RestartGame", + "总力战", + "每日任务", + "RestartGame", + "困难推图", + "GoHome" + ], + "SHOP_NORMAL": [ + [], + [ + [ + 1, + true + ], + [ + 2, + true + ], + [ + 3, + true + ], + [ + 4, + true + ] + ], + [ + [ + 1, + true + ], + [ + 2, + true + ], + [ + 3, + true + ], + [ + 4, + true + ] + ] + ], + "SHOP_CONTEST": [ + [], + [ + [ + 3, + true + ], + [ + 4, + true + ] + ] + ], + "PUSH_NORMAL_USE_SIMPLE": false, + "PUSH_NORMAL_QUEST": 27, + "PUSH_NORMAL_QUEST_LEVEL": 3, + "PUSH_HARD_USE_SIMPLE": false, + "PUSH_HARD_QUEST": 19, + "PUSH_HARD_QUEST_LEVEL": 1, + "TASK_ACTIVATE": [ + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true + ], + "TARGET_EMULATOR_PATH": "scrcpy -s R9PT41K44SD --turn-screen-off --no-audio --stay-awake", + "CLOSE_EMULATOR_BAAH": true, + "PIC_PATH": "./DATA/assets_jp", + "GRID_SOL_PATH": "./DATA/grid_solution", + "FANHEXIE": false, + "ACTIVITY_PATH": "com.YostarJP.BlueArchive/com.yostarjp.bluearchive.MxUnityPlayerActivity", + "NEXT_CONFIG": "", + "ADB_PATH": "C:/Users/Lewis/AppData/Local/Microsoft/WinGet/Packages/Google.PlatformTools_Microsoft.Winget.Source_8wekyb3d8bbwe/platform-tools/adb.exe", + "SCREENSHOT_NAME": "f8eb6458.png", + "TARGET_IP_PATH": "127.0.0.1", + "TARGET_PORT": 5555, + "KILL_PORT_IF_EXIST": false, + "TIME_AFTER_CLICK": 0.7, + "RESPOND_Y": 40, + "SHOP_NORMAL_REFRESH_TIME": 0, + "SHOP_NORMAL_SWITCH": true, + "SHOP_CONTEST_REFRESH_TIME": 0, + "SHOP_CONTEST_SWITCH": true, + "LOCK_SERVER_TO_RESPOND_Y": true, + "CAFE_CAMERA_FULL": true, + "AUTO_EVENT_STORY_PUSH": true, + "EXPLORE_RAINBOW_TEAMS": true, + "ENABLE_MAIL_NOTI": false, + "CAFE_TOUCH_WAY_DIFF": false, + "USE_VPN": false, + "VPN_CONFIG": { + "VPN_ACTIVITY": "com.github.kr328.clash/com.github.kr328.clash.MainActivity", + "CLICK_AND_WAIT_LIST": [ + [ + [ + 622, + 248 + ], + 2 + ] + ] + }, + "AUTO_PUSH_EVENT_QUEST": true, + "CAFE_COLLECT": true, + "CAFE_TOUCH": true, + "CAFE_INVITE": true, + "RAISE_ERROR_IF_CANNOT_PUSH_EVENT_QUEST": true, + "MAIL_USER": "", + "MAIL_PASS": "", + "ADVANCED_EMAIL": false, + "SENDER_EMAIL": "", + "RECEIVER_EMAIL": "", + "MAIL_HOST": "", + "AUTO_ASSAULT_LEVEL": 4, + "RUN_UNTIL_TRY_TIMES": 6, + "RUN_UNTIL_WAIT_TIME": 1.5, + "ADB_DIRECT_USE_SERIAL_NUMBER": true, + "ADB_SEIAL_NUMBER": "R9PT41K44SD", + "IS_AUTO_ASSAULT_STUDENT_HELP": false, + "AUTO_ASSAULT_HELP_STUDENT_IS_SUPPORT": false, + "AUTO_ASSAULT_HELP_STUDENT": "", + "ENABLE_HTTP_NOTI": false, + "TARGET_HTTP_URL": "", + "TARGET_HTTP_TOKEN": "", + "USE_MEMORY_IMAGE": false, + "SMART_TIMETABLE": true, + "TIMETABLE_WEIGHT_OF_REWARD": 10, + "TIMETABLE_WEIGHT_OF_HEART": 20, + "TIMETABLE_WEIGHT_OF_LOCK": 10, + "BUY_AP_MAX_PRICE": 30, + "BUY_AP_ADD_TIMES": 0, + "PRE_COMMAND": "", + "POST_COMMAND": "adb -s GN434M02404400PE shell input keyevent KEYCODE_HOME", + "USER_DEF_TASKS": "", + "CRAFT_TIMES": 1, + "SPEICAL_EVENT_STATUS": false, + "NORMAL_QUEST_EVENT_STATUS": false, + "HARD_QUEST_EVENT_STATUS": false, + "EXCHANGE_EVENT_STATUS": false, + "CLOSE_EMULATOR_FINISH": true, + "CLOSE_BAAH_FINISH": true, + "CONTEST_LEVEL_PRIORITY": 10, + "CONTEST_RANK_PRIORITY": 10, + "CLOSE_GAME_FINISH": true, + "GAME_LOGIN_TIMEOUT": 600, + "MAX_RESTART_EMULATOR_TIMES": 0, + "SCREENSHOT_METHOD": "pipe", + "OPEN_GAME_APP_TASK": true, + "DO_POST_ALL_TASK": true, + "TEAM_SET_STRENGTH": [ + { + "red": 0, + "blue": 0, + "yellow": 10, + "purple": 0 + }, + { + "red": 10, + "blue": 0, + "yellow": 0, + "purple": 0 + }, + { + "red": 0, + "blue": 0, + "yellow": 0, + "purple": 10 + }, + { + "red": 0, + "blue": 10, + "yellow": 0, + "purple": 0 + } + ], + "CAFE1_INVITE_SEQ": 1, + "CAFE2_INVITE_SEQ": 2, + "SAVE_LOG_TO_FILE": false, + "CAFE_INVITE_SAME_NAME_DELAY": true, + "SHOP_NORMAL_BUYALL": false, + "SHOP_CONTEST_BUYALL": false, + "CRAFT_USE_QUICK": false, + "CAFE_INVITE_SAME_NAME_DELAY_REVERSE": false, + "ONE_CLICK_RAID": [], + "IS_AUTO_ASSAULT_AUTO_TEAM": false, + "ACTIVITY_AUTO_TEAM": false, + "EXPLORE_AUTO_TEAM": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_EVENT": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_NORMAL_TRIPLE": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_HARD_TRIPLE": false +} \ No newline at end of file diff --git a/BAAH_CONFIGS/daily-event-end.json b/BAAH_CONFIGS/daily-event-end.json new file mode 100644 index 00000000..c88d8211 --- /dev/null +++ b/BAAH_CONFIGS/daily-event-end.json @@ -0,0 +1,347 @@ +{ + "SERVER_TYPE": "JP", + "TIMETABLE_TASK": [], + "WANTED_HIGHEST_LEVEL": [ + [ + [ + 1, + 9, + 2, + true + ], + [ + 2, + 9, + 2, + true + ], + [ + 3, + 9, + 2, + true + ] + ] + ], + "SPECIAL_HIGHTEST_LEVEL": [ + [ + [ + 1, + 13, + 1, + true + ] + ] + ], + "EXCHANGE_HIGHEST_LEVEL": [ + [ + [ + 1, + 4, + 2, + true + ], + [ + 2, + 4, + 2, + true + ], + [ + 3, + 4, + 2, + true + ] + ] + ], + "EVENT_QUEST_LEVEL": [ + [ + [ + 12, + -1, + true + ] + ] + ], + "HARD": [ + [ + [ + 22, + 3, + -1, + true + ] + ] + ], + "NORMAL": [], + "TASK_ORDER": [ + "登录游戏", + "RestartGame", + "制造", + "RestartGame", + "悬赏通缉", + "RestartGame", + "战术大赛", + "战术大赛", + "战术大赛", + "RestartGame", + "战术大赛", + "战术大赛", + "RestartGame", + "邮件", + "社团", + "商店", + "特殊任务", + "RestartGame", + "咖啡馆", + "课程表", + "每日任务", + "困难关卡", + "RestartGame", + "学园交流会", + "活动关卡", + "RestartGame", + "总力战", + "每日任务", + "RestartGame", + "清momotalk", + "GoHome" + ], + "SHOP_NORMAL": [ + [ + [ + 1, + true + ], + [ + 2, + true + ], + [ + 3, + true + ], + [ + 4, + true + ] + ], + [ + [ + 1, + true + ], + [ + 2, + true + ], + [ + 3, + true + ], + [ + 4, + true + ] + ], + [ + [ + 1, + false + ], + [ + 2, + false + ], + [ + 3, + false + ], + [ + 4, + false + ] + ] + ], + "SHOP_CONTEST": [ + [], + [ + [ + 3, + true + ], + [ + 4, + true + ] + ] + ], + "PUSH_NORMAL_USE_SIMPLE": true, + "PUSH_NORMAL_QUEST": 0, + "PUSH_NORMAL_QUEST_LEVEL": 1, + "PUSH_HARD_USE_SIMPLE": true, + "PUSH_HARD_QUEST": 0, + "PUSH_HARD_QUEST_LEVEL": 1, + "TASK_ACTIVATE": [ + true, + false, + true, + false, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + false, + true, + true, + false, + true, + true + ], + "TARGET_EMULATOR_PATH": "scrcpy -s R92X708AKVD --turn-screen-off --no-audio --stay-awake", + "CLOSE_EMULATOR_BAAH": true, + "PIC_PATH": "./DATA/assets_jp", + "GRID_SOL_PATH": "./DATA/grid_solution", + "FANHEXIE": false, + "ACTIVITY_PATH": "com.YostarJP.BlueArchive/com.yostarjp.bluearchive.MxUnityPlayerActivity", + "NEXT_CONFIG": "", + "ADB_PATH": "adb", + "SCREENSHOT_NAME": "763e4b6e.png", + "TARGET_IP_PATH": "127.0.0.1", + "TARGET_PORT": 5555, + "KILL_PORT_IF_EXIST": false, + "TIME_AFTER_CLICK": 0.7, + "RESPOND_Y": 40, + "SHOP_NORMAL_REFRESH_TIME": 0, + "SHOP_NORMAL_SWITCH": true, + "SHOP_CONTEST_REFRESH_TIME": 3, + "SHOP_CONTEST_SWITCH": true, + "LOCK_SERVER_TO_RESPOND_Y": true, + "CAFE_CAMERA_FULL": true, + "AUTO_EVENT_STORY_PUSH": false, + "EXPLORE_RAINBOW_TEAMS": false, + "ENABLE_MAIL_NOTI": false, + "CAFE_TOUCH_WAY_DIFF": false, + "USE_VPN": false, + "VPN_CONFIG": { + "VPN_ACTIVITY": "com.github.kr328.clash/com.github.kr328.clash.MainActivity", + "CLICK_AND_WAIT_LIST": [ + [ + [ + 622, + 248 + ], + 2 + ] + ] + }, + "AUTO_PUSH_EVENT_QUEST": false, + "CAFE_COLLECT": true, + "CAFE_TOUCH": true, + "CAFE_INVITE": true, + "RAISE_ERROR_IF_CANNOT_PUSH_EVENT_QUEST": true, + "MAIL_USER": "", + "MAIL_PASS": "", + "ADVANCED_EMAIL": false, + "SENDER_EMAIL": "", + "RECEIVER_EMAIL": "", + "MAIL_HOST": "", + "AUTO_ASSAULT_LEVEL": 4, + "RUN_UNTIL_TRY_TIMES": 6, + "RUN_UNTIL_WAIT_TIME": 1.5, + "ADB_DIRECT_USE_SERIAL_NUMBER": true, + "ADB_SEIAL_NUMBER": "R92X708AKVD", + "IS_AUTO_ASSAULT_STUDENT_HELP": false, + "AUTO_ASSAULT_HELP_STUDENT_IS_SUPPORT": false, + "AUTO_ASSAULT_HELP_STUDENT": "", + "ENABLE_HTTP_NOTI": false, + "TARGET_HTTP_URL": "", + "TARGET_HTTP_TOKEN": "", + "USE_MEMORY_IMAGE": false, + "SMART_TIMETABLE": true, + "TIMETABLE_WEIGHT_OF_REWARD": 10, + "TIMETABLE_WEIGHT_OF_HEART": 20, + "TIMETABLE_WEIGHT_OF_LOCK": 10, + "BUY_AP_MAX_PRICE": 30, + "BUY_AP_ADD_TIMES": 0, + "PRE_COMMAND": "", + "POST_COMMAND": "adb -s R92X708AKVD shell input keyevent KEYCODE_HOME", + "USER_DEF_TASKS": "", + "CRAFT_TIMES": 1, + "SPEICAL_EVENT_STATUS": false, + "NORMAL_QUEST_EVENT_STATUS": false, + "HARD_QUEST_EVENT_STATUS": false, + "EXCHANGE_EVENT_STATUS": false, + "CLOSE_EMULATOR_FINISH": true, + "CLOSE_BAAH_FINISH": true, + "CONTEST_LEVEL_PRIORITY": 10, + "CONTEST_RANK_PRIORITY": 10, + "CLOSE_GAME_FINISH": true, + "GAME_LOGIN_TIMEOUT": 600, + "MAX_RESTART_EMULATOR_TIMES": 0, + "SCREENSHOT_METHOD": "pipe", + "OPEN_GAME_APP_TASK": true, + "DO_POST_ALL_TASK": true, + "TEAM_SET_STRENGTH": [ + { + "red": 10, + "blue": 10, + "yellow": 10, + "purple": 10 + }, + { + "red": 10, + "blue": 10, + "yellow": 10, + "purple": 10 + }, + { + "red": 10, + "blue": 10, + "yellow": 10, + "purple": 10 + }, + { + "red": 0, + "blue": 0, + "yellow": 0, + "purple": 0 + } + ], + "CAFE1_INVITE_SEQ": 1, + "CAFE2_INVITE_SEQ": 2, + "SAVE_LOG_TO_FILE": false, + "CAFE_INVITE_SAME_NAME_DELAY": true, + "CRAFT_USE_QUICK": false, + "SHOP_NORMAL_BUYALL": false, + "SHOP_CONTEST_BUYALL": false, + "CAFE_INVITE_SAME_NAME_DELAY_REVERSE": false, + "ONE_CLICK_RAID": [], + "IS_AUTO_ASSAULT_AUTO_TEAM": false, + "ACTIVITY_AUTO_TEAM": false, + "EXPLORE_AUTO_TEAM": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_EVENT": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_NORMAL_TRIPLE": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_HARD_TRIPLE": false, + "USER_STORAGE_FILE_NAME": "79ca4059.json", + "EXAM_TARGET_LEVEL": 2, + "EXAM_TEAM_COUNT": 3 +} \ No newline at end of file diff --git a/BAAH_CONFIGS/daily.json b/BAAH_CONFIGS/daily.json new file mode 100644 index 00000000..171365a8 --- /dev/null +++ b/BAAH_CONFIGS/daily.json @@ -0,0 +1,384 @@ +{ + "SERVER_TYPE": "JP", + "TIMETABLE_TASK": [], + "WANTED_HIGHEST_LEVEL": [ + [ + [ + 1, + 10, + 2, + true + ], + [ + 2, + 10, + 2, + true + ], + [ + 3, + 10, + 2, + true + ] + ] + ], + "SPECIAL_HIGHTEST_LEVEL": [ + [ + [ + 1, + 14, + 1, + true + ] + ] + ], + "EXCHANGE_HIGHEST_LEVEL": [ + [ + [ + 1, + 4, + 2, + true + ], + [ + 2, + 4, + 2, + true + ], + [ + 3, + 4, + 2, + true + ] + ] + ], + "EVENT_QUEST_LEVEL": [ + [ + [ + 10, + -1, + true + ] + ], + [ + [ + 11, + -1, + true + ] + ], + [ + [ + 12, + -1, + true + ] + ] + ], + "HARD": [ + [ + [ + 22, + 3, + -1, + true + ] + ] + ], + "NORMAL": [], + "TASK_ORDER": [ + "登录游戏", + "RestartGame", + "制造", + "RestartGame", + "悬赏通缉", + "RestartGame", + "战术大赛", + "战术大赛", + "战术大赛", + "RestartGame", + "战术大赛", + "战术大赛", + "RestartGame", + "邮件", + "社团", + "商店", + "特殊任务", + "RestartGame", + "咖啡馆", + "课程表", + "每日任务", + "困难关卡", + "RestartGame", + "学园交流会", + "活动关卡", + "RestartGame", + "总力战", + "每日任务", + "RestartGame", + "清momotalk", + "GoHome" + ], + "SHOP_NORMAL": [ + [ + [ + 1, + true + ], + [ + 2, + true + ], + [ + 3, + true + ], + [ + 4, + true + ] + ], + [ + [ + 1, + true + ], + [ + 2, + true + ], + [ + 3, + true + ], + [ + 4, + true + ] + ], + [ + [ + 1, + false + ], + [ + 2, + false + ], + [ + 3, + false + ], + [ + 4, + false + ] + ] + ], + "SHOP_CONTEST": [ + [], + [ + [ + 3, + true + ], + [ + 4, + true + ] + ] + ], + "PUSH_NORMAL_USE_SIMPLE": true, + "PUSH_NORMAL_QUEST": 0, + "PUSH_NORMAL_QUEST_LEVEL": 1, + "PUSH_HARD_USE_SIMPLE": true, + "PUSH_HARD_QUEST": 0, + "PUSH_HARD_QUEST_LEVEL": 1, + "TASK_ACTIVATE": [ + true, + false, + true, + false, + true, + false, + true, + true, + true, + true, + true, + true, + false, + true, + true, + true, + true, + false, + true, + true, + true, + true, + true, + true, + true, + false, + false, + true, + false, + true, + true + ], + "TARGET_EMULATOR_PATH": "/opt/homebrew/bin/scrcpy -s R92X708AKVD --turn-screen-off --no-audio --stay-awake", + "CLOSE_EMULATOR_BAAH": true, + "PIC_PATH": "./DATA/assets_jp", + "GRID_SOL_PATH": "./DATA/grid_solution", + "FANHEXIE": false, + "ACTIVITY_PATH": "com.YostarJP.BlueArchive/com.yostarjp.bluearchive.MxUnityPlayerActivity", + "NEXT_CONFIG": "", + "ADB_PATH": "adb", + "SCREENSHOT_NAME": "79ca4059.png", + "TARGET_IP_PATH": "127.0.0.1", + "TARGET_PORT": 5555, + "KILL_PORT_IF_EXIST": false, + "TIME_AFTER_CLICK": 0.7, + "RESPOND_Y": 40, + "SHOP_NORMAL_REFRESH_TIME": 0, + "SHOP_NORMAL_SWITCH": true, + "SHOP_CONTEST_REFRESH_TIME": 0, + "SHOP_CONTEST_SWITCH": true, + "LOCK_SERVER_TO_RESPOND_Y": true, + "CAFE_CAMERA_FULL": true, + "AUTO_EVENT_STORY_PUSH": false, + "EXPLORE_RAINBOW_TEAMS": false, + "ENABLE_MAIL_NOTI": false, + "CAFE_TOUCH_WAY_DIFF": false, + "USE_VPN": false, + "VPN_CONFIG": { + "VPN_ACTIVITY": "com.github.kr328.clash/com.github.kr328.clash.MainActivity", + "CLICK_AND_WAIT_LIST": [ + [ + [ + 622, + 248 + ], + 2 + ] + ] + }, + "AUTO_PUSH_EVENT_QUEST": false, + "CAFE_COLLECT": true, + "CAFE_TOUCH": true, + "CAFE_INVITE": true, + "RAISE_ERROR_IF_CANNOT_PUSH_EVENT_QUEST": true, + "MAIL_USER": "", + "MAIL_PASS": "", + "ADVANCED_EMAIL": false, + "SENDER_EMAIL": "", + "RECEIVER_EMAIL": "", + "MAIL_HOST": "", + "AUTO_ASSAULT_LEVEL": 4, + "RUN_UNTIL_TRY_TIMES": 6, + "RUN_UNTIL_WAIT_TIME": 1.5, + "ADB_DIRECT_USE_SERIAL_NUMBER": true, + "ADB_SEIAL_NUMBER": "R92X708AKVD", + "IS_AUTO_ASSAULT_STUDENT_HELP": false, + "AUTO_ASSAULT_HELP_STUDENT_IS_SUPPORT": false, + "AUTO_ASSAULT_HELP_STUDENT": "", + "ENABLE_HTTP_NOTI": false, + "TARGET_HTTP_URL": "", + "TARGET_HTTP_TOKEN": "", + "USE_MEMORY_IMAGE": false, + "SMART_TIMETABLE": true, + "TIMETABLE_WEIGHT_OF_REWARD": 10, + "TIMETABLE_WEIGHT_OF_HEART": 20, + "TIMETABLE_WEIGHT_OF_LOCK": 10, + "BUY_AP_MAX_PRICE": 30, + "BUY_AP_ADD_TIMES": 0, + "PRE_COMMAND": "scrcpy -s R92X708AKVD --turn-screen-off --no-audio --stay-awake", + "POST_COMMAND": "adb -s R92X708AKVD shell input keyevent KEYCODE_HOME", + "USER_DEF_TASKS": "", + "CRAFT_TIMES": 1, + "SPEICAL_EVENT_STATUS": false, + "NORMAL_QUEST_EVENT_STATUS": false, + "HARD_QUEST_EVENT_STATUS": false, + "EXCHANGE_EVENT_STATUS": false, + "CLOSE_EMULATOR_FINISH": true, + "CLOSE_BAAH_FINISH": true, + "CONTEST_LEVEL_PRIORITY": 10, + "CONTEST_RANK_PRIORITY": 10, + "CLOSE_GAME_FINISH": false, + "GAME_LOGIN_TIMEOUT": 600, + "MAX_RESTART_EMULATOR_TIMES": 0, + "SCREENSHOT_METHOD": "pipe", + "OPEN_GAME_APP_TASK": true, + "DO_POST_ALL_TASK": true, + "TEAM_SET_STRENGTH": [ + { + "red": 10, + "blue": 10, + "yellow": 10, + "purple": 10 + }, + { + "red": 10, + "blue": 10, + "yellow": 10, + "purple": 10 + }, + { + "red": 10, + "blue": 10, + "yellow": 10, + "purple": 10 + }, + { + "red": 0, + "blue": 0, + "yellow": 0, + "purple": 0 + } + ], + "CAFE1_INVITE_SEQ": 1, + "CAFE2_INVITE_SEQ": 2, + "SAVE_LOG_TO_FILE": false, + "CAFE_INVITE_SAME_NAME_DELAY": true, + "CRAFT_USE_QUICK": false, + "SHOP_NORMAL_BUYALL": false, + "SHOP_CONTEST_BUYALL": false, + "CAFE_INVITE_SAME_NAME_DELAY_REVERSE": false, + "ONE_CLICK_RAID": [], + "IS_AUTO_ASSAULT_AUTO_TEAM": false, + "ACTIVITY_AUTO_TEAM": false, + "EXPLORE_AUTO_TEAM": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_EVENT": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_NORMAL_TRIPLE": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_HARD_TRIPLE": false, + "USER_STORAGE_FILE_NAME": "79ca4059.json", + "EXAM_TARGET_LEVEL": 2, + "EXAM_TEAM_COUNT": 3, + "UPDATE_API_URL": "https://baah.02000721.xyz/apk/jp", + "CLOSE_EMULATOR_ERROR": false, + "CLOSE_GAME_ERROR": false, + "CLOSE_BAAH_ERROR": false, + "CLOSE_VPN": false, + "VPN_CLOSE_CONFIG": { + "VPN_ACTIVITY": "com.github.kr328.clash/com.github.kr328.clash.MainActivity", + "CLICK_AND_WAIT_LIST": [ + [ + [ + 622, + 248 + ], + 2 + ] + ] + }, + "ARIA2_PATH": "./tools/aria2/aria2c.exe", + "ARIA2_THREADS": 16, + "ARIA2_MAX_TRIES": 5, + "ARIA2_FAILURED_WAIT_TIME": 0.5, + "BIG_UPDATE": false, + "BIG_UPDATE_TYPE": "API" +} \ No newline at end of file diff --git a/BAAH_CONFIGS/example.json b/BAAH_CONFIGS/example.json index 0a5cb94f..8a60849a 100644 --- a/BAAH_CONFIGS/example.json +++ b/BAAH_CONFIGS/example.json @@ -1,7 +1,7 @@ { "INFO00": "不懂的看置顶视频:https://space.bilibili.com/7331920?spm_id_from=333.1007.0.0", "TARGET_PORT": 16384, - "TARGET_EMULATOR_PATH": "", + "TARGET_EMULATOR_PATH": "scrcpy -s GN434M02404400PE --turn-screen-off --no-audio --stay-awake", "TIME_AFTER_CLICK": 0.5, "INFO1": "课程表", "TIMETABLE_TASK": [ @@ -133,7 +133,7 @@ "INFO8": "任务的执行顺序", "TASK_ORDER": [ "登录游戏", - "清momotalk", + "GoHome", "普通推图", "困难推图", "咖啡馆", @@ -154,10 +154,10 @@ "每日任务" ], "SERVER_INFO": "服务器信息", - "PIC_PATH": "./DATA/assets_cn", - "ACTIVITY_PATH": "com.RoamingStar.BlueArchive/com.yostar.supersdk.activity.YoStarSplashActivity", + "PIC_PATH": "./DATA/assets_jp", + "ACTIVITY_PATH": "com.YostarJP.BlueArchive/com.yostarjp.bluearchive.MxUnityPlayerActivity", "Warning": "下方内容一般无需更改", - "ADB_PATH": "./tools/adb/adb.exe", + "ADB_PATH": "C:/Users/Lewis/AppData/Local/Microsoft/WinGet/Packages/Google.PlatformTools_Microsoft.Winget.Source_8wekyb3d8bbwe/platform-tools/adb.exe", "SCREENSHOT_NAME": "e2419474.png", "RESPOND_Y": 40, "NEXT_CONFIG": "", @@ -170,6 +170,7 @@ ], "SHOP_CONTEST": [], "TASK_ACTIVATE": [ + true, true, false, false, @@ -187,7 +188,6 @@ false, false, false, - true, false, false ], @@ -195,7 +195,7 @@ "SHOP_CONTEST_REFRESH_TIME": 0, "LOCK_SERVER_TO_RESPOND_Y": true, "CAFE_CAMERA_FULL": true, - "SERVER_TYPE": "CN", + "SERVER_TYPE": "JP", "CLOSE_EMULATOR_BAAH": true, "FANHEXIE": false, "KILL_PORT_IF_EXIST": false, @@ -236,8 +236,8 @@ "AUTO_ASSAULT_LEVEL": 4, "RUN_UNTIL_TRY_TIMES": 9, "RUN_UNTIL_WAIT_TIME": 0.5, - "ADB_DIRECT_USE_SERIAL_NUMBER": false, - "ADB_SEIAL_NUMBER": "emulator-5554", + "ADB_DIRECT_USE_SERIAL_NUMBER": true, + "ADB_SEIAL_NUMBER": "GN434M02404400PE", "IS_AUTO_ASSAULT_STUDENT_HELP": false, "AUTO_ASSAULT_HELP_STUDENT": "", "AUTO_ASSAULT_HELP_STUDENT_IS_SUPPORT": false, @@ -252,7 +252,7 @@ "BUY_AP_MAX_PRICE": 30, "BUY_AP_ADD_TIMES": 1, "PRE_COMMAND": "", - "POST_COMMAND": "", + "POST_COMMAND": "adb -s GN434M02404400PE shell input keyevent KEYCODE_HOME", "SHOP_NORMAL_SWITCH": true, "SHOP_CONTEST_SWITCH": true, "USER_DEF_TASKS": "", diff --git a/BAAH_CONFIGS/frequent.json b/BAAH_CONFIGS/frequent.json new file mode 100644 index 00000000..ff6f72c2 --- /dev/null +++ b/BAAH_CONFIGS/frequent.json @@ -0,0 +1,312 @@ +{ + "SERVER_TYPE": "JP", + "TIMETABLE_TASK": [], + "WANTED_HIGHEST_LEVEL": [ + [ + [ + 1, + 9, + 2, + true + ], + [ + 2, + 9, + 2, + true + ], + [ + 3, + 9, + 2, + true + ] + ] + ], + "SPECIAL_HIGHTEST_LEVEL": [ + [ + [ + 1, + 9, + 1, + true + ] + ] + ], + "EXCHANGE_HIGHEST_LEVEL": [ + [ + [ + 1, + 2, + 2, + true + ], + [ + 2, + 2, + 2, + true + ], + [ + 1, + 3, + 2, + true + ] + ] + ], + "EVENT_QUEST_LEVEL": [ + [ + [ + 12, + -1, + true + ] + ] + ], + "HARD": [ + [ + [ + 20, + 3, + -1, + true + ] + ] + ], + "NORMAL": [], + "TASK_ORDER": [ + "登录游戏", + "RestartGame", + "制造", + "悬赏通缉", + "战术大赛", + "RestartGame", + "邮件", + "社团", + "商店", + "特殊任务", + "RestartGame", + "咖啡馆", + "课程表", + "每日任务", + "困难关卡", + "RestartGame", + "学园交流会", + "活动关卡", + "RestartGame", + "每日任务", + "清momotalk", + "GoHome" + ], + "SHOP_NORMAL": [ + [], + [ + [ + 1, + true + ], + [ + 2, + true + ], + [ + 3, + true + ], + [ + 4, + true + ] + ], + [ + [ + 1, + true + ], + [ + 2, + true + ], + [ + 3, + true + ], + [ + 4, + true + ] + ] + ], + "SHOP_CONTEST": [ + [], + [ + [ + 3, + true + ], + [ + 4, + true + ] + ] + ], + "PUSH_NORMAL_USE_SIMPLE": true, + "PUSH_NORMAL_QUEST": 0, + "PUSH_NORMAL_QUEST_LEVEL": 1, + "PUSH_HARD_USE_SIMPLE": true, + "PUSH_HARD_QUEST": 0, + "PUSH_HARD_QUEST_LEVEL": 1, + "TASK_ACTIVATE": [ + true, + false, + false, + false, + true, + false, + true, + false, + false, + false, + false, + true, + false, + true, + false, + false, + false, + true, + false, + true, + true, + true + ], + "TARGET_EMULATOR_PATH": "scrcpy -s R92X708AKVD --turn-screen-off --no-audio --stay-awake", + "CLOSE_EMULATOR_BAAH": true, + "PIC_PATH": "./DATA/assets_jp", + "GRID_SOL_PATH": "./DATA/grid_solution", + "FANHEXIE": false, + "ACTIVITY_PATH": "com.YostarJP.BlueArchive/com.yostarjp.bluearchive.MxUnityPlayerActivity", + "NEXT_CONFIG": "", + "ADB_PATH": "adb", + "SCREENSHOT_NAME": "4d18b2d1.png", + "TARGET_IP_PATH": "127.0.0.1", + "TARGET_PORT": 5555, + "KILL_PORT_IF_EXIST": false, + "TIME_AFTER_CLICK": 0.7, + "RESPOND_Y": 40, + "SHOP_NORMAL_REFRESH_TIME": 0, + "SHOP_NORMAL_SWITCH": true, + "SHOP_CONTEST_REFRESH_TIME": 0, + "SHOP_CONTEST_SWITCH": true, + "LOCK_SERVER_TO_RESPOND_Y": true, + "CAFE_CAMERA_FULL": true, + "AUTO_EVENT_STORY_PUSH": false, + "EXPLORE_RAINBOW_TEAMS": false, + "ENABLE_MAIL_NOTI": false, + "CAFE_TOUCH_WAY_DIFF": false, + "USE_VPN": false, + "VPN_CONFIG": { + "VPN_ACTIVITY": "com.github.kr328.clash/com.github.kr328.clash.MainActivity", + "CLICK_AND_WAIT_LIST": [ + [ + [ + 622, + 248 + ], + 2 + ] + ] + }, + "AUTO_PUSH_EVENT_QUEST": false, + "CAFE_COLLECT": true, + "CAFE_TOUCH": true, + "CAFE_INVITE": true, + "RAISE_ERROR_IF_CANNOT_PUSH_EVENT_QUEST": true, + "MAIL_USER": "", + "MAIL_PASS": "", + "ADVANCED_EMAIL": false, + "SENDER_EMAIL": "", + "RECEIVER_EMAIL": "", + "MAIL_HOST": "", + "AUTO_ASSAULT_LEVEL": 4, + "RUN_UNTIL_TRY_TIMES": 6, + "RUN_UNTIL_WAIT_TIME": 1.5, + "ADB_DIRECT_USE_SERIAL_NUMBER": true, + "ADB_SEIAL_NUMBER": "R92X708AKVD", + "IS_AUTO_ASSAULT_STUDENT_HELP": false, + "AUTO_ASSAULT_HELP_STUDENT_IS_SUPPORT": false, + "AUTO_ASSAULT_HELP_STUDENT": "", + "ENABLE_HTTP_NOTI": false, + "TARGET_HTTP_URL": "", + "TARGET_HTTP_TOKEN": "", + "USE_MEMORY_IMAGE": false, + "SMART_TIMETABLE": true, + "TIMETABLE_WEIGHT_OF_REWARD": 10, + "TIMETABLE_WEIGHT_OF_HEART": 20, + "TIMETABLE_WEIGHT_OF_LOCK": 10, + "BUY_AP_MAX_PRICE": 30, + "BUY_AP_ADD_TIMES": 0, + "PRE_COMMAND": "", + "POST_COMMAND": "adb -s R92X708AKVD shell input keyevent KEYCODE_HOME", + "USER_DEF_TASKS": "", + "CRAFT_TIMES": 1, + "SPEICAL_EVENT_STATUS": false, + "NORMAL_QUEST_EVENT_STATUS": false, + "HARD_QUEST_EVENT_STATUS": false, + "EXCHANGE_EVENT_STATUS": false, + "CLOSE_EMULATOR_FINISH": true, + "CLOSE_BAAH_FINISH": true, + "CONTEST_LEVEL_PRIORITY": 10, + "CONTEST_RANK_PRIORITY": 10, + "CLOSE_GAME_FINISH": true, + "GAME_LOGIN_TIMEOUT": 600, + "MAX_RESTART_EMULATOR_TIMES": 0, + "SCREENSHOT_METHOD": "pipe", + "OPEN_GAME_APP_TASK": true, + "DO_POST_ALL_TASK": true, + "TEAM_SET_STRENGTH": [ + { + "red": 10, + "blue": 10, + "yellow": 10, + "purple": 10 + }, + { + "red": 10, + "blue": 10, + "yellow": 10, + "purple": 10 + }, + { + "red": 10, + "blue": 10, + "yellow": 10, + "purple": 10 + }, + { + "red": 0, + "blue": 0, + "yellow": 0, + "purple": 0 + } + ], + "CAFE1_INVITE_SEQ": 1, + "CAFE2_INVITE_SEQ": 2, + "SAVE_LOG_TO_FILE": false, + "CAFE_INVITE_SAME_NAME_DELAY": true, + "CRAFT_USE_QUICK": false, + "SHOP_NORMAL_BUYALL": false, + "SHOP_CONTEST_BUYALL": false, + "CAFE_INVITE_SAME_NAME_DELAY_REVERSE": false, + "ONE_CLICK_RAID": [], + "IS_AUTO_ASSAULT_AUTO_TEAM": false, + "ACTIVITY_AUTO_TEAM": false, + "EXPLORE_AUTO_TEAM": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_EVENT": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_NORMAL_TRIPLE": false, + "DO_ONE_CLICK_RAID_ONLY_DURING_HARD_TRIPLE": false, + "USER_STORAGE_FILE_NAME": "4d18b2d1.json", + "EXAM_TARGET_LEVEL": 2, + "EXAM_TEAM_COUNT": 3 +} \ No newline at end of file diff --git a/DATA/i18n/en_US.json b/DATA/i18n/en_US.json index 9b815d07..ae76d590 100644 --- a/DATA/i18n/en_US.json +++ b/DATA/i18n/en_US.json @@ -2,6 +2,8 @@ "config_file":"Config File", "task_login_game": "Login Game", + "task_restart_game":"RestartGame", + "task_go_home":"GoHome", "task_clear_momotalk": "Clear Momotalk", "task_cafe": "Cafe", "task_cafe_deprecated":"Cafe (Deprecated one, not recommended)", diff --git a/DATA/i18n/jp_JP.json b/DATA/i18n/jp_JP.json index fe3b2632..0874bf8b 100644 --- a/DATA/i18n/jp_JP.json +++ b/DATA/i18n/jp_JP.json @@ -2,6 +2,8 @@ "config_file":"設定ファイル", "task_login_game": "ゲームにログインする", + "task_restart_game":"RestartGame", + "task_go_home":"GoHome", "task_clear_momotalk": "モモトークをクリアする", "task_cafe": "カフェ", "task_cafe_deprecated": "カフェ(非推奨)", diff --git a/DATA/i18n/zh_CN.json b/DATA/i18n/zh_CN.json index 7eda2c08..7ea5ccd7 100644 --- a/DATA/i18n/zh_CN.json +++ b/DATA/i18n/zh_CN.json @@ -2,6 +2,8 @@ "config_file":"配置文件", "task_login_game":"登录游戏", + "task_restart_game":"RestartGame", + "task_go_home":"GoHome", "task_clear_momotalk":"清momotalk", "task_cafe":"咖啡馆", "task_cafe_deprecated":"咖啡馆(旧,不推荐)", diff --git a/daily.sh b/daily.sh new file mode 100755 index 00000000..f2398541 --- /dev/null +++ b/daily.sh @@ -0,0 +1 @@ +uv run main.py daily.json \ No newline at end of file diff --git a/frequent.sh b/frequent.sh new file mode 100755 index 00000000..3d612a02 --- /dev/null +++ b/frequent.sh @@ -0,0 +1 @@ +uv run main.py frequent.json \ No newline at end of file diff --git a/gui/__init__.py b/gui/__init__.py index f5043790..7ed63cfc 100644 --- a/gui/__init__.py +++ b/gui/__init__.py @@ -1 +1 @@ -from .refactor_pages import * \ No newline at end of file +from .refactor_pages import * diff --git a/gui/refactor_pages/home.py b/gui/refactor_pages/home.py index 4aaa182c..975839a7 100644 --- a/gui/refactor_pages/home.py +++ b/gui/refactor_pages/home.py @@ -28,7 +28,8 @@ def select_language(value): # 使用url how_to_use_url = { "zh_CN": "https://gitee.com/sammusen/BAAH/blob/main/docs/README_cn.md", - "en_US": "https://github.com/sanmusen214/BAAH/blob/main/docs/README_en.md" + "en_US": "https://github.com/sanmusen214/BAAH/blob/main/docs/README_en.md", + "jp_JP": "https://github.com/sanmusen214/BAAH/blob/main/docs/README_en.md" } @ui.refreshable diff --git a/modules/AllTask/GoHome/GoHome.py b/modules/AllTask/GoHome/GoHome.py new file mode 100644 index 00000000..0e912617 --- /dev/null +++ b/modules/AllTask/GoHome/GoHome.py @@ -0,0 +1,23 @@ +from DATA.assets.PageName import PageName +from DATA.assets.ButtonName import ButtonName +from DATA.assets.PopupName import PopupName + +from modules.AllPage.Page import Page +from modules.AllTask.Task import Task + +from modules.utils import go_home, click, swipe, match, page_pic, button_pic, popup_pic, sleep, config, ocr_area +# ===== + +class GoHome(Task): + def __init__(self, name="GoHome" , pre_times = 1, post_times = 10) -> None: + super().__init__(name, pre_times, post_times) + + def pre_condition(self) -> bool: + return True + + + def on_run(self) -> None: + go_home(config.userconfigdict['ACTIVITY_PATH']) + + def post_condition(self) -> bool: + return True \ No newline at end of file diff --git a/modules/AllTask/RestartGame/RestartGame.py b/modules/AllTask/RestartGame/RestartGame.py new file mode 100644 index 00000000..f0f1df9d --- /dev/null +++ b/modules/AllTask/RestartGame/RestartGame.py @@ -0,0 +1,27 @@ +from DATA.assets.PageName import PageName +from DATA.assets.ButtonName import ButtonName +from DATA.assets.PopupName import PopupName + +from modules.AllPage.Page import Page +from modules.AllTask.Task import Task +from modules.AllTask.EnterGame.Loginin import Loginin +from modules.AllTask.EnterGame.CloseInform import CloseInform + +from modules.utils import close_app, click, swipe, match, page_pic, button_pic, popup_pic, sleep, config, ocr_area + +class RestartGame(Task): + def __init__(self, name="RestartGame" , pre_times = 1, post_times = 10) -> None: + super().__init__(name, pre_times, post_times) + + def pre_condition(self) -> bool: + return True + + + def on_run(self) -> None: + close_app(config.userconfigdict['ACTIVITY_PATH']) + Loginin().run() + CloseInform().run() + + + def post_condition(self) -> bool: + return Page.is_page(PageName.PAGE_HOME) \ No newline at end of file diff --git a/modules/AllTask/__init__.py b/modules/AllTask/__init__.py index 4b9a8de4..1d916dee 100644 --- a/modules/AllTask/__init__.py +++ b/modules/AllTask/__init__.py @@ -1,5 +1,7 @@ from .Task import Task +from .RestartGame.RestartGame import RestartGame +from .GoHome.GoHome import GoHome from .EnterGame.EnterGame import EnterGame from .InMomotalk.InMomotalk import InMomotalk from .InCafe.InCafe import InCafe diff --git a/modules/AllTask/myAllTask.py b/modules/AllTask/myAllTask.py index 6a6d81ec..0dd2ad01 100644 --- a/modules/AllTask/myAllTask.py +++ b/modules/AllTask/myAllTask.py @@ -11,6 +11,8 @@ class TaskName(): """ 配置文件里的task任务名称,此类下的属性可作为task标识符 """ + RESTART_GAME = "RestartGame" + GO_HOME = "GoHome" LOGIN_GAME = "登录游戏" MOMOTALK = "清momotalk" CAFE = "咖啡馆" @@ -66,8 +68,19 @@ class TaskInstanceMap: """ def __init__(self): self.taskmap = { - TaskName.LOGIN_GAME: - TaskInstance( + TaskName.RESTART_GAME: TaskInstance( + task_config_name = TaskName.RESTART_GAME, + i18n_key_name = "task_restart_game", + task_module = RestartGame, + task_params = {} + ), + TaskName.GO_HOME: TaskInstance( + task_config_name = TaskName.GO_HOME, + i18n_key_name = "task_go_home", + task_module = GoHome, + task_params = {} + ), + TaskName.LOGIN_GAME: TaskInstance( task_config_name = TaskName.LOGIN_GAME, i18n_key_name = "task_login_game", task_module = Task, # !EnterGame任务现在被config直接控制并添加在taskpool开头,忽略配置文件里的登录游戏任务,为了防止后面解析任务列表实例时缺少key导致exception,这里以空module Task代替 diff --git a/modules/utils/adb_utils.py b/modules/utils/adb_utils.py index 70fe8aaa..2e3270fc 100644 --- a/modules/utils/adb_utils.py +++ b/modules/utils/adb_utils.py @@ -56,6 +56,7 @@ def connect_to_device(use_config=None): if use_config: subprocess_run([get_config_adb_path(use_config), "connect", getNewestSeialNumber(use_config)]) else: + print("get_config_adb_path()", get_config_adb_path(), " getNewestSeialNumber()" , getNewestSeialNumber()) subprocess_run([get_config_adb_path(), "connect", getNewestSeialNumber()]) @@ -124,9 +125,11 @@ def get_now_running_app(use_config=None): 获取当前运行的app的前台activity """ if use_config: - output = subprocess_run([get_config_adb_path(use_config), "-s", getNewestSeialNumber(use_config), 'shell', 'dumpsys', 'window']).stdout + output = subprocess_run([get_config_adb_path(use_config), "-s", getNewestSeialNumber(use_config), 'shell', 'dumpsys', 'activity', 'activities']).stdout + # output = subprocess_run([get_config_adb_path(use_config), "-s", getNewestSeialNumber(use_config), 'shell', 'dumpsys', 'window']).stdout else: - output = subprocess_run([get_config_adb_path(), "-s", getNewestSeialNumber(), 'shell', 'dumpsys', 'window']).stdout + output = subprocess_run([get_config_adb_path(), "-s", getNewestSeialNumber(), 'shell', 'dumpsys', 'activity', 'activities']).stdout + # output = subprocess_run([get_config_adb_path(), "-s", getNewestSeialNumber(), 'shell', 'dumpsys', 'window']).stdout # adb shell "dumpsys window | grep mCurrentFocus" # 有时候启动器排前,应用排后,这里逆序排序 for sentence in output.split("\n")[::-1]: @@ -249,6 +252,22 @@ def get_dpi(use_config=None): # only focus on last line (Physical density, Override density) dpires = subprocess_run([get_config_adb_path(use_config), "-s", getNewestSeialNumber(use_config), "shell", "wm", "density"]).stdout.strip().split("\n")[-1] return dpires + +def close_app(activity_path: str): + """ + close app + """ + appname = activity_path.split("/")[0] + subprocess_run([get_config_adb_path(), "-s", getNewestSeialNumber(), 'shell', 'am', 'force-stop', appname], isasync=True) + time.sleep(1) + +def go_home(activity_path: str): + """ + go home + """ + appname = activity_path.split("/")[0] + subprocess_run([get_config_adb_path(), "-s", getNewestSeialNumber(), 'input', 'keyevent', 'KEYCODE_HOME'], isasync=True) + time.sleep(1) def set_dpi(target_dpi, use_config=None): """ diff --git a/start.sh b/start.sh new file mode 100755 index 00000000..c690d40f --- /dev/null +++ b/start.sh @@ -0,0 +1 @@ +uv run jsoneditor.py --no-show --port=20014 \ No newline at end of file