diff --git a/common/libs/strings/Android.bp b/common/libs/strings/Android.bp
deleted file mode 100644
index fcc6784..0000000
--- a/common/libs/strings/Android.bp
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// Copyright (C) 2018 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-cc_library {
-    name: "libcuttlefish_strings",
-    srcs: [
-        "str_split.cpp",
-    ],
-    shared: {
-        shared_libs: [
-            "libbase",
-        ],
-    },
-    static: {
-        static_libs: [
-            "libbase",
-        ],
-    },
-    defaults: ["cuttlefish_host_and_guest"],
-}
diff --git a/common/libs/strings/str_split.cpp b/common/libs/strings/str_split.cpp
deleted file mode 100644
index d76acad..0000000
--- a/common/libs/strings/str_split.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "common/libs/strings/str_split.h"
-
-#include <vector>
-#include <string>
-#include <sstream>
-
-std::vector<std::string> cvd::StrSplit(const std::string& src, char delimiter) {
-  std::istringstream stream{src};
-  std::vector<std::string> result;
-  for (std::string s; std::getline(stream, s, delimiter); s.clear()) {
-    result.push_back(std::move(s));
-  }
-  return result;
-}
diff --git a/common/libs/strings/str_split.h b/common/libs/strings/str_split.h
deleted file mode 100644
index cd18d15..0000000
--- a/common/libs/strings/str_split.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef CUTTLEFISH_COMMON_COMMON_LIBS_STRINGS_STR_SPLIT_H_
-#define CUTTLEFISH_COMMON_COMMON_LIBS_STRINGS_STR_SPLIT_H_
-
-#include <vector>
-#include <string>
-
-namespace cvd {
-std::vector<std::string> StrSplit(const std::string& src, char delimiter);
-}  // namespace cvd
-
-#endif
diff --git a/host/frontend/adb_connector/main.cpp b/host/frontend/adb_connector/main.cpp
index 93a929d..3d3d824 100644
--- a/host/frontend/adb_connector/main.cpp
+++ b/host/frontend/adb_connector/main.cpp
@@ -28,7 +28,6 @@
 #include <host/commands/kernel_log_monitor/kernel_log_server.h>
 
 #include "common/libs/fs/shared_fd.h"
-#include "common/libs/strings/str_split.h"
 #include "host/libs/config/cuttlefish_config.h"
 #include "host/libs/adb_connection_maintainer/adb_connection_maintainer.h"
 
