@@ -35,7 +35,7 @@ std::vector<AdbDevice> AdbDeviceFinder::find() const
3535 continue ;
3636 }
3737
38- res = find_specified (e.adb_path , e);
38+ res = find_specified (e.adb_path , accurate_serials, e);
3939 for (auto & dev : res) {
4040 if (accurate_serials.count (dev.serial )) {
4141 continue ;
@@ -45,7 +45,7 @@ std::vector<AdbDevice> AdbDeviceFinder::find() const
4545 }
4646
4747 if (auto env_adb = boost::process::search_path (" adb" ); std::filesystem::exists (env_adb)) {
48- auto res = find_specified (env_adb);
48+ auto res = find_specified (env_adb, accurate_serials );
4949 for (auto & dev : res) {
5050 if (accurate_serials.count (dev.serial )) {
5151 continue ;
@@ -58,7 +58,10 @@ std::vector<AdbDevice> AdbDeviceFinder::find() const
5858 return result;
5959}
6060
61- std::vector<AdbDevice> AdbDeviceFinder::find_specified (const std::filesystem::path& adb_path, const Emulator& emulator) const
61+ std::vector<AdbDevice> AdbDeviceFinder::find_specified (
62+ const std::filesystem::path& adb_path,
63+ const std::unordered_set<std::string>& exclude_serials,
64+ const Emulator& emulator) const
6265{
6366 LogFunc << VAR (adb_path);
6467
@@ -67,6 +70,10 @@ std::vector<AdbDevice> AdbDeviceFinder::find_specified(const std::filesystem::pa
6770 auto serials = find_serials_by_adb_command (adb_path);
6871
6972 for (const std::string& ser : serials) {
73+ if (exclude_serials.count (ser)) {
74+ LogInfo << " skip excluded serial" << VAR (ser);
75+ continue ;
76+ }
7077 auto res_opt = try_device (adb_path, ser, emulator);
7178 if (!res_opt) {
7279 continue ;
0 commit comments