From cb6b057f92de58e5d4dabd8b014f57e5d8d7ff06 Mon Sep 17 00:00:00 2001 From: MistEO Date: Mon, 7 Nov 2022 01:10:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90minitouch=E7=9A=84pus?= =?UTF-8?q?h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resource/minitouch/arm64-v8a/minitouch | Bin 0 -> 34736 bytes .../resource/minitouch/armeabi-v7a/minitouch | Bin 0 -> 34320 bytes 3rdparty/resource/minitouch/armeabi/minitouch | Bin 0 -> 34316 bytes 3rdparty/resource/minitouch/x86/minitouch | Bin 0 -> 34260 bytes 3rdparty/resource/minitouch/x86_64/minitouch | Bin 0 -> 39016 bytes resource/config.json | 40 ++++++++++++++---- src/MeoAssistant/Controller.cpp | 19 ++++++++- src/MeoAssistant/Controller.h | 8 ++++ src/MeoAssistant/Resource/GeneralConfiger.cpp | 4 +- src/MeoAssistant/Resource/GeneralConfiger.h | 3 ++ src/MeoAssistant/ResourceLoader.cpp | 5 +++ 11 files changed, 69 insertions(+), 10 deletions(-) create mode 100644 3rdparty/resource/minitouch/arm64-v8a/minitouch create mode 100644 3rdparty/resource/minitouch/armeabi-v7a/minitouch create mode 100644 3rdparty/resource/minitouch/armeabi/minitouch create mode 100644 3rdparty/resource/minitouch/x86/minitouch create mode 100644 3rdparty/resource/minitouch/x86_64/minitouch diff --git a/3rdparty/resource/minitouch/arm64-v8a/minitouch b/3rdparty/resource/minitouch/arm64-v8a/minitouch new file mode 100644 index 0000000000000000000000000000000000000000..33301cfe35e58738737d2cb4a2c86cc315f8d064 GIT binary patch literal 34736 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 SV=uFNUoVU7Lyd8nc*!d0^yzO3}}b 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 literal 0 HcmV?d00001 diff --git a/3rdparty/resource/minitouch/armeabi/minitouch b/3rdparty/resource/minitouch/armeabi/minitouch new file mode 100644 index 0000000000000000000000000000000000000000..7c45952ed8cf00409d2d17c2cd8759f9a7c14937 GIT binary patch literal 34316 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/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"" + "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"", + "pushMinitouch": "[Adb] -s [AdbSerial] push \"[minitouchLocalPath]\" \"/data/local/tmp/[minitouchWorkingFile]\"", + "chmodMinitouch": "[Adb] -s [AdbSerial] shell chmod 700 \"/data/local/tmp/[minitouchWorkingFile]\"", + "callMinitouch": "[Adb] -s [AdbSerial] shell \"/data/local/tmp/[minitouchWorkingFile]\" [minitouchInput]" }, "BlueStacks": { "devices": "[Adb] devices", @@ -73,7 +76,10 @@ "screencapEncode": "[Adb] -s [AdbSerial] exec-out screencap -p", "release": "[Adb] kill-server", "start": "[Adb] -s [AdbSerial] shell am start -n [Intent]", - "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"" + "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"", + "pushMinitouch": "[Adb] -s [AdbSerial] push \"[minitouchLocalPath]\" \"/data/local/tmp/[minitouchWorkingFile]\"", + "chmodMinitouch": "[Adb] -s [AdbSerial] shell chmod 700 \"/data/local/tmp/[minitouchWorkingFile]\"", + "callMinitouch": "[Adb] -s [AdbSerial] shell \"/data/local/tmp/[minitouchWorkingFile]\" [minitouchInput]" }, "MuMuEmulator": { "devices": "[Adb] devices", @@ -91,7 +97,10 @@ "screencapEncode": "[Adb] -s [AdbSerial] exec-out screencap -p", "release": "[Adb] kill-server", "start": "[Adb] -s [AdbSerial] shell am start -n [Intent]", - "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"" + "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"", + "pushMinitouch": "[Adb] -s [AdbSerial] push \"[minitouchLocalPath]\" \"/data/local/tmp/[minitouchWorkingFile]\"", + "chmodMinitouch": "[Adb] -s [AdbSerial] shell chmod 700 \"/data/local/tmp/[minitouchWorkingFile]\"", + "callMinitouch": "[Adb] -s [AdbSerial] shell \"/data/local/tmp/[minitouchWorkingFile]\" [minitouchInput]" }, "LDPlayer": { "devices": "[Adb] devices", @@ -109,7 +118,10 @@ "screencapEncode": "[Adb] -s [AdbSerial] shell screencap -p", "release": "[Adb] kill-server", "start": "[Adb] -s [AdbSerial] shell am start -n [Intent]", - "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"" + "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"", + "pushMinitouch": "[Adb] -s [AdbSerial] push \"[minitouchLocalPath]\" \"/data/local/tmp/[minitouchWorkingFile]\"", + "chmodMinitouch": "[Adb] -s [AdbSerial] shell chmod 700 \"/data/local/tmp/[minitouchWorkingFile]\"", + "callMinitouch": "[Adb] -s [AdbSerial] shell \"/data/local/tmp/[minitouchWorkingFile]\" [minitouchInput]" }, "Nox": { "devices": "[Adb] devices", @@ -127,7 +139,10 @@ "screencapEncode": "[Adb] -s [AdbSerial] exec-out screencap -p", "release": "[Adb] kill-server", "start": "[Adb] -s [AdbSerial] shell am start -n [Intent]", - "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"" + "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"", + "pushMinitouch": "[Adb] -s [AdbSerial] push \"[minitouchLocalPath]\" \"/data/local/tmp/[minitouchWorkingFile]\"", + "chmodMinitouch": "[Adb] -s [AdbSerial] shell chmod 700 \"/data/local/tmp/[minitouchWorkingFile]\"", + "callMinitouch": "[Adb] -s [AdbSerial] shell \"/data/local/tmp/[minitouchWorkingFile]\" [minitouchInput]" }, "XYAZ": { "devices": "[Adb] devices", @@ -145,7 +160,10 @@ "screencapEncode": "[Adb] -s [AdbSerial] shell screencap -p", "release": "[Adb] kill-server", "start": "[Adb] -s [AdbSerial] shell am start -n [Intent]", - "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"" + "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"", + "pushMinitouch": "[Adb] -s [AdbSerial] push \"[minitouchLocalPath]\" \"/data/local/tmp/[minitouchWorkingFile]\"", + "chmodMinitouch": "[Adb] -s [AdbSerial] shell chmod 700 \"/data/local/tmp/[minitouchWorkingFile]\"", + "callMinitouch": "[Adb] -s [AdbSerial] shell \"/data/local/tmp/[minitouchWorkingFile]\" [minitouchInput]" }, "WSA": { "devices": "[Adb] devices", @@ -164,7 +182,10 @@ "screencapEncode": "[Adb] -s [AdbSerial] shell screencap -d [DisplayId] -p", "release": "[Adb] kill-server", "start": "[Adb] -s [AdbSerial] shell am start -n [Intent]", - "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"" + "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"", + "pushMinitouch": "[Adb] -s [AdbSerial] push \"[minitouchLocalPath]\" \"/data/local/tmp/[minitouchWorkingFile]\"", + "chmodMinitouch": "[Adb] -s [AdbSerial] shell chmod 700 \"/data/local/tmp/[minitouchWorkingFile]\"", + "callMinitouch": "[Adb] -s [AdbSerial] shell \"/data/local/tmp/[minitouchWorkingFile]\" [minitouchInput]" }, "Compatible": { "devices": "[Adb] devices", @@ -182,7 +203,10 @@ "screencapEncode": "[Adb] -s [AdbSerial] exec-out screencap -p", "release": "[Adb] kill-server", "start": "[Adb] -s [AdbSerial] shell am start -n [Intent]", - "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"" + "stop": "[Adb] -s [AdbSerial] shell \"am force-stop `dumpsys activity activities 2>/dev/null | grep Activities= 2>/dev/null | grep -m 1 -i -o -E [^\\ ]*arknights[^/]*`\"", + "pushMinitouch": "[Adb] -s [AdbSerial] push \"[minitouchLocalPath]\" \"/data/local/tmp/[minitouchWorkingFile]\"", + "chmodMinitouch": "[Adb] -s [AdbSerial] shell chmod 700 \"/data/local/tmp/[minitouchWorkingFile]\"", + "callMinitouch": "[Adb] -s [AdbSerial] shell \"/data/local/tmp/[minitouchWorkingFile]\" [minitouchInput]" } } } diff --git a/src/MeoAssistant/Controller.cpp b/src/MeoAssistant/Controller.cpp index b072256350..81feeceb8c 100644 --- a/src/MeoAssistant/Controller.cpp +++ b/src/MeoAssistant/Controller.cpp @@ -997,7 +997,7 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a } auto& uuid_str = uuid_ret.value(); - std::erase(uuid_str, ' '); + std::erase_if(uuid_str, [](char c) { return !std::isdigit(c) && !std::isalpha(c); }); m_uuid = std::move(uuid_str); json::value info = get_info_json() | json::object { @@ -1166,6 +1166,23 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a return false; } + if (m_enable_minitouch) { + auto minitouch_cmd_rep = [&](const std::string& cfg_cmd) -> std::string { + return utils::string_replace_all( + cmd_replace(cfg_cmd), + { + // TODO: 用 adb shell getprop ro.product.cpu.abilist 来判断该用哪个文件夹里的 + { "[minitouchLocalPath]", (m_resource_path / "minitouch" / "armeabi-v7a" / "minitouch").string() }, + { "[minitouchWorkingFile]", m_uuid }, + }); + }; + + call_command(minitouch_cmd_rep(adb_cfg.push_minitouch)); + call_command(minitouch_cmd_rep(adb_cfg.chmod_minitouch)); + + m_adb.call_minitouch = minitouch_cmd_rep(adb_cfg.push_minitouch); + } + // try to find the fastest way if (!screencap()) { Log.error("Cannot find a proper way to screencap!"); diff --git a/src/MeoAssistant/Controller.h b/src/MeoAssistant/Controller.h index f1d0b5a4e6..7a29e57af0 100644 --- a/src/MeoAssistant/Controller.h +++ b/src/MeoAssistant/Controller.h @@ -12,6 +12,7 @@ #include #include +#include #include #include #include @@ -40,6 +41,7 @@ namespace asst bool connect(const std::string& adb_path, const std::string& address, const std::string& config); bool inited() const noexcept; void set_exit_flag(bool* flag); + inline static void set_resource_path(const std::filesystem::path& path) { m_resource_path = path; } const std::string& get_uuid() const; cv::Mat get_image(bool raw = false); @@ -133,6 +135,8 @@ namespace asst std::string start; std::string stop; + std::string call_minitouch; + /* properties */ enum class ScreencapEndOfLine { @@ -152,6 +156,10 @@ namespace asst } screencap_method = ScreencapMethod::UnknownYet; } m_adb; + bool m_enable_minitouch = true; + + inline static std::filesystem::path m_resource_path; + std::string m_uuid; inline static std::string m_adb_release; // 开了 adb daemon,但是没连上模拟器的时候, // m_adb 并不会存下 release 的命令,但最后仍然需要一次释放。 diff --git a/src/MeoAssistant/Resource/GeneralConfiger.cpp b/src/MeoAssistant/Resource/GeneralConfiger.cpp index 19c720992e..2367c41a54 100644 --- a/src/MeoAssistant/Resource/GeneralConfiger.cpp +++ b/src/MeoAssistant/Resource/GeneralConfiger.cpp @@ -46,7 +46,9 @@ bool asst::GeneralConfiger::parse(const json::value& json) adb.release = cfg_json.at("release").as_string(); adb.start = cfg_json.at("start").as_string(); adb.stop = cfg_json.at("stop").as_string(); - // adb.pullscreen = cfg_json.at("pullscreen").as_string(); + adb.push_minitouch = cfg_json.at("pushMinitouch").as_string(); + adb.chmod_minitouch = cfg_json.at("chmodMinitouch").as_string(); + adb.call_minitouch = cfg_json.at("callMinitouch").as_string(); m_adb_cfg[name] = std::move(adb); } diff --git a/src/MeoAssistant/Resource/GeneralConfiger.h b/src/MeoAssistant/Resource/GeneralConfiger.h index dcbae06624..cd7bf390e7 100644 --- a/src/MeoAssistant/Resource/GeneralConfiger.h +++ b/src/MeoAssistant/Resource/GeneralConfiger.h @@ -68,6 +68,9 @@ namespace asst std::string release; std::string start; std::string stop; + std::string push_minitouch; + std::string chmod_minitouch; + std::string call_minitouch; }; class GeneralConfiger final : public SingletonHolder, public AbstractConfiger diff --git a/src/MeoAssistant/ResourceLoader.cpp b/src/MeoAssistant/ResourceLoader.cpp index 8704fedc37..d6d0eee27f 100644 --- a/src/MeoAssistant/ResourceLoader.cpp +++ b/src/MeoAssistant/ResourceLoader.cpp @@ -4,6 +4,7 @@ #include "Utils/Logger.hpp" +#include "Controller.h" #include "Resource/BattleDataConfiger.h" #include "Resource/CopilotConfiger.h" #include "Resource/GeneralConfiger.h" @@ -67,6 +68,10 @@ bool asst::ResourceLoader::load(const std::filesystem::path& path) LoadResourceAndCheckRet(WordOcr, "PaddleOCR"_p); LoadResourceAndCheckRet(CharOcr, "PaddleCharOCR"_p); + if (!m_loaded) { + Controller::set_resource_path(path); + } + m_loaded = true; #undef LoadTemplByConfigerAndCheckRet