[go: nahoru, domu]

Remove usage of legacy multidex

AndroidX has the default minSdkVersion 21 which means we no longer
need to use legacy multidex. This change removes all of the usages
as it is natively supported on Android API 21+

Test: None
Change-Id: Ia5d0d1259ef640586c790413c1ad23e2db3206b5
Merged-In: Ia5d0d1259ef640586c790413c1ad23e2db3206b5
diff --git a/activity/activity/build.gradle b/activity/activity/build.gradle
index faad5d3..1cd39fb 100644
--- a/activity/activity/build.gradle
+++ b/activity/activity/build.gradle
@@ -15,9 +15,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.activity"
 }
 
@@ -45,7 +42,6 @@
     androidTestImplementation(libs.testRunner)
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(project(":internal-testutils-runtime"), {
         exclude group: "androidx.activity", module: "activity"
     })
diff --git a/activity/activity/src/androidTest/java/androidx/activity/LeakCanaryApp.kt b/activity/activity/src/androidTest/java/androidx/activity/LeakCanaryApp.kt
index c73d9f93..69d82b7 100644
--- a/activity/activity/src/androidTest/java/androidx/activity/LeakCanaryApp.kt
+++ b/activity/activity/src/androidTest/java/androidx/activity/LeakCanaryApp.kt
@@ -16,12 +16,12 @@
 
 package androidx.activity
 
-import androidx.multidex.MultiDexApplication
+import android.app.Application
 import leakcanary.LeakCanary
 import shark.AndroidReferenceMatchers
 import shark.ReferenceMatcher
 
-class LeakCanaryApp : MultiDexApplication() {
+class LeakCanaryApp : Application() {
     override fun onCreate() {
         super.onCreate()
         @Suppress("UNCHECKED_CAST")
diff --git a/appcompat/appcompat-resources/build.gradle b/appcompat/appcompat-resources/build.gradle
index f9117cb..50d8950 100644
--- a/appcompat/appcompat-resources/build.gradle
+++ b/appcompat/appcompat-resources/build.gradle
@@ -48,14 +48,12 @@
     androidTestImplementation(project(":internal-testutils-runtime"), {
         exclude group: "androidx.appcompat", module: "appcompat-resources"
     })
-    androidTestImplementation(libs.multidex)
 }
 
 android {
     defaultConfig {
         // This disables the builds tools automatic vector -> PNG generation
         generatedDensities = []
-        multiDexEnabled = true
     }
 
     aaptOptions {
diff --git a/appcompat/appcompat/build.gradle b/appcompat/appcompat/build.gradle
index 2e18a39..aa6cbc1 100644
--- a/appcompat/appcompat/build.gradle
+++ b/appcompat/appcompat/build.gradle
@@ -63,7 +63,6 @@
         exclude group: "androidx.appcompat", module: "appcompat"
         exclude group: "androidx.core", module: "core"
     })
-    androidTestImplementation(libs.multidex)
 
     testImplementation(libs.kotlinStdlib)
     testImplementation(libs.testCore)
@@ -77,7 +76,6 @@
     defaultConfig {
         // This disables the builds tools automatic vector -> PNG generation
         generatedDensities = []
-        multiDexEnabled = true
     }
 
     sourceSets {
diff --git a/appcompat/appcompat/src/androidTest/AndroidManifest.xml b/appcompat/appcompat/src/androidTest/AndroidManifest.xml
index 71c9ecf..7f44469 100644
--- a/appcompat/appcompat/src/androidTest/AndroidManifest.xml
+++ b/appcompat/appcompat/src/androidTest/AndroidManifest.xml
@@ -21,7 +21,6 @@
         tools:overrideLibrary="android_libs.ub_uiautomator, androidx.test.uiautomator" />
 
     <application
-        android:name="androidx.multidex.MultiDexApplication"
         android:supportsRtl="true"
         android:theme="@style/Theme.AppCompat">
 
diff --git a/appsearch/appsearch-builtin-types/build.gradle b/appsearch/appsearch-builtin-types/build.gradle
index 2af9801..d709547 100644
--- a/appsearch/appsearch-builtin-types/build.gradle
+++ b/appsearch/appsearch-builtin-types/build.gradle
@@ -37,13 +37,11 @@
     androidTestImplementation project(':appsearch:appsearch')
     androidTestImplementation project(':appsearch:appsearch-local-storage')
     androidTestImplementation project(':appsearch:appsearch-test-util')
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRunner)
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.junit)
 }
 
@@ -60,8 +58,4 @@
 
 android {
     namespace "androidx.appsearch.builtintypes"
-
-    defaultConfig {
-        multiDexEnabled true
-    }
 }
diff --git a/appsearch/appsearch-debug-view/build.gradle b/appsearch/appsearch-debug-view/build.gradle
index a16fc5d..5d774b7 100644
--- a/appsearch/appsearch-debug-view/build.gradle
+++ b/appsearch/appsearch-debug-view/build.gradle
@@ -29,9 +29,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.appsearch.debugview"
 }
 
@@ -47,7 +44,6 @@
     implementation('com.google.android.material:material:1.0.0')
     implementation(libs.constraintLayout)
     implementation(libs.guavaAndroid)
-    androidTestImplementation(libs.multidex)
 }
 
 androidx {
diff --git a/appsearch/appsearch-debug-view/samples/build.gradle b/appsearch/appsearch-debug-view/samples/build.gradle
index 9b9f3f5..25b9618 100644
--- a/appsearch/appsearch-debug-view/samples/build.gradle
+++ b/appsearch/appsearch-debug-view/samples/build.gradle
@@ -29,9 +29,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.appsearch.debugview.samples"
 }
 
@@ -40,7 +37,6 @@
 
     api('androidx.annotation:annotation:1.1.0')
 
-    implementation(libs.multidex)
     implementation project(':appsearch:appsearch')
     implementation project(':appsearch:appsearch-local-storage')
     implementation project(':appsearch:appsearch-debug-view')
diff --git a/appsearch/appsearch-ktx/build.gradle b/appsearch/appsearch-ktx/build.gradle
index e771a6d..4196a33 100644
--- a/appsearch/appsearch-ktx/build.gradle
+++ b/appsearch/appsearch-ktx/build.gradle
@@ -37,7 +37,6 @@
     androidTestImplementation project(':appsearch:appsearch')
     androidTestImplementation project(':appsearch:appsearch-local-storage')
     androidTestImplementation project(':appsearch:appsearch-test-util')
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.truth)
@@ -53,8 +52,4 @@
 
 android {
     namespace "androidx.appsearch.ktx"
-
-    defaultConfig {
-        multiDexEnabled true
-    }
 }
diff --git a/appsearch/appsearch-local-storage/build.gradle b/appsearch/appsearch-local-storage/build.gradle
index 66993ac..7c2ab0f 100644
--- a/appsearch/appsearch-local-storage/build.gradle
+++ b/appsearch/appsearch-local-storage/build.gradle
@@ -55,7 +55,6 @@
                 targets "icing"
             }
         }
-        multiDexEnabled true
     }
     externalNativeBuild {
         cmake {
@@ -88,7 +87,6 @@
     implementation("androidx.core:core:1.6.0")
 
     androidTestImplementation project(':appsearch:appsearch-test-util')
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.truth)
diff --git a/appsearch/appsearch-test-util/build.gradle b/appsearch/appsearch-test-util/build.gradle
index 7022e83..98e2ce4 100644
--- a/appsearch/appsearch-test-util/build.gradle
+++ b/appsearch/appsearch-test-util/build.gradle
@@ -28,7 +28,6 @@
     implementation('androidx.collection:collection:1.1.0')
     implementation(libs.truth)
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.truth)
@@ -44,8 +43,4 @@
 
 android {
     namespace "androidx.appsearch.testutil"
-
-    defaultConfig {
-        multiDexEnabled true
-    }
 }
diff --git a/appsearch/appsearch/build.gradle b/appsearch/appsearch/build.gradle
index 0aa30ef..8d67baa 100644
--- a/appsearch/appsearch/build.gradle
+++ b/appsearch/appsearch/build.gradle
@@ -29,9 +29,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
@@ -65,7 +62,6 @@
     // This dependency is unused by the test implementation, but it's here to validate that
     // icing's jarjar'ing of the Protobuf_lite doesn't conflict with external dependencies.
     androidTestImplementation(libs.protobufLite)
-    androidTestImplementation(libs.multidex)
 }
 
 androidx {
diff --git a/benchmark/benchmark-macro-junit4/build.gradle b/benchmark/benchmark-macro-junit4/build.gradle
index 849e4e8..489cd84 100644
--- a/benchmark/benchmark-macro-junit4/build.gradle
+++ b/benchmark/benchmark-macro-junit4/build.gradle
@@ -33,7 +33,6 @@
 android {
     defaultConfig {
         minSdkVersion 23
-        multiDexEnabled true
     }
     namespace "androidx.benchmark.macro.junit4"
 }
diff --git a/biometric/biometric/build.gradle b/biometric/biometric/build.gradle
index 1a3dfdc..c7b5373 100644
--- a/biometric/biometric/build.gradle
+++ b/biometric/biometric/build.gradle
@@ -28,12 +28,6 @@
     id("com.android.library")
 }
 
