diff --git a/manualtest/AndroidManifest.xml b/manualtest/AndroidManifest.xml
index da5117a..8e874ed 100644
--- a/manualtest/AndroidManifest.xml
+++ b/manualtest/AndroidManifest.xml
@@ -4,7 +4,7 @@
     package="io.appium.droiddriver.manualtest">
 
     <instrumentation
-        android:name="android.support.test.runner.AndroidJUnitRunner"
+        android:name="androidx.test.runner.AndroidJUnitRunner"
         android:targetPackage="io.appium.droiddriver.manualtest" />
 
     <!-- Needed for Android.mk -->
diff --git a/manualtest/build.gradle b/manualtest/build.gradle
index 22731e4..9eea2d0 100644
--- a/manualtest/build.gradle
+++ b/manualtest/build.gradle
@@ -16,7 +16,7 @@
     defaultConfig {
         minSdkVersion 8
         targetSdkVersion 23
-        testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
+        testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
     }
     sourceSets {
         main {
diff --git a/src/io/appium/droiddriver/runner/MinSdkVersion.java b/src/io/appium/droiddriver/runner/MinSdkVersion.java
index f560ad8..5a25f8b 100644
--- a/src/io/appium/droiddriver/runner/MinSdkVersion.java
+++ b/src/io/appium/droiddriver/runner/MinSdkVersion.java
@@ -29,7 +29,7 @@
  *
  * <p>As any annotations, it is useful only if it is processed by tools.
  *
- * @deprecated Use android.support.test.filters.SdkSuppress instead.
+ * @deprecated Use androidx.test.filters.SdkSuppress instead.
  */
 @Inherited
 @Target({TYPE, METHOD})
diff --git a/src/io/appium/droiddriver/runner/UseUiAutomation.java b/src/io/appium/droiddriver/runner/UseUiAutomation.java
index e710238..52b48cc 100644
--- a/src/io/appium/droiddriver/runner/UseUiAutomation.java
+++ b/src/io/appium/droiddriver/runner/UseUiAutomation.java
@@ -31,7 +31,7 @@
  *
  * <p>As any annotations, it is useful only if it is processed by tools.
  *
- * @deprecated Use android.support.test.filters.SdkSuppress instead.
+ * @deprecated Use androidx.test.filters.SdkSuppress instead.
  */
 @Inherited
 @Target({TYPE, METHOD})
diff --git a/src/io/appium/droiddriver/util/ActivityUtils.java b/src/io/appium/droiddriver/util/ActivityUtils.java
index ff06ab5..7d7ca7d 100644
--- a/src/io/appium/droiddriver/util/ActivityUtils.java
+++ b/src/io/appium/droiddriver/util/ActivityUtils.java
@@ -18,9 +18,11 @@
 
 import android.app.Activity;
 import android.os.Looper;
-import android.support.test.runner.lifecycle.ActivityLifecycleMonitorRegistry;
-import android.support.test.runner.lifecycle.Stage;
 import android.util.Log;
+
+import androidx.test.runner.lifecycle.ActivityLifecycleMonitorRegistry;
+import androidx.test.runner.lifecycle.Stage;
+
 import java.util.Iterator;
 import java.util.concurrent.Callable;
 
diff --git a/src/io/appium/droiddriver/util/InstrumentationUtils.java b/src/io/appium/droiddriver/util/InstrumentationUtils.java
index 06ac5ab..c6f087e 100644
--- a/src/io/appium/droiddriver/util/InstrumentationUtils.java
+++ b/src/io/appium/droiddriver/util/InstrumentationUtils.java
@@ -20,10 +20,13 @@
 import android.content.Context;
 import android.os.Bundle;
 import android.os.Looper;
-import android.support.test.InstrumentationRegistry;
 import android.util.Log;
+
+import androidx.test.InstrumentationRegistry;
+
 import io.appium.droiddriver.exceptions.DroidDriverException;
 import io.appium.droiddriver.exceptions.TimeoutException;
+
 import java.util.concurrent.Callable;
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
@@ -43,7 +46,7 @@
   private static long runOnMainSyncTimeoutMillis;
 
   /**
-   * Initializes this class. If you don't use android.support.test.runner.AndroidJUnitRunner or a
+   * Initializes this class. If you don't use androidx.test.runner.AndroidJUnitRunner or a
    * runner that supports {link InstrumentationRegistry}, you need to call this method
    * appropriately.
    */
@@ -60,7 +63,7 @@
 
   private static synchronized void checkInitialized() {
     if (instrumentation == null) {
-      // Assume android.support.test.runner.InstrumentationRegistry is valid
+      // Assume androidx.test.runner.InstrumentationRegistry is valid
       init(InstrumentationRegistry.getInstrumentation(), InstrumentationRegistry.getArguments());
     }
   }
