diff --git a/Android.bp b/Android.bp
index cba7905..8218881 100644
--- a/Android.bp
+++ b/Android.bp
@@ -40,12 +40,12 @@
     ],
     manifest: "library/src/main/AndroidManifest.xml",
     libs: [
-        "android-support-core-ui",
-        "android-support-compat",
+        "androidx.core_core",
+        "androidx.legacy_legacy-support-core-ui",
         "volley",
     ],
     static_libs: [
-        "android-support-fragment",
+        "androidx.fragment_fragment",
     ],
     sdk_version: "current",
 }
diff --git a/library/src/main/java/com/bumptech/glide/Glide.java b/library/src/main/java/com/bumptech/glide/Glide.java
index 5439a42..b082740 100644
--- a/library/src/main/java/com/bumptech/glide/Glide.java
+++ b/library/src/main/java/com/bumptech/glide/Glide.java
@@ -10,8 +10,8 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.ParcelFileDescriptor;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentActivity;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
 import android.util.Log;
 import android.view.View;
 import android.widget.ImageView;
@@ -576,8 +576,8 @@
      *
      * @see #with(android.app.Activity)
      * @see #with(android.app.Fragment)
-     * @see #with(android.support.v4.app.Fragment)
-     * @see #with(android.support.v4.app.FragmentActivity)
+     * @see #with(androidx.fragment.app.Fragment)
+     * @see #with(androidx.fragment.app.FragmentActivity)
      *
      * @param context Any context, will not be retained.
      * @return A RequestManager for the top level application that can be used to start a load.
@@ -600,8 +600,8 @@
     }
 
     /**
-     * Begin a load with Glide that will tied to the give {@link android.support.v4.app.FragmentActivity}'s lifecycle
-     * and that uses the given {@link android.support.v4.app.FragmentActivity}'s default options.
+     * Begin a load with Glide that will tied to the give {@link androidx.fragment.app.FragmentActivity}'s lifecycle
+     * and that uses the given {@link androidx.fragment.app.FragmentActivity}'s default options.
      *
      * @param activity The activity to use.
      * @return A RequestManager for the given FragmentActivity that can be used to start a load.
@@ -625,8 +625,8 @@
     }
 
     /**
-     * Begin a load with Glide that will be tied to the given {@link android.support.v4.app.Fragment}'s lifecycle and
-     * that uses the given {@link android.support.v4.app.Fragment}'s default options.
+     * Begin a load with Glide that will be tied to the given {@link androidx.fragment.app.Fragment}'s lifecycle and
+     * that uses the given {@link androidx.fragment.app.Fragment}'s default options.
      *
      * @param fragment The fragment to use.
      * @return A RequestManager for the given Fragment that can be used to start a load.
diff --git a/library/src/main/java/com/bumptech/glide/RequestManager.java b/library/src/main/java/com/bumptech/glide/RequestManager.java
index 071a91e..c2453a6 100644
--- a/library/src/main/java/com/bumptech/glide/RequestManager.java
+++ b/library/src/main/java/com/bumptech/glide/RequestManager.java
@@ -34,9 +34,9 @@
  * built in Activity and Fragment lifecycle handling, use the static Glide.load methods with your Fragment or Activity.
  *
  * @see Glide#with(android.app.Activity)
- * @see Glide#with(android.support.v4.app.FragmentActivity)
+ * @see Glide#with(androidx.fragment.app.FragmentActivity)
  * @see Glide#with(android.app.Fragment)
- * @see Glide#with(android.support.v4.app.Fragment)
+ * @see Glide#with(androidx.fragment.app.Fragment)
  * @see Glide#with(Context)
  */
 public class RequestManager implements LifecycleListener {
diff --git a/library/src/main/java/com/bumptech/glide/manager/RequestManagerRetriever.java b/library/src/main/java/com/bumptech/glide/manager/RequestManagerRetriever.java
index 4e98c5f..b50a9c3 100644
--- a/library/src/main/java/com/bumptech/glide/manager/RequestManagerRetriever.java
+++ b/library/src/main/java/com/bumptech/glide/manager/RequestManagerRetriever.java
@@ -9,9 +9,9 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.app.FragmentManager;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
 import android.util.Log;
 
 import com.bumptech.glide.RequestManager;
diff --git a/library/src/main/java/com/bumptech/glide/manager/SupportRequestManagerFragment.java b/library/src/main/java/com/bumptech/glide/manager/SupportRequestManagerFragment.java
index 64846c0..881adc9 100644
--- a/library/src/main/java/com/bumptech/glide/manager/SupportRequestManagerFragment.java
+++ b/library/src/main/java/com/bumptech/glide/manager/SupportRequestManagerFragment.java
@@ -1,12 +1,12 @@
 package com.bumptech.glide.manager;
 
 import android.annotation.SuppressLint;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
 
 import com.bumptech.glide.RequestManager;
 
 /**
- * A view-less {@link android.support.v4.app.Fragment} used to safely store an
+ * A view-less {@link androidx.fragment.app.Fragment} used to safely store an
  * {@link com.bumptech.glide.RequestManager} that can be used to start, stop and manage Glide requests started for
  * targets within the fragment or activity this fragment is a child of.
  *