-android {
-    defaultConfig {
-        multiDexEnabled true
-    }
-}
-
 dependencies {
     // Public API dependencies
     api("androidx.annotation:annotation:1.6.0")
@@ -62,7 +56,6 @@
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy)
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy)
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation("androidx.fragment:fragment-testing:1.4.1")
 }
 
diff --git a/camera/camera-camera2-pipe-integration/build.gradle b/camera/camera-camera2-pipe-integration/build.gradle
index dc3e288..44442f2 100644
--- a/camera/camera-camera2-pipe-integration/build.gradle
+++ b/camera/camera-camera2-pipe-integration/build.gradle
@@ -66,7 +66,6 @@
     testImplementation("androidx.lifecycle:lifecycle-runtime-testing:2.3.1")
     testImplementation(project(":camera:camera-video"))
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.testRunner)
@@ -86,9 +85,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     lintOptions {
         enable 'CameraXQuirksClassDetector'
     }
diff --git a/camera/camera-camera2/build.gradle b/camera/camera-camera2/build.gradle
index fdea246..04ce49c 100644
--- a/camera/camera-camera2/build.gradle
+++ b/camera/camera-camera2/build.gradle
@@ -56,7 +56,6 @@
     testImplementation(libs.junit) // Needed for Assert.assertThrows
     testImplementation("org.codehaus.plexus:plexus-utils:3.4.1")
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRunner)
@@ -80,10 +79,6 @@
     androidTestImplementation("androidx.test.espresso:espresso-core:3.3.0")
 }
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
-
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
diff --git a/camera/camera-core/build.gradle b/camera/camera-core/build.gradle
index 5610643..de6ce16 100644
--- a/camera/camera-core/build.gradle
+++ b/camera/camera-core/build.gradle
@@ -65,7 +65,6 @@
     testImplementation(project(":camera:camera-lifecycle"))
     testImplementation("androidx.exifinterface:exifinterface:1.3.2")
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRunner)
@@ -85,7 +84,6 @@
 
 android {
     defaultConfig {
-        multiDexEnabled = true
         externalNativeBuild {
             def versionScript = file("src/main/cpp/jni.lds").getAbsolutePath()
             cmake {
diff --git a/camera/camera-effects-still-portrait/build.gradle b/camera/camera-effects-still-portrait/build.gradle
index 4e659a7..2e9f9d0 100644
--- a/camera/camera-effects-still-portrait/build.gradle
+++ b/camera/camera-effects-still-portrait/build.gradle
@@ -25,9 +25,6 @@
     api(project(":camera:camera-core"))
 }
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     testOptions.unitTests.includeAndroidResources = true
     namespace "androidx.camera.effects.stillportrait"
 }
diff --git a/camera/camera-effects/build.gradle b/camera/camera-effects/build.gradle
index d55eea5..5eae11a 100644
--- a/camera/camera-effects/build.gradle
+++ b/camera/camera-effects/build.gradle
@@ -34,7 +34,6 @@
     testImplementation(libs.testRules)
     testImplementation(libs.testCore)
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRunner)
@@ -49,9 +48,6 @@
     androidTestImplementation("androidx.concurrent:concurrent-futures-ktx:1.1.0")
 }
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     testOptions.unitTests.includeAndroidResources = true
     namespace "androidx.camera.effects"
 }
diff --git a/camera/camera-extensions/build.gradle b/camera/camera-extensions/build.gradle
index 3ca2e3d..2f09630 100644
--- a/camera/camera-extensions/build.gradle
+++ b/camera/camera-extensions/build.gradle
@@ -58,7 +58,6 @@
     androidTestImplementation(libs.kotlinStdlib)
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has its own MockMaker
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(project(":camera:camera-camera2"))
     androidTestImplementation(project(":camera:camera-camera2-pipe-integration"))
     androidTestImplementation(project(":camera:camera-lifecycle"))
@@ -74,10 +73,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
-
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
diff --git a/camera/camera-feature-combination-query-play-services/build.gradle b/camera/camera-feature-combination-query-play-services/build.gradle
index 04ca4c2..721b314 100644
--- a/camera/camera-feature-combination-query-play-services/build.gradle
+++ b/camera/camera-feature-combination-query-play-services/build.gradle
@@ -35,10 +35,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
-
     lintOptions {
         enable 'CameraXQuirksClassDetector'
     }
diff --git a/camera/camera-feature-combination-query/build.gradle b/camera/camera-feature-combination-query/build.gradle
index 12a3dcb..12d1d72 100644
--- a/camera/camera-feature-combination-query/build.gradle
+++ b/camera/camera-feature-combination-query/build.gradle
@@ -34,10 +34,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
-
     lintOptions {
         enable 'CameraXQuirksClassDetector'
     }
diff --git a/camera/camera-lifecycle/build.gradle b/camera/camera-lifecycle/build.gradle
index 194040b..f3d649a1 100644
--- a/camera/camera-lifecycle/build.gradle
+++ b/camera/camera-lifecycle/build.gradle
@@ -41,7 +41,6 @@
 
     annotationProcessor(libs.autoValue)
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRunner)
@@ -60,9 +59,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     lintOptions {
         enable 'CameraXQuirksClassDetector'
     }
diff --git a/camera/camera-mlkit-vision/build.gradle b/camera/camera-mlkit-vision/build.gradle
index b339b1a..0854ab8 100644
--- a/camera/camera-mlkit-vision/build.gradle
+++ b/camera/camera-mlkit-vision/build.gradle
@@ -44,10 +44,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
-
     lintOptions {
         enable 'CameraXQuirksClassDetector'
     }
diff --git a/camera/camera-testing/build.gradle b/camera/camera-testing/build.gradle
index d366b52..03c370b 100644
--- a/camera/camera-testing/build.gradle
+++ b/camera/camera-testing/build.gradle
@@ -61,7 +61,6 @@
     testImplementation(libs.robolectric)
     testImplementation(libs.mockitoCore4)
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation("androidx.test:core:$testCoreVersion")
     androidTestImplementation("androidx.test:rules:$testRulesVersion")
@@ -76,7 +75,6 @@
 android {
     defaultConfig {
         externalNativeBuild {
-            multiDexEnabled = true
             cmake {
                 cppFlags "-std=c++17"
                 arguments "-DCMAKE_VERBOSE_MAKEFILE=ON"
diff --git a/camera/camera-testlib-extensions/build.gradle b/camera/camera-testlib-extensions/build.gradle
index 155b67b..2d3c393 100644
--- a/camera/camera-testlib-extensions/build.gradle
+++ b/camera/camera-testlib-extensions/build.gradle
@@ -34,10 +34,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
-
     lintOptions {
         enable 'CameraXQuirksClassDetector'
     }
diff --git a/camera/camera-video/build.gradle b/camera/camera-video/build.gradle
index e4d6c980..22fafd6 100644
--- a/camera/camera-video/build.gradle
+++ b/camera/camera-video/build.gradle
@@ -47,7 +47,6 @@
         exclude group: "androidx.camera", module: "camera-core"
     })
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(project(path: ":camera:camera-camera2"))
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
@@ -75,10 +74,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
-
     lintOptions {
         enable 'CameraXQuirksClassDetector'
     }
diff --git a/camera/camera-view/build.gradle b/camera/camera-view/build.gradle
index 7ca26f6..34164df 100644
--- a/camera/camera-view/build.gradle
+++ b/camera/camera-view/build.gradle
@@ -55,7 +55,6 @@
     testImplementation(project(":camera:camera-camera2"))
     testImplementation(project(":camera:camera-testing"))
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.mockitoCore)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
@@ -76,10 +75,6 @@
     androidTestImplementation("androidx.test.espresso:espresso-core:3.3.0")
 }
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
-
     lintOptions {
         enable 'CameraXQuirksClassDetector'
     }
diff --git a/camera/camera-viewfinder/build.gradle b/camera/camera-viewfinder/build.gradle
index 2055edd..dc43d15 100644
--- a/camera/camera-viewfinder/build.gradle
+++ b/camera/camera-viewfinder/build.gradle
@@ -53,7 +53,6 @@
     testImplementation(libs.testRules)
     testImplementation(libs.testCore)
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.mockitoCore)
     androidTestImplementation(libs.espressoCore)
     androidTestImplementation(libs.testExtJunit)
@@ -68,10 +67,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
-
     lintOptions {
         enable 'CameraXQuirksClassDetector'
     }
