diff --git a/build/Android.bp b/build/Android.bp
index 499d9b9..e30eed6 100644
--- a/build/Android.bp
+++ b/build/Android.bp
@@ -23,12 +23,14 @@
     "performance-for-range-copy",
     "performance-unnecessary-copy-initialization",
     "performance-unnecessary-value-param",
+    "misc-unused-using-decls",
 ]
 // Should be: strings.Join(art_clang_tidy_errors, ",").
 art_clang_tidy_errors_str = "bugprone-unused-raii"
         + ",performance-for-range-copy"
         + ",performance-unnecessary-copy-initialization"
         + ",performance-unnecessary-value-param"
+        + ",misc-unused-using-decls"
 
 art_clang_tidy_disabled = [
     "-google-default-arguments",
diff --git a/compiler/optimizing/code_generator_arm64.cc b/compiler/optimizing/code_generator_arm64.cc
index e2ca515..760b1dd 100644
--- a/compiler/optimizing/code_generator_arm64.cc
+++ b/compiler/optimizing/code_generator_arm64.cc
@@ -64,7 +64,6 @@
 using helpers::FPRegisterFrom;
 using helpers::HeapOperand;
 using helpers::HeapOperandFrom;
-using helpers::InputCPURegisterAt;
 using helpers::InputCPURegisterOrZeroRegAt;
 using helpers::InputFPRegisterAt;
 using helpers::InputOperandAt;
@@ -78,7 +77,6 @@
 using helpers::OutputRegister;
 using helpers::QRegisterFrom;
 using helpers::RegisterFrom;
-using helpers::SRegisterFrom;
 using helpers::StackOperandFrom;
 using helpers::VIXLRegCodeFromART;
 using helpers::WRegisterFrom;
diff --git a/compiler/optimizing/code_generator_arm_vixl.cc b/compiler/optimizing/code_generator_arm_vixl.cc
index 5ae64dd..6d6d1a2 100644
--- a/compiler/optimizing/code_generator_arm_vixl.cc
+++ b/compiler/optimizing/code_generator_arm_vixl.cc
@@ -48,7 +48,6 @@
 
 using helpers::DRegisterFrom;
 using helpers::DWARFReg;
-using helpers::HighDRegisterFrom;
 using helpers::HighRegisterFrom;
 using helpers::InputDRegisterAt;
 using helpers::InputOperandAt;
diff --git a/compiler/optimizing/intrinsics_arm_vixl.cc b/compiler/optimizing/intrinsics_arm_vixl.cc
index f11e5a1..2963308 100644
--- a/compiler/optimizing/intrinsics_arm_vixl.cc
+++ b/compiler/optimizing/intrinsics_arm_vixl.cc
@@ -41,19 +41,15 @@
 using helpers::InputDRegisterAt;
 using helpers::InputRegisterAt;
 using helpers::InputSRegisterAt;
-using helpers::InputVRegisterAt;
 using helpers::Int32ConstantFrom;
 using helpers::LocationFrom;
 using helpers::LowRegisterFrom;
 using helpers::LowSRegisterFrom;
 using helpers::HighSRegisterFrom;
 using helpers::OutputDRegister;
-using helpers::OutputSRegister;
 using helpers::OutputRegister;
-using helpers::OutputVRegister;
 using helpers::RegisterFrom;
 using helpers::SRegisterFrom;
-using helpers::DRegisterFromS;
 
 using namespace vixl::aarch32;  // NOLINT(build/namespaces)
 
diff --git a/compiler/optimizing/optimizing_cfi_test.cc b/compiler/optimizing/optimizing_cfi_test.cc
index 1c1cf28..04301f5 100644
--- a/compiler/optimizing/optimizing_cfi_test.cc
+++ b/compiler/optimizing/optimizing_cfi_test.cc
@@ -34,8 +34,6 @@
 
 namespace vixl32 = vixl::aarch32;
 
-using vixl32::r0;
-
 namespace art {
 
 // Run the tests only on host.
@@ -194,6 +192,7 @@
 
 #ifdef ART_ENABLE_CODEGEN_arm
 TEST_F(OptimizingCFITest, kThumb2Adjust) {
+  using vixl32::r0;
   std::vector<uint8_t> expected_asm(
       expected_asm_kThumb2_adjust,
       expected_asm_kThumb2_adjust + arraysize(expected_asm_kThumb2_adjust));
diff --git a/compiler/utils/arm/assembler_arm_vixl.cc b/compiler/utils/arm/assembler_arm_vixl.cc
index 05250a4..ebb631e 100644
--- a/compiler/utils/arm/assembler_arm_vixl.cc
+++ b/compiler/utils/arm/assembler_arm_vixl.cc
@@ -26,9 +26,6 @@
 
 using namespace vixl::aarch32;  // NOLINT(build/namespaces)
 
-using vixl::ExactAssemblyScope;
-using vixl::CodeBufferCheckScope;
-
 namespace art {
 namespace arm {
 
diff --git a/libartbase/base/file_utils.cc b/libartbase/base/file_utils.cc
index 56934ac..a63f326 100644
--- a/libartbase/base/file_utils.cc
+++ b/libartbase/base/file_utils.cc
@@ -60,7 +60,6 @@
 
 namespace art {
 
-using android::base::StringAppendF;
 using android::base::StringPrintf;
 
 static constexpr const char* kClassesDex = "classes.dex";
diff --git a/libartbase/base/utils.cc b/libartbase/base/utils.cc
index b7a542f..761c611 100644
--- a/libartbase/base/utils.cc
+++ b/libartbase/base/utils.cc
@@ -45,7 +45,6 @@
 namespace art {
 
 using android::base::ReadFileToString;
-using android::base::StringAppendF;
 using android::base::StringPrintf;
 
 pid_t GetTid() {
diff --git a/libdexfile/dex/descriptors_names.cc b/libdexfile/dex/descriptors_names.cc
index e338b55..206f7a0 100644
--- a/libdexfile/dex/descriptors_names.cc
+++ b/libdexfile/dex/descriptors_names.cc
@@ -24,7 +24,6 @@
 namespace art {
 
 using android::base::StringAppendF;
-using android::base::StringPrintf;
 
 void AppendPrettyDescriptor(const char* descriptor, std::string* result) {
   // Count the number of '['s to get the dimensionality.
diff --git a/libdexfile/dex/utf.cc b/libdexfile/dex/utf.cc
index 772a610..d09da73 100644
--- a/libdexfile/dex/utf.cc
+++ b/libdexfile/dex/utf.cc
@@ -26,7 +26,6 @@
 namespace art {
 
 using android::base::StringAppendF;
-using android::base::StringPrintf;
 
 // This is used only from debugger and test code.
 size_t CountModifiedUtf8Chars(const char* utf8) {
diff --git a/openjdkjvm/OpenjdkJvm.cc b/openjdkjvm/OpenjdkJvm.cc
index 765225a..df002b6 100644
--- a/openjdkjvm/OpenjdkJvm.cc
+++ b/openjdkjvm/OpenjdkJvm.cc
@@ -65,11 +65,6 @@
 #undef LOG_TAG
 #define LOG_TAG "artopenjdk"
 
-using ::android::base::WARNING;
-using ::android::base::INFO;
-using ::android::base::ERROR;
-using ::android::base::FATAL;
-
 /* posix open() with extensions; used by e.g. ZipFile */
 JNIEXPORT jint JVM_Open(const char* fname, jint flags, jint mode) {
     /*
diff --git a/runtime/arch/instruction_set_features_test.cc b/runtime/arch/instruction_set_features_test.cc
index 1e3275c..3a39a2a 100644
--- a/runtime/arch/instruction_set_features_test.cc
+++ b/runtime/arch/instruction_set_features_test.cc
@@ -27,9 +27,10 @@
 
 namespace art {
 
+#ifdef ART_TARGET_ANDROID
+
 using android::base::StringPrintf;
 
-#ifdef ART_TARGET_ANDROID
 #if defined(__aarch64__)
 TEST(InstructionSetFeaturesTest, DISABLED_FeaturesFromSystemPropertyVariant) {
   LOG(WARNING) << "Test disabled due to no CPP define for A53 erratum 835769";