diff --git a/camera/integration-tests/avsynctestapp/build.gradle b/camera/integration-tests/avsynctestapp/build.gradle
index 2b5f84c..1b66787 100644
--- a/camera/integration-tests/avsynctestapp/build.gradle
+++ b/camera/integration-tests/avsynctestapp/build.gradle
@@ -26,8 +26,6 @@
 
     defaultConfig {
         applicationId "androidx.camera.integration.avsync"
-        minSdkVersion 21
-        multiDexEnabled true
     }
 
     buildTypes {
diff --git a/camera/integration-tests/camerapipetestapp/build.gradle b/camera/integration-tests/camerapipetestapp/build.gradle
index 3bd216a..817f483 100644
--- a/camera/integration-tests/camerapipetestapp/build.gradle
+++ b/camera/integration-tests/camerapipetestapp/build.gradle
@@ -24,8 +24,6 @@
 android {
     defaultConfig {
         applicationId "androidx.camera.integration.camera2.pipe"
-        versionCode 1
-        multiDexEnabled true
     }
 
     sourceSets {
diff --git a/camera/integration-tests/coretestapp/build.gradle b/camera/integration-tests/coretestapp/build.gradle
index b7e1643..2c76e8d 100644
--- a/camera/integration-tests/coretestapp/build.gradle
+++ b/camera/integration-tests/coretestapp/build.gradle
@@ -23,8 +23,6 @@
 android {
     defaultConfig {
         applicationId "androidx.camera.integration.core"
-        versionCode 1
-        multiDexEnabled true
 
         externalNativeBuild {
             cmake {
diff --git a/camera/integration-tests/diagnosetestapp/build.gradle b/camera/integration-tests/diagnosetestapp/build.gradle
index 320381fa..ecf5b7f 100644
--- a/camera/integration-tests/diagnosetestapp/build.gradle
+++ b/camera/integration-tests/diagnosetestapp/build.gradle
@@ -23,7 +23,6 @@
 android {
     defaultConfig {
         applicationId "androidx.camera.integration.diagnose"
-        multiDexEnabled true
     }
 
     buildTypes {
diff --git a/camera/integration-tests/extensionstestapp/build.gradle b/camera/integration-tests/extensionstestapp/build.gradle
index 9ebe099..5de107f7 100644
--- a/camera/integration-tests/extensionstestapp/build.gradle
+++ b/camera/integration-tests/extensionstestapp/build.gradle
@@ -33,8 +33,6 @@
 android {
     defaultConfig {
         applicationId "androidx.camera.integration.extensions"
-        versionCode 1
-        multiDexEnabled true
     }
 
     buildTypes {
diff --git a/camera/integration-tests/viewfindertestapp/build.gradle b/camera/integration-tests/viewfindertestapp/build.gradle
index 9791b83..d6be6e3 100644
--- a/camera/integration-tests/viewfindertestapp/build.gradle
+++ b/camera/integration-tests/viewfindertestapp/build.gradle
@@ -24,7 +24,6 @@
 android {
     defaultConfig {
         applicationId "androidx.camera.integration.viewfinder"
-        multiDexEnabled true
     }
 
     buildTypes {
diff --git a/camera/integration-tests/viewtestapp/build.gradle b/camera/integration-tests/viewtestapp/build.gradle
index 4a6fa59..f3896a1 100644
--- a/camera/integration-tests/viewtestapp/build.gradle
+++ b/camera/integration-tests/viewtestapp/build.gradle
@@ -24,8 +24,6 @@
 android {
     defaultConfig {
         applicationId "androidx.camera.integration.view"
-        versionCode 1
-        multiDexEnabled true
     }
 
     sourceSets {
@@ -45,9 +43,6 @@
         }
     }
 
-    kotlinOptions {
-        jvmTarget = '1.8'
-    }
     namespace "androidx.camera.integration.view"
 }
 
diff --git a/car/app/app-projected/build.gradle b/car/app/app-projected/build.gradle
index 58f7b7ae..ce471c8 100644
--- a/car/app/app-projected/build.gradle
+++ b/car/app/app-projected/build.gradle
@@ -46,9 +46,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     buildFeatures {
         aidl = true
     }
diff --git a/car/app/app-testing/build.gradle b/car/app/app-testing/build.gradle
index eb182b1..cb47a3a 100644
--- a/car/app/app-testing/build.gradle
+++ b/car/app/app-testing/build.gradle
@@ -49,9 +49,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     lintOptions {
         disable("InvalidPackage")
     }
diff --git a/car/app/app/build.gradle b/car/app/app/build.gradle
index 7ca22db..6c9e1cb0 100644
--- a/car/app/app/build.gradle
+++ b/car/app/app/build.gradle
@@ -92,9 +92,6 @@
         aidl = true
     }
     defaultConfig {
-        multiDexEnabled = true
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-
         resValue "string", "car_app_library_version", androidx.LibraryVersions.CAR_APP.toString()
         consumerProguardFiles "proguard-rules.pro"
     }
diff --git a/coordinatorlayout/coordinatorlayout/build.gradle b/coordinatorlayout/coordinatorlayout/build.gradle
index 5621fbc..4ac5cf4 100644
--- a/coordinatorlayout/coordinatorlayout/build.gradle
+++ b/coordinatorlayout/coordinatorlayout/build.gradle
@@ -32,7 +32,6 @@
     androidTestImplementation(project(":internal-testutils-runtime"), {
         exclude group: "androidx.coordinatorlayout", module: "coordinatorlayout"
     })
-    androidTestImplementation(libs.multidex)
 }
 
 android {
@@ -45,9 +44,6 @@
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
-    defaultConfig {
-        multiDexEnabled = true
-    }
 
     testOptions {
         animationsDisabled = true
diff --git a/core/core-google-shortcuts/build.gradle b/core/core-google-shortcuts/build.gradle
index 43f2282..83f4b43 100644
--- a/core/core-google-shortcuts/build.gradle
+++ b/core/core-google-shortcuts/build.gradle
@@ -23,10 +23,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
-
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
@@ -49,7 +45,6 @@
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy)
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy)
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.junit)
 }
 
diff --git a/core/core-google-shortcuts/src/androidTest/AndroidManifest.xml b/core/core-google-shortcuts/src/androidTest/AndroidManifest.xml
index de5ea9d..aaf4b702 100644
--- a/core/core-google-shortcuts/src/androidTest/AndroidManifest.xml
+++ b/core/core-google-shortcuts/src/androidTest/AndroidManifest.xml
@@ -17,7 +17,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
     <uses-sdk tools:overrideLibrary="com.google.firebase.icing"/>
-    <application android:name="androidx.multidex.MultiDexApplication">
+    <application>
         <activity android:name=".TestActivity"/>
     </application>
 </manifest>
diff --git a/core/core-telecom/build.gradle b/core/core-telecom/build.gradle
index 6e921f9..e5b92f4 100644
--- a/core/core-telecom/build.gradle
+++ b/core/core-telecom/build.gradle
@@ -49,7 +49,6 @@
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.truth)
     androidTestImplementation(libs.espressoCore)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.kotlinCoroutinesTest)
 }
 
diff --git a/core/core/build.gradle b/core/core/build.gradle
index 9b69c43..a646db3 100644
--- a/core/core/build.gradle
+++ b/core/core/build.gradle
@@ -43,7 +43,6 @@
     androidTestImplementation(libs.truth)
     androidTestImplementation(libs.espressoCore, excludes.espresso)
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has it"s own MockMaker
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testUiautomator)
 
     androidTestImplementation("androidx.lifecycle:lifecycle-runtime-testing:2.6.2")
@@ -94,9 +93,6 @@
                 "mockito-extensions/org.mockito.plugins.StackTraceCleanerProvider"
         ]
     }
-    defaultConfig {
-        multiDexEnabled = true
-    }
     namespace "androidx.core"
 }
 
diff --git a/core/core/src/androidTest/AndroidManifest.xml b/core/core/src/androidTest/AndroidManifest.xml
index 284af21..fd2d780 100644
--- a/core/core/src/androidTest/AndroidManifest.xml
+++ b/core/core/src/androidTest/AndroidManifest.xml
@@ -20,7 +20,6 @@
     <uses-sdk tools:overrideLibrary="android_libs.ub_uiautomator, androidx.test.uiautomator" />
 
     <application
-        android:name="androidx.multidex.MultiDexApplication"
         android:exported="true"
         android:supportsRtl="true"
         android:theme="@style/TestActivityTheme">
diff --git a/core/haptics/haptics/integration-tests/demos/build.gradle b/core/haptics/haptics/integration-tests/demos/build.gradle
index 3effc26..9695d73 100644
--- a/core/haptics/haptics/integration-tests/demos/build.gradle
+++ b/core/haptics/haptics/integration-tests/demos/build.gradle
@@ -30,7 +30,6 @@
 android {
     defaultConfig {
         applicationId "androidx.core.haptics.demos"
-        multiDexEnabled true
     }
     namespace "androidx.core.haptics.demos"
 }
diff --git a/core/uwb/uwb-rxjava3/build.gradle b/core/uwb/uwb-rxjava3/build.gradle
index 92b8896..209bb343 100644
--- a/core/uwb/uwb-rxjava3/build.gradle
+++ b/core/uwb/uwb-rxjava3/build.gradle
@@ -46,13 +46,11 @@
     androidTestImplementation('com.google.android.gms:play-services-nearby:19.2.0', {
         exclude group: "androidx.core"
     })
-    androidTestImplementation(libs.multidex)
 }
 
 android {
     defaultConfig {
         minSdkVersion 31
-        multiDexEnabled = true
     }
 
     namespace "androidx.core.uwb.rxjava3"
diff --git a/core/uwb/uwb/build.gradle b/core/uwb/uwb/build.gradle
index 6283591..337d95b 100644
--- a/core/uwb/uwb/build.gradle
+++ b/core/uwb/uwb/build.gradle
@@ -49,7 +49,6 @@
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.truth)
     androidTestImplementation(libs.espressoCore)
-    androidTestImplementation(libs.multidex)
 }
 
 androidx {
@@ -73,6 +72,5 @@
     }
     defaultConfig {
         minSdkVersion 23
-        multiDexEnabled = true
     }
 }
diff --git a/credentials/credentials-fido/build.gradle b/credentials/credentials-fido/build.gradle
index 098bf8b..8d0fd93 100644
--- a/credentials/credentials-fido/build.gradle
+++ b/credentials/credentials-fido/build.gradle
@@ -40,7 +40,6 @@
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.mockitoAndroid)
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(project(":internal-testutils-truth"))
     androidTestImplementation(libs.kotlinCoroutinesAndroid)
     androidTestImplementation("androidx.core:core-ktx:1.10.0")
@@ -48,10 +47,6 @@
 
 android {
     namespace "androidx.credentials.fido"
-
-    defaultConfig {
-        multiDexEnabled = true
-    }
 }
 
 androidx {
diff --git a/credentials/credentials-play-services-auth/build.gradle b/credentials/credentials-play-services-auth/build.gradle
index e08f6c9..6b0091c 100644
--- a/credentials/credentials-play-services-auth/build.gradle
+++ b/credentials/credentials-play-services-auth/build.gradle
@@ -55,7 +55,6 @@
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.mockitoAndroid)
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(project(":internal-testutils-truth"))
     androidTestImplementation(libs.kotlinCoroutinesAndroid)
     androidTestImplementation("androidx.core:core-ktx:1.10.0")
@@ -69,10 +68,6 @@
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
-
-    defaultConfig {
-        multiDexEnabled = true
-    }
 }
 
 androidx {
diff --git a/datastore/datastore-sampleapp/build.gradle b/datastore/datastore-sampleapp/build.gradle
index 9a94612..9a4b7c10 100644
--- a/datastore/datastore-sampleapp/build.gradle
+++ b/datastore/datastore-sampleapp/build.gradle
@@ -71,8 +71,5 @@
 
 android {
     namespace "com.example.datastoresampleapp"
-    defaultConfig {
-        multiDexEnabled true
-    }
 }
 
diff --git a/fragment/fragment-testing/build.gradle b/fragment/fragment-testing/build.gradle
index 1f536bc..8247092 100644
--- a/fragment/fragment-testing/build.gradle
+++ b/fragment/fragment-testing/build.gradle
@@ -43,7 +43,6 @@
     androidTestImplementation(libs.truth)
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has it"s own MockMaker
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy) // DexMaker has it"s own MockMaker
-    androidTestImplementation(libs.multidex)
 
     lintPublish(project(":fragment:fragment-testing-lint"))
 }
@@ -59,7 +58,4 @@
 
 android {
     namespace "androidx.fragment.testing"
-    defaultConfig {
-        multiDexEnabled true
-    }
 }
diff --git a/fragment/fragment/build.gradle b/fragment/fragment/build.gradle
index 7fb1d30..1870df9 100644
--- a/fragment/fragment/build.gradle
+++ b/fragment/fragment/build.gradle
@@ -25,10 +25,6 @@
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
-
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.fragment"
 }
 
@@ -63,7 +59,6 @@
     androidTestImplementation(libs.espressoCore, excludes.espresso)
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has it"s own MockMaker
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy) // DexMaker has it"s own MockMaker
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(project(":internal-testutils-runtime"), {
         exclude group: "androidx.fragment", module: "fragment"
     })
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/LeakCanaryApp.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/LeakCanaryApp.kt
index f64a8d1..f29c00f 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/LeakCanaryApp.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/LeakCanaryApp.kt
@@ -16,6 +16,6 @@
 
 package androidx.fragment.app
 
-import androidx.multidex.MultiDexApplication
+import android.app.Application
 
-class LeakCanaryApp : MultiDexApplication()
+class LeakCanaryApp : Application()
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 3280d9c..9d7e708 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -230,7 +230,6 @@
 moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" }
 moshiAdapters = { module = "com.squareup.moshi:moshi-adapters", version.ref = "moshi" }
 moshiCodeGen = { module = "com.squareup.moshi:moshi-kotlin-codegen", version.ref = "moshi" }
-multidex = { module = "androidx.multidex:multidex", version = "2.0.1" }
 nullaway = { module = "com.uber.nullaway:nullaway", version = "0.10.18" }
 okhttpMockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version = "3.14.7" }
 okio = { module = "com.squareup.okio:okio", version = "3.4.0" }
diff --git a/graphics/graphics-shapes/build.gradle b/graphics/graphics-shapes/build.gradle
index 22d974f..a782cc0 100644
--- a/graphics/graphics-shapes/build.gradle
+++ b/graphics/graphics-shapes/build.gradle
@@ -123,9 +123,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     namespace "androidx.graphics.shapes"
 }
 
diff --git a/leanback/leanback/build.gradle b/leanback/leanback/build.gradle
index 6d5cdcf..4790443 100644
--- a/leanback/leanback/build.gradle
+++ b/leanback/leanback/build.gradle
@@ -12,12 +12,6 @@
     id("com.android.library")
 }
 
-android {
-    defaultConfig {
-        multiDexEnabled true
-    }
-}
-
 dependencies {
     api("androidx.annotation:annotation:1.2.0")
     api("androidx.interpolator:interpolator:1.0.0")
@@ -36,7 +30,6 @@
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRunner)
     androidTestImplementation(libs.testRules)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.espressoCore, excludes.espresso)
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has it"s own MockMaker
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy) // DexMaker has it"s own MockMaker
diff --git a/lifecycle/lifecycle-extensions/build.gradle b/lifecycle/lifecycle-extensions/build.gradle
index 03cf955..6a602d2 100644
--- a/lifecycle/lifecycle-extensions/build.gradle
+++ b/lifecycle/lifecycle-extensions/build.gradle
@@ -52,7 +52,6 @@
     androidTestImplementation(libs.testRunner)
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.espressoCore)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation("androidx.appcompat:appcompat:1.1.0")
     androidTestImplementation(project(":internal-testutils-runtime"))
 }
@@ -69,8 +68,5 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.lifecycle.extensions"
 }
diff --git a/mediarouter/mediarouter/build.gradle b/mediarouter/mediarouter/build.gradle
index 2eead2d..019340b1 100644
--- a/mediarouter/mediarouter/build.gradle
+++ b/mediarouter/mediarouter/build.gradle
@@ -51,7 +51,6 @@
     testImplementation(libs.truth)
     testImplementation(libs.robolectric)
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testRunner)
@@ -66,9 +65,6 @@
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.mediarouter"
 }
 
diff --git a/mediarouter/mediarouter/src/androidTest/AndroidManifest.xml b/mediarouter/mediarouter/src/androidTest/AndroidManifest.xml
index 9e185e220..92a343a 100644
--- a/mediarouter/mediarouter/src/androidTest/AndroidManifest.xml
+++ b/mediarouter/mediarouter/src/androidTest/AndroidManifest.xml
@@ -17,8 +17,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
 
     <application
-        android:supportsRtl="true"
-        android:name="androidx.multidex.MultiDexApplication">
+        android:supportsRtl="true">
         <activity
             android:name="androidx.mediarouter.app.MediaRouteChooserDialogTestActivity"
             android:label="MediaRouteChooserDialogTestActivity"
diff --git a/metrics/integration-tests/janktest/build.gradle b/metrics/integration-tests/janktest/build.gradle
index d394e7d..da13b35 100644
--- a/metrics/integration-tests/janktest/build.gradle
+++ b/metrics/integration-tests/janktest/build.gradle
@@ -25,9 +25,6 @@
         viewBinding true
     }
     namespace "androidx.metrics.performance.janktest"
-    defaultConfig {
-        multiDexEnabled true
-    }
 }
 
 dependencies {
@@ -39,5 +36,4 @@
     implementation project(path: ':metrics:metrics-performance')
     implementation 'com.google.android.material:material:1.2.1'
     implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
-    implementation 'androidx.multidex:multidex:2.0.1'
 }
diff --git a/metrics/metrics-performance/build.gradle b/metrics/metrics-performance/build.gradle
index 8f48de9..5a7c352 100644
--- a/metrics/metrics-performance/build.gradle
+++ b/metrics/metrics-performance/build.gradle
@@ -53,13 +53,9 @@
     androidTestImplementation('androidx.core:core-ktx:1.3.2')
     androidTestImplementation('androidx.constraintlayout:constraintlayout:2.0.1')
     androidTestImplementation('com.google.android.material:material:1.2.1')
-    androidTestImplementation('androidx.multidex:multidex:2.0.1')
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.metrics.performance"
 }
 
diff --git a/metrics/metrics-performance/src/androidTest/AndroidManifest.xml b/metrics/metrics-performance/src/androidTest/AndroidManifest.xml
index 43a2b2e..ce37db9 100644
--- a/metrics/metrics-performance/src/androidTest/AndroidManifest.xml
+++ b/metrics/metrics-performance/src/androidTest/AndroidManifest.xml
@@ -17,8 +17,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
 
     <application android:supportsRtl="true"
-        android:theme="@style/Theme.Androidx"
-        android:name="androidx.multidex.MultiDexApplication">
+        android:theme="@style/Theme.Androidx">
         <activity android:name="androidx.metrics.performance.test.DelayedActivity"/>
     </application>
 </manifest>
diff --git a/navigation/integration-tests/testapp/build.gradle b/navigation/integration-tests/testapp/build.gradle
index f235d73..4398e0c 100644
--- a/navigation/integration-tests/testapp/build.gradle
+++ b/navigation/integration-tests/testapp/build.gradle
@@ -30,14 +30,10 @@
     implementation(project(":internal-testutils-navigation"), {
         exclude group: "androidx.navigation", module: "navigation-common"
     })
-    implementation(libs.multidex)
 }
 
 android {
     namespace "androidx.navigation.testapp"
-    defaultConfig {
-        multiDexEnabled true
-    }
 }
 
 tasks["check"].dependsOn(tasks["connectedCheck"])
diff --git a/navigation/navigation-common/build.gradle b/navigation/navigation-common/build.gradle
index 5db71fc..3f71e16 100644
--- a/navigation/navigation-common/build.gradle
+++ b/navigation/navigation-common/build.gradle
@@ -34,9 +34,6 @@
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.navigation.common"
 }
 
@@ -71,7 +68,6 @@
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy)
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy)
     androidTestImplementation(libs.kotlinStdlib)
-    androidTestImplementation(libs.multidex)
 
     lintPublish(project(':navigation:navigation-common-lint'))
 }
diff --git a/navigation/navigation-dynamic-features-fragment/build.gradle b/navigation/navigation-dynamic-features-fragment/build.gradle
index 8b299e9..63a98a1 100644
--- a/navigation/navigation-dynamic-features-fragment/build.gradle
+++ b/navigation/navigation-dynamic-features-fragment/build.gradle
@@ -31,12 +31,6 @@
     alias(libs.plugins.kotlinSerialization)
 }
 
-android {
-    defaultConfig {
-        multiDexEnabled true
-    }
-}
-
 dependencies {
     api(project(":navigation:navigation-dynamic-features-runtime"))
     api(project(":navigation:navigation-fragment"))
@@ -59,16 +53,12 @@
     androidTestImplementation(libs.espressoCore)
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy)
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(project(":internal-testutils-runtime"), {
         exclude group: "androidx.fragment", module: "fragment"
     })
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     namespace "androidx.navigation.dynamicfeatures.fragment"
 }
 
diff --git a/navigation/navigation-dynamic-features-fragment/src/androidTest/AndroidManifest.xml b/navigation/navigation-dynamic-features-fragment/src/androidTest/AndroidManifest.xml
index 280e699..98b27dd 100644
--- a/navigation/navigation-dynamic-features-fragment/src/androidTest/AndroidManifest.xml
+++ b/navigation/navigation-dynamic-features-fragment/src/androidTest/AndroidManifest.xml
@@ -16,7 +16,7 @@
   -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <application android:name="androidx.multidex.MultiDexApplication">
+    <application>
         <activity android:name="androidx.navigation.dynamicfeatures.fragment.NavigationActivity" />
         <activity android:name="androidx.navigation.dynamicfeatures.fragment.TestActivity" />
     </application>
diff --git a/navigation/navigation-dynamic-features-runtime/build.gradle b/navigation/navigation-dynamic-features-runtime/build.gradle
index 019f1c12..e3f17e2 100644
--- a/navigation/navigation-dynamic-features-runtime/build.gradle
+++ b/navigation/navigation-dynamic-features-runtime/build.gradle
@@ -31,9 +31,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.navigation.dynamicfeatures"
 }
 
@@ -61,7 +58,6 @@
     androidTestImplementation(libs.espressoCore)
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy)
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(project(":internal-testutils-runtime"), {
         exclude group: "androidx.fragment", module: "fragment"
     })
diff --git a/navigation/navigation-fragment/build.gradle b/navigation/navigation-fragment/build.gradle
index 86716ba..7bf3df6 100644
--- a/navigation/navigation-fragment/build.gradle
+++ b/navigation/navigation-fragment/build.gradle
@@ -61,8 +61,5 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.navigation.fragment"
 }
diff --git a/navigation/navigation-runtime/build.gradle b/navigation/navigation-runtime/build.gradle
index d7155f8..91af7ba 100644
--- a/navigation/navigation-runtime/build.gradle
+++ b/navigation/navigation-runtime/build.gradle
@@ -55,15 +55,11 @@
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy)
     androidTestImplementation(libs.kotlinStdlib)
     androidTestImplementation(libs.kotlinTest)
-    androidTestImplementation(libs.multidex)
 
     lintPublish(project(':navigation:navigation-runtime-lint'))
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     namespace "androidx.navigation"
 }
 
diff --git a/navigation/navigation-runtime/src/androidTest/AndroidManifest.xml b/navigation/navigation-runtime/src/androidTest/AndroidManifest.xml
index 2beb477..f86b18b 100644
--- a/navigation/navigation-runtime/src/androidTest/AndroidManifest.xml
+++ b/navigation/navigation-runtime/src/androidTest/AndroidManifest.xml
@@ -17,8 +17,7 @@
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <application
-        android:name="androidx.multidex.MultiDexApplication">
+    <application>
         <activity android:name="androidx.navigation.ActivityNavigatorActivity"/>
         <activity android:name="androidx.navigation.TargetActivity"/>
         <activity android:name="androidx.navigation.NavControllerActivity"/>
diff --git a/navigation/navigation-ui/build.gradle b/navigation/navigation-ui/build.gradle
index 0527db4..baa2420 100644
--- a/navigation/navigation-ui/build.gradle
+++ b/navigation/navigation-ui/build.gradle
@@ -33,9 +33,6 @@
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.navigation.ui"
 }
 
@@ -56,7 +53,6 @@
     androidTestImplementation(libs.testRunner)
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
 }
 
 androidx {
diff --git a/navigation/navigation-ui/src/androidTest/AndroidManifest.xml b/navigation/navigation-ui/src/androidTest/AndroidManifest.xml
deleted file mode 100644
index ae566f8..0000000
--- a/navigation/navigation-ui/src/androidTest/AndroidManifest.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright 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.
-  -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android">
-    <application android:name="androidx.multidex.MultiDexApplication" />
-</manifest>
diff --git a/paging/integration-tests/testapp/build.gradle b/paging/integration-tests/testapp/build.gradle
index 147eecb..0988655 100644
--- a/paging/integration-tests/testapp/build.gradle
+++ b/paging/integration-tests/testapp/build.gradle
@@ -22,7 +22,6 @@
 }
 
 dependencies {
-    implementation(libs.multidex)
 
     implementation("androidx.arch.core:core-runtime:2.2.0")
     implementation(projectOrArtifact(":room:room-ktx"))
@@ -35,7 +34,6 @@
 
     ksp(projectOrArtifact(":room:room-compiler"))
 
-    implementation(libs.multidex)
     implementation(projectOrArtifact(":recyclerview:recyclerview"))
     implementation("androidx.fragment:fragment-ktx:1.3.0")
     implementation("androidx.appcompat:appcompat:1.1.0")
@@ -58,9 +56,6 @@
 
 android {
     namespace "androidx.paging.integration.testapp"
-    defaultConfig {
-        multiDexEnabled = true
-    }
 }
 
 // Enable parameter names to support Room incremental when its a project() dep.
diff --git a/paging/paging-common/build.gradle b/paging/paging-common/build.gradle
index 6f87e72..aa49e18 100644
--- a/paging/paging-common/build.gradle
+++ b/paging/paging-common/build.gradle
@@ -45,10 +45,6 @@
             it.compilationName = "instrumentedTest"
             it.defaultSourceSetName = "androidInstrumentedTest"
             it.sourceSetTreeName = "test"
-        }.configure {
-            it.multidex {
-                it.enable = true
-            }
         }
     }
 
@@ -108,7 +104,6 @@
             dependencies {
                 implementation(libs.testRunner)
                 implementation(libs.mockitoAndroid5)
-                implementation(libs.multidex)
             }
         }
 
diff --git a/paging/paging-runtime/build.gradle b/paging/paging-runtime/build.gradle
index 8c04412..3561986 100644
--- a/paging/paging-runtime/build.gradle
+++ b/paging/paging-runtime/build.gradle
@@ -30,9 +30,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.paging.runtime"
 }
 
@@ -62,7 +59,6 @@
     androidTestImplementation(libs.kotlinTest)
     androidTestImplementation(libs.kotlinCoroutinesTest)
     androidTestImplementation(libs.junit)
-    androidTestImplementation(libs.multidex)
 }
 
 androidx {
diff --git a/paging/samples/build.gradle b/paging/samples/build.gradle
index b2ad700..f6bc2c0 100644
--- a/paging/samples/build.gradle
+++ b/paging/samples/build.gradle
@@ -31,9 +31,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.paging.samples"
 }
 
@@ -55,7 +52,6 @@
     implementation(project(":paging:paging-rxjava2"))
 
     implementation(libs.guavaAndroid)
-    implementation(libs.multidex)
     implementation(libs.retrofit)
 }
 
diff --git a/preference/preference-ktx/build.gradle b/preference/preference-ktx/build.gradle
index b76c3a6..88fdacf 100644
--- a/preference/preference-ktx/build.gradle
+++ b/preference/preference-ktx/build.gradle
@@ -45,7 +45,6 @@
     androidTestImplementation(libs.testRunner)
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(project(":internal-testutils-truth"))
 }
 
@@ -59,7 +58,4 @@
 
 android {
     namespace "androidx.preference.ktx"
-    defaultConfig {
-        multiDexEnabled true
-    }
 }
diff --git a/preference/preference/build.gradle b/preference/preference/build.gradle
index 63c33b1..45783b6 100644
--- a/preference/preference/build.gradle
+++ b/preference/preference/build.gradle
@@ -42,7 +42,6 @@
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy) // DexMaker has it"s own MockMaker
     androidTestImplementation(libs.kotlinStdlib)
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
 }
 
 android {
@@ -55,7 +54,6 @@
 
     defaultConfig {
         vectorDrawables.useSupportLibrary = true
-        multiDexEnabled true
     }
 
     buildTypes.configureEach {
diff --git a/preference/preference/src/androidTest/AndroidManifest.xml b/preference/preference/src/androidTest/AndroidManifest.xml
index 467d865..2f59d34 100644
--- a/preference/preference/src/androidTest/AndroidManifest.xml
+++ b/preference/preference/src/androidTest/AndroidManifest.xml
@@ -15,8 +15,7 @@
   -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
-    <application
-        android:name="androidx.multidex.MultiDexApplication">
+    <application>
         <activity
             android:name="androidx.preference.tests.helpers.PreferenceTestHelperActivity"
             android:theme="@style/PreferenceTestTheme"/>
diff --git a/privacysandbox/ads/ads-adservices-java/build.gradle b/privacysandbox/ads/ads-adservices-java/build.gradle
index b2c2493..48788a7 100644
--- a/privacysandbox/ads/ads-adservices-java/build.gradle
+++ b/privacysandbox/ads/ads-adservices-java/build.gradle
@@ -46,7 +46,6 @@
     androidTestImplementation(libs.junit)
     androidTestImplementation(libs.kotlinTestJunit)
     androidTestImplementation(libs.mockitoKotlin4)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testRunner)
@@ -60,10 +59,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
-
     compileSdk = 34
     compileSdkExtension = 12
     namespace "androidx.privacysandbox.ads.adservices.java"
diff --git a/privacysandbox/ads/ads-adservices/build.gradle b/privacysandbox/ads/ads-adservices/build.gradle
index f633768..25d16ef 100644
--- a/privacysandbox/ads/ads-adservices/build.gradle
+++ b/privacysandbox/ads/ads-adservices/build.gradle
@@ -38,7 +38,6 @@
     androidTestImplementation(libs.junit)
     androidTestImplementation(libs.kotlinTestJunit)
     androidTestImplementation(libs.mockitoKotlin4)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testCore)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testRunner)
@@ -52,9 +51,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     buildTypes.all {
         consumerProguardFiles "proguard-rules.pro"
     }
diff --git a/privacysandbox/sdkruntime/sdkruntime-client/build.gradle b/privacysandbox/sdkruntime/sdkruntime-client/build.gradle
index 3435b825..af66549 100644
--- a/privacysandbox/sdkruntime/sdkruntime-client/build.gradle
+++ b/privacysandbox/sdkruntime/sdkruntime-client/build.gradle
@@ -117,7 +117,6 @@
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.truth)
     androidTestImplementation(libs.junit)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(project(':internal-testutils-runtime'))
     androidTestImplementation(project(":internal-testutils-truth")) // for assertThrows
 
@@ -133,9 +132,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     sourceSets {
         androidTest {
             assets {
diff --git a/privacysandbox/ui/ui-client/build.gradle b/privacysandbox/ui/ui-client/build.gradle
index da5ff2f..932b569 100644
--- a/privacysandbox/ui/ui-client/build.gradle
+++ b/privacysandbox/ui/ui-client/build.gradle
@@ -51,7 +51,6 @@
     androidTestImplementation(libs.espressoIntents)
     androidTestImplementation(libs.espressoCore)
     androidTestImplementation(libs.mockitoCore)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testUiautomator)
     androidTestImplementation project(path: ':appcompat:appcompat')
     androidTestImplementation project(":privacysandbox:ui:ui-provider")
@@ -59,10 +58,6 @@
 
 android {
     namespace "androidx.privacysandbox.ui.client"
-    defaultConfig {
-        multiDexEnabled true
-        minSdk 21
-    }
 }
 
 androidx {
diff --git a/privacysandbox/ui/ui-client/src/androidTest/AndroidManifest.xml b/privacysandbox/ui/ui-client/src/androidTest/AndroidManifest.xml
index 15f02d9..869e25c 100644
--- a/privacysandbox/ui/ui-client/src/androidTest/AndroidManifest.xml
+++ b/privacysandbox/ui/ui-client/src/androidTest/AndroidManifest.xml
@@ -19,7 +19,6 @@
     <!-- This override is okay because the associated tests only run on T+ -->
     <uses-sdk tools:overrideLibrary="android_libs.ub_uiautomator, androidx.test.uiautomator" />
     <application android:supportsRtl="true"
-        android:name="androidx.multidex.MultiDexApplication"
         android:theme="@style/Theme.AppCompat">
     <activity
         android:name="androidx.privacysandbox.ui.client.test.UiLibActivity"
diff --git a/privacysandbox/ui/ui-tests/build.gradle b/privacysandbox/ui/ui-tests/build.gradle
index 7e9b08b..69746fb 100644
--- a/privacysandbox/ui/ui-tests/build.gradle
+++ b/privacysandbox/ui/ui-tests/build.gradle
@@ -47,16 +47,10 @@
     androidTestImplementation(libs.truth)
     androidTestImplementation project(path: ':appcompat:appcompat')
     androidTestImplementation project(':recyclerview:recyclerview')
-    def multidex_version = "2.0.1"
-    implementation "androidx.multidex:multidex:$multidex_version"
 }
 
 android {
     namespace "androidx.privacysandbox.ui.tests"
-    defaultConfig {
-        multiDexEnabled true
-        minSdk 21
-    }
 }
 
 androidx {
diff --git a/recyclerview/recyclerview/build.gradle b/recyclerview/recyclerview/build.gradle
index fda546c..c4d6592 100644
--- a/recyclerview/recyclerview/build.gradle
+++ b/recyclerview/recyclerview/build.gradle
@@ -31,11 +31,9 @@
     androidTestImplementation(libs.truth)
     androidTestImplementation(libs.junit)
     androidTestImplementation(libs.kotlinStdlib)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(project(":internal-testutils-espresso"))
     androidTestImplementation(project(":internal-testutils-runtime"))
     androidTestImplementation(project(":internal-testutils-common"))
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.kotlinCoroutinesAndroid)
 
     testImplementation(libs.junit)
@@ -57,9 +55,7 @@
     }
 
     defaultConfig {
-        multiDexEnabled = true
         testInstrumentationRunner "androidx.recyclerview.test.TestRunner"
-        multiDexEnabled true
     }
     namespace "androidx.recyclerview"
 }
diff --git a/recyclerview/recyclerview/src/androidTest/AndroidManifest.xml b/recyclerview/recyclerview/src/androidTest/AndroidManifest.xml
index a60d13a..1f805dc 100644
--- a/recyclerview/recyclerview/src/androidTest/AndroidManifest.xml
+++ b/recyclerview/recyclerview/src/androidTest/AndroidManifest.xml
@@ -16,7 +16,7 @@
   -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <application android:name="androidx.multidex.MultiDexApplication" android:supportsRtl="true">
+    <application android:supportsRtl="true">
         <activity android:name="androidx.recyclerview.test.RecyclerViewTestActivity"/>
         <activity android:name="androidx.recyclerview.widget.TestActivity"/>
         <activity android:name="androidx.recyclerview.widget.TestContentViewActivity"/>
diff --git a/room/integration-tests/kotlintestapp/build.gradle b/room/integration-tests/kotlintestapp/build.gradle
index d69e8cf..215c248 100644
--- a/room/integration-tests/kotlintestapp/build.gradle
+++ b/room/integration-tests/kotlintestapp/build.gradle
@@ -33,9 +33,6 @@
     buildFeatures {
         buildConfig = true
     }
-    defaultConfig {
-        multiDexEnabled true
-    }
 
     sourceSets {
         androidTestWithKapt.assets.srcDirs += files("$projectDir/schemas".toString())
@@ -66,7 +63,6 @@
     implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.6.1")
     implementation(libs.kotlinStdlib)
     implementation(libs.kotlinCoroutinesAndroid)
-    implementation(libs.multidex)
     kspAndroidTestWithKspGenJava(project(":room:room-compiler"))
     kspAndroidTestWithKspGenKotlin(project(":room:room-compiler"))
     kaptAndroidTestWithKapt(project(":room:room-compiler"))
diff --git a/room/integration-tests/testapp/build.gradle b/room/integration-tests/testapp/build.gradle
index d9455eb..5f38304 100644
--- a/room/integration-tests/testapp/build.gradle
+++ b/room/integration-tests/testapp/build.gradle
@@ -28,18 +28,9 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     buildFeatures {
         aidl = true
     }
-    buildTypes.configureEach {
-        // Need to make sure certain classes are put in primary dex as they're used early in
-        // process creation, and would fail to load on non-native-multidex API versions
-        multiDexKeepProguard file('multidex-rules.pro')
-    }
-
     sourceSets {
         androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
         androidTest.assets.srcDirs += files("$projectDir/databases".toString())
@@ -86,7 +77,6 @@
     implementation("androidx.arch.core:core-runtime:2.2.0")
     implementation("androidx.lifecycle:lifecycle-livedata:2.6.1")
     implementation("androidx.lifecycle:lifecycle-runtime:2.6.1")
-    implementation(libs.multidex)
 
     // Workaround for b/191286558.
     implementation(project(":annotation:annotation-experimental"))
@@ -117,12 +107,7 @@
     androidTestImplementation("androidx.lifecycle:lifecycle-runtime:2.6.1")
     androidTestImplementation("androidx.lifecycle:lifecycle-runtime-testing:2.6.1")
     androidTestImplementation("androidx.lifecycle:lifecycle-livedata:2.6.1")
-
-    // guavaAndroid is a implementation dependency instead of androidTestImplementation because
-    // if it's in the androidTest apk it causes the test APK to be multidex in ways that break
-    // non-native multidex (< API 21). This should be changed back to androidTestImplementation
-    // once this app is minApi 21
-    implementation(libs.guavaAndroid)
+    androidTestImplementation(libs.guava)
 
     // libs.findbugs dependency resolves an app/testapp version conflict.
     androidTestImplementation(libs.findbugs)
diff --git a/room/integration-tests/testapp/multidex-rules.pro b/room/integration-tests/testapp/multidex-rules.pro
deleted file mode 100644
index b05591c..0000000
--- a/room/integration-tests/testapp/multidex-rules.pro
+++ /dev/null
@@ -1 +0,0 @@
--keep class androidx.tracing.Trace
\ No newline at end of file
diff --git a/room/integration-tests/testapp/src/main/AndroidManifest.xml b/room/integration-tests/testapp/src/main/AndroidManifest.xml
index 78a08a5..ad2f8aa 100644
--- a/room/integration-tests/testapp/src/main/AndroidManifest.xml
+++ b/room/integration-tests/testapp/src/main/AndroidManifest.xml
@@ -17,7 +17,6 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
     <application
-        android:name="androidx.multidex.MultiDexApplication"
         android:allowBackup="true"
         android:supportsRtl="true">
         <service
diff --git a/room/room-paging/build.gradle b/room/room-paging/build.gradle
index 4242cb5..4dc6d6c 100644
--- a/room/room-paging/build.gradle
+++ b/room/room-paging/build.gradle
@@ -32,9 +32,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled true
-    }
     namespace "androidx.room.paging"
 }
 
@@ -46,7 +43,6 @@
     api("androidx.paging:paging-common:3.1.1")
 
     androidTestImplementation(libs.kotlinCoroutinesTest)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.kotlinTestJunit)
     androidTestImplementation(libs.junit)
     androidTestImplementation(libs.testExtJunit)
diff --git a/room/room-runtime/build.gradle b/room/room-runtime/build.gradle
index b22e8f3..cfcc74c 100644
--- a/room/room-runtime/build.gradle
+++ b/room/room-runtime/build.gradle
@@ -54,9 +54,6 @@
             root = 'src/androidMain'
         }
     }
-    defaultConfig {
-        multiDexEnabled true
-    }
     buildFeatures {
         aidl = true
     }
diff --git a/samples/MediaRoutingDemo/build.gradle b/samples/MediaRoutingDemo/build.gradle
index 108ce24..6da205a 100644
--- a/samples/MediaRoutingDemo/build.gradle
+++ b/samples/MediaRoutingDemo/build.gradle
@@ -18,7 +18,6 @@
     implementation(project(":swiperefreshlayout:swiperefreshlayout"))
 
     implementation(libs.material)
-    implementation(libs.multidex)
     implementation(libs.guava)
 }
 
@@ -31,7 +30,6 @@
     }
     defaultConfig {
         vectorDrawables.useSupportLibrary = true
-        multiDexEnabled true
     }
     lint {
         baseline = file("lint-baseline.xml")
diff --git a/samples/MediaRoutingDemo/src/main/AndroidManifest.xml b/samples/MediaRoutingDemo/src/main/AndroidManifest.xml
index a7eca17..aa26fb7 100644
--- a/samples/MediaRoutingDemo/src/main/AndroidManifest.xml
+++ b/samples/MediaRoutingDemo/src/main/AndroidManifest.xml
@@ -32,8 +32,7 @@
         android:icon="@drawable/app_sample_code"
         android:label="@string/media_router_app_name"
         android:supportsRtl="true"
-        android:theme="@style/Theme.SampleMediaRouter"
-        android:name="androidx.multidex.MultiDexApplication">
+        android:theme="@style/Theme.SampleMediaRouter">
 
         <activity
             android:name=".activities.MainActivity"
diff --git a/samples/Support4Demos/build.gradle b/samples/Support4Demos/build.gradle
index 8ae4eda..7f821c2 100644
--- a/samples/Support4Demos/build.gradle
+++ b/samples/Support4Demos/build.gradle
@@ -27,13 +27,8 @@
     implementation(project(":coordinatorlayout:coordinatorlayout"))
     implementation("com.google.android.material:material:1.6.0")
     implementation(project(":appcompat:appcompat"))
-    implementation(libs.multidex)
 }
 
 android {
     namespace "com.example.android.supportv4"
-
-    defaultConfig {
-        multiDexEnabled true
-    }
 }
diff --git a/slice/slice-benchmark/build.gradle b/slice/slice-benchmark/build.gradle
index 2cb25fe..09530b3 100644
--- a/slice/slice-benchmark/build.gradle
+++ b/slice/slice-benchmark/build.gradle
@@ -43,7 +43,6 @@
     androidTestImplementation(libs.espressoCore, excludes.espresso)
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy)
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy)
-    androidTestImplementation(libs.multidex)
 }
 
 androidx {
@@ -61,7 +60,4 @@
 
 android {
     namespace "androidx.slice.benchmark"
-    defaultConfig {
-        multiDexEnabled = true
-    }
 }
diff --git a/startup/startup-runtime/build.gradle b/startup/startup-runtime/build.gradle
index 74ef161..177105e 100644
--- a/startup/startup-runtime/build.gradle
+++ b/startup/startup-runtime/build.gradle
@@ -32,7 +32,6 @@
 android {
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
-        multiDexKeepProguard file("multidex-rules.pro")
     }
     namespace "androidx.startup"
 }
diff --git a/startup/startup-runtime/multidex-rules.pro b/startup/startup-runtime/multidex-rules.pro
deleted file mode 100644
index 2e69eed..0000000
--- a/startup/startup-runtime/multidex-rules.pro
+++ /dev/null
@@ -1,2 +0,0 @@
--keep class androidx.startup.AppInitializer
--keep class * extends androidx.startup.Initializer
diff --git a/swiperefreshlayout/swiperefreshlayout/build.gradle b/swiperefreshlayout/swiperefreshlayout/build.gradle
index 5789f93..d79f78c 100644
--- a/swiperefreshlayout/swiperefreshlayout/build.gradle
+++ b/swiperefreshlayout/swiperefreshlayout/build.gradle
@@ -33,7 +33,6 @@
     androidTestImplementation(project(":recyclerview:recyclerview"), {
         exclude group: "androidx.swiperefreshlayout", module: "swiperefreshlayout"
     })
-    androidTestImplementation(libs.multidex)
 }
 
 androidx {
@@ -45,8 +44,5 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     namespace "androidx.swiperefreshlayout"
 }
diff --git a/transition/transition/build.gradle b/transition/transition/build.gradle
index bac866b..e9de30e 100644
--- a/transition/transition/build.gradle
+++ b/transition/transition/build.gradle
@@ -36,7 +36,6 @@
     androidTestImplementation(project(":internal-testutils-runtime"), {
         exclude group: "androidx.fragment", module: "fragment"
     })
-    androidTestImplementation(libs.multidex)
 }
 
 android {
@@ -46,9 +45,6 @@
     aaptOptions {
         additionalParameters "--no-version-transitions"
     }
-    defaultConfig {
-        multiDexEnabled = true
-    }
     namespace "androidx.transition"
 }
 
diff --git a/viewpager2/viewpager2/build.gradle b/viewpager2/viewpager2/build.gradle
index 101a186..56499ac 100644
--- a/viewpager2/viewpager2/build.gradle
+++ b/viewpager2/viewpager2/build.gradle
@@ -37,7 +37,6 @@
     api("androidx.recyclerview:recyclerview:1.3.1")
     implementation("androidx.collection:collection:1.1.0")
 
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testUiautomator)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
@@ -69,7 +68,4 @@
 
 android {
     namespace "androidx.viewpager2"
-    defaultConfig {
-        multiDexEnabled = true
-    }
 }
diff --git a/viewpager2/viewpager2/src/androidTest/AndroidManifest.xml b/viewpager2/viewpager2/src/androidTest/AndroidManifest.xml
index 70a62cfe..9183dc0 100755
--- a/viewpager2/viewpager2/src/androidTest/AndroidManifest.xml
+++ b/viewpager2/viewpager2/src/androidTest/AndroidManifest.xml
@@ -18,9 +18,7 @@
     xmlns:tools="http://schemas.android.com/tools">
 
     <uses-sdk tools:overrideLibrary="android_libs.ub_uiautomator, androidx.test.uiautomator" />
-    <application
-        android:name="androidx.multidex.MultiDexApplication"
-        android:supportsRtl="true">
+    <application android:supportsRtl="true">
         <activity android:name="androidx.viewpager2.widget.swipe.TestActivity"
                   android:theme="@style/Theme.AppCompat"/>
     </application>
diff --git a/webkit/integration-tests/instrumentation/build.gradle b/webkit/integration-tests/instrumentation/build.gradle
index db5d7d4..1a7a216 100644
--- a/webkit/integration-tests/instrumentation/build.gradle
+++ b/webkit/integration-tests/instrumentation/build.gradle
@@ -15,9 +15,6 @@
 android {
     namespace 'androidx.webkit.instrumentation'
 
-    defaultConfig {
-        multiDexEnabled = true
-    }
     flavorDimensions = ["targetSdk"]
 
     productFlavors {
@@ -43,7 +40,6 @@
     androidTestImplementation("androidx.concurrent:concurrent-futures:1.0.0")
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has it"s own MockMaker
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy)
-    androidTestImplementation(libs.multidex)
 
     // Hamcrest matchers:
     androidTestImplementation(libs.bundles.espressoContrib, excludes.espresso)
diff --git a/webkit/webkit/build.gradle b/webkit/webkit/build.gradle
index c9ca7ad..bf612b6 100644
--- a/webkit/webkit/build.gradle
+++ b/webkit/webkit/build.gradle
@@ -43,7 +43,6 @@
     androidTestImplementation("androidx.concurrent:concurrent-futures:1.0.0")
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has it"s own MockMaker
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy)
-    androidTestImplementation(libs.multidex)
 
     // Hamcrest matchers:
     androidTestImplementation(libs.bundles.espressoContrib, excludes.espresso)
@@ -63,9 +62,6 @@
         // Allow compiling the WebView support library boundary interfaces from this project.
         main.java.srcDirs += new File(webviewBoundaryInterfacesDir, "src").getCanonicalPath()
     }
-    defaultConfig {
-        multiDexEnabled = true
-    }
     buildTypes.configureEach {
         consumerProguardFiles(
                 new File(webviewBoundaryInterfacesDir, "proguard.flags"),
diff --git a/window/window-rxjava2/build.gradle b/window/window-rxjava2/build.gradle
index dd849e3..d2738a8 100644
--- a/window/window-rxjava2/build.gradle
+++ b/window/window-rxjava2/build.gradle
@@ -31,9 +31,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     namespace "androidx.window.rxjava2"
 }
 
@@ -52,7 +49,6 @@
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy)
     androidTestImplementation(libs.mockitoKotlin, excludes.bytebuddy)
     androidTestImplementation(libs.kotlinCoroutinesTest)
-    androidTestImplementation(libs.multidex)
 }
 
 androidx {
diff --git a/window/window-rxjava3/build.gradle b/window/window-rxjava3/build.gradle
index 8e24e21..acbc9de 100644
--- a/window/window-rxjava3/build.gradle
+++ b/window/window-rxjava3/build.gradle
@@ -31,9 +31,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     namespace "androidx.window.rxjava3"
 }
 
@@ -52,7 +49,6 @@
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy)
     androidTestImplementation(libs.mockitoKotlin, excludes.bytebuddy)
     androidTestImplementation(libs.kotlinCoroutinesTest)
-    androidTestImplementation(libs.multidex)
 }
 
 androidx {
diff --git a/window/window-testing/build.gradle b/window/window-testing/build.gradle
index 0e5fe4b..328cd60 100644
--- a/window/window-testing/build.gradle
+++ b/window/window-testing/build.gradle
@@ -31,9 +31,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     namespace "androidx.window.testing"
 }
 
@@ -49,7 +46,6 @@
     androidTestImplementation(libs.testRunner)
     androidTestImplementation(libs.testRules)
     androidTestImplementation(libs.kotlinCoroutinesTest)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.truth)
 
     testImplementation(libs.robolectric)
diff --git a/window/window/build.gradle b/window/window/build.gradle
index 076e5af..d65067d 100644
--- a/window/window/build.gradle
+++ b/window/window/build.gradle
@@ -31,9 +31,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
@@ -93,7 +90,6 @@
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy)
     androidTestImplementation(libs.mockitoKotlin, excludes.bytebuddy)
     androidTestImplementation(libs.kotlinCoroutinesTest)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.truth)
     androidTestImplementation(libs.junit) // Needed for Assert.assertThrows
     androidTestImplementation(extensions_core_version)
diff --git a/work/work-multiprocess/build.gradle b/work/work-multiprocess/build.gradle
index 4bbfa45..733379d 100644
--- a/work/work-multiprocess/build.gradle
+++ b/work/work-multiprocess/build.gradle
@@ -30,9 +30,6 @@
 }
 
 android {
-    defaultConfig {
-        multiDexEnabled = true
-    }
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
     }
@@ -54,7 +51,6 @@
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has its own MockMaker
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy) // DexMaker has its own MockMaker
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
 }
 
 androidx {
diff --git a/work/work-multiprocess/src/androidTest/AndroidManifest.xml b/work/work-multiprocess/src/androidTest/AndroidManifest.xml
index e8e40b8..65e7ba6 100644
--- a/work/work-multiprocess/src/androidTest/AndroidManifest.xml
+++ b/work/work-multiprocess/src/androidTest/AndroidManifest.xml
@@ -15,7 +15,7 @@
   -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <application android:name="androidx.multidex.MultiDexApplication">
+    <application>
         <service android:name="androidx.work.multiprocess.RemoteWorkerService" />
 
         <service
diff --git a/work/work-runtime/build.gradle b/work/work-runtime/build.gradle
index 12a267e..1545264 100644
--- a/work/work-runtime/build.gradle
+++ b/work/work-runtime/build.gradle
@@ -45,7 +45,6 @@
         }
     }
     defaultConfig {
-        multiDexEnabled = true
         javaCompileOptions {
             annotationProcessorOptions {
                 arguments = [
@@ -76,7 +75,6 @@
     api(libs.kotlinStdlib)
     api(libs.kotlinCoroutinesAndroid)
     androidTestImplementation(libs.kotlinCoroutinesTest)
-    androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.truth)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
diff --git a/work/work-runtime/src/androidTest/AndroidManifest.xml b/work/work-runtime/src/androidTest/AndroidManifest.xml
index 95dec8b..8b15e47 100644
--- a/work/work-runtime/src/androidTest/AndroidManifest.xml
+++ b/work/work-runtime/src/androidTest/AndroidManifest.xml
@@ -26,7 +26,7 @@
         android:maxSdkVersion="32"/>
     <uses-permission android:name="android.permission.USE_EXACT_ALARM"/>
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
-    <application android:name="androidx.multidex.MultiDexApplication">
+    <application>
         <service android:name="androidx.work.impl.foreground.SystemForegroundService"
             android:foregroundServiceType="specialUse" />
         <service
diff --git a/work/work-testing/build.gradle b/work/work-testing/build.gradle
index 98400b8..32597de 100644
--- a/work/work-testing/build.gradle
+++ b/work/work-testing/build.gradle
@@ -44,7 +44,6 @@
     androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has it"s own MockMaker
     androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy) // DexMaker has it"s own MockMaker
     androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.multidex)
 
     testImplementation(libs.truth)
     testImplementation(libs.testCore)
@@ -65,7 +64,4 @@
 
 android {
     namespace "androidx.work.testing"
-    defaultConfig {
-        multiDexEnabled = true
-    }
 }