# com.android.build.api.variant

# com.android.build.api.variant

## Interfaces

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Aapt2](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Aapt2)                                                                                 | Provides structured access to AAPT2 tool.                                                                                                                                                                                                                                                                                                                                                                    |
| [AarMetadata](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AarMetadata)                                                                     | Build-time properties for AAR Metadata inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component)                                                                                                                                                                                                                                             |
| [Aidl](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Aidl)                                                                                   | Provides structured access to various AIDL tools such as the aidl compiler executable and aidl framework.                                                                                                                                                                                                                                                                                                    |
| [AndroidComponents](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidComponents)                                                         |                                                                                                                                                                                                                                                                                                                                                                                                              |
| [AndroidComponentsExtension](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidComponentsExtension)                                       | Generic extension for Android Gradle Plugin related components.                                                                                                                                                                                                                                                                                                                                              |
| [AndroidResources](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidResources)                                                           | Build-time properties for Android Resources inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                                       |
| [AndroidResourcesBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidResourcesBuilder)                                             | Build-time properties for Android Resources inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                                       |
| [AndroidTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidTest)                                                                     | Model for Android Test components that contains build-time properties                                                                                                                                                                                                                                                                                                                                        |
| [AndroidTestBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidTestBuilder)                                                       |                                                                                                                                                                                                                                                                                                                                                                                                              |
| [AndroidVersion](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidVersion)                                                               | A version of the Android platform.                                                                                                                                                                                                                                                                                                                                                                           |
| [AnnotationProcessor](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AnnotationProcessor)                                                     | Build-time properties for Java annotation processors inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component)                                                                                                                                                                                                                               |
| [ApkInstallGroup](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ApkInstallGroup)                                                             | An interface representing a set of APKs files and that are installed as a unit on a device.                                                                                                                                                                                                                                                                                                                  |
| [ApkOutput](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ApkOutput)                                                                         | Provides an ordered collection of APK batches, each intended for local installation, facilitating staged installations.                                                                                                                                                                                                                                                                                      |
| [ApkOutputProviders](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ApkOutputProviders)                                                       | Provides APIs to obtain ordered collection of APK batches, each intended for local installation, facilitating staged installations.                                                                                                                                                                                                                                                                          |
| [ApkPackaging](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ApkPackaging)                                                                   | Build-time properties for APK packaging inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                                           |
| [ApplicationAndroidComponentsExtension](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ApplicationAndroidComponentsExtension)                 | Extension for the Android Application Gradle Plugin components.                                                                                                                                                                                                                                                                                                                                              |
| [ApplicationAndroidResources](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ApplicationAndroidResources)                                     | Build-time properties for Android Resources inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                                       |
| [ApplicationAndroidResourcesBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ApplicationAndroidResourcesBuilder)                       | Build-time properties for Android Resources inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                                       |
| [ApplicationVariant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ApplicationVariant)                                                       | Model for application components that only contains build-time properties.                                                                                                                                                                                                                                                                                                                                   |
| [ApplicationVariantBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ApplicationVariantBuilder)                                         | Model for application components that only contains configuration-time properties that impacts the build flow.                                                                                                                                                                                                                                                                                               |
| [BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/BuiltArtifact)                                                                 | Represents a built artifact that is present in the file system.                                                                                                                                                                                                                                                                                                                                              |
| [BuiltArtifacts](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/BuiltArtifacts)                                                               | Represents a[Collection](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html)of[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/BuiltArtifact)produced by a[org.gradle.api.Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html).                                                             |
| [BuiltArtifacts.TransformParams](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/BuiltArtifacts.TransformParams)                               | Specialized version of Gradle's[WorkParameters](https://docs.gradle.org/current/javadoc/org/gradle/workers/WorkParameters.html)so we can retrieve the output file generated when transforming an instance of[BuiltArtifacts](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/BuiltArtifacts)into a new one.                                                       |
| [BuiltArtifactsLoader](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/BuiltArtifactsLoader)                                                   | Facility to load[BuiltArtifacts](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/BuiltArtifacts)instances from metadata files in the file system.                                                                                                                                                                                                                 |
| [BundleConfig](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/BundleConfig)                                                                   | Information related to the actions creating a bundle (.aab) file for the variant.                                                                                                                                                                                                                                                                                                                            |
| [CanMinifyAndroidResources](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/CanMinifyAndroidResources)                                         | Build-time properties for[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component)that can minify Android resources.                                                                                                                                                                                                                                 |
| [CanMinifyAndroidResourcesBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/CanMinifyAndroidResourcesBuilder)                           | Interface for component builder that can shrink resources                                                                                                                                                                                                                                                                                                                                                    |
| [CanMinifyCode](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/CanMinifyCode)                                                                 | Build-time properties for[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component)that can minify code.                                                                                                                                                                                                                                              |
| [CanMinifyCodeBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/CanMinifyCodeBuilder)                                                   | Interface for component builder that can minify code                                                                                                                                                                                                                                                                                                                                                         |
| [CanProduceConsumerProguardFiles](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/CanProduceConsumerProguardFiles)                             | Component that optionally produces consumer proguard files.                                                                                                                                                                                                                                                                                                                                                  |
| [CodeTransparency](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/CodeTransparency)                                                           |                                                                                                                                                                                                                                                                                                                                                                                                              |
| [Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component)                                                                         | Model for components that only contains build-time properties                                                                                                                                                                                                                                                                                                                                                |
| [ComponentBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ComponentBuilder)                                                           | Model for components that only contains configuration-time properties that impacts the build flow.                                                                                                                                                                                                                                                                                                           |
| [ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ComponentIdentity)                                                         | Variant Configuration represents the identify of a variant                                                                                                                                                                                                                                                                                                                                                   |
| [DependenciesInfo](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DependenciesInfo)                                                           | Read-only object to access dependencies information properties during com.android.build.api.variant.AndroidComponentsExtension#onVariants                                                                                                                                                                                                                                                                    |
| [DependenciesInfoBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DependenciesInfoBuilder)                                             | Interface for component builder that specifies whether to include SDK dependency information in APKs and Bundles for the variant                                                                                                                                                                                                                                                                             |
| [DeviceTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DeviceTest)                                                                       | Model for Device Test components that contains build-time properties                                                                                                                                                                                                                                                                                                                                         |
| [DeviceTestBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DeviceTestBuilder)                                                         | Interface to turn tests on devices,`AndroidTest`being an example of device tests.                                                                                                                                                                                                                                                                                                                            |
| [DexPackagingOptions](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DexPackagingOptions)                                                     | Build-time properties for packaging dex files inside an APK[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                                |
| [Dexing](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Dexing)                                                                               | Settings related to how dex files are produced.                                                                                                                                                                                                                                                                                                                                                              |
| [DslLifecycle](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DslLifecycle)                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                              |
| [DynamicFeatureAndroidComponentsExtension](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DynamicFeatureAndroidComponentsExtension)           | Extension for the Android Dynamic Feature Gradle Plugin components.                                                                                                                                                                                                                                                                                                                                          |
| [DynamicFeatureVariant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DynamicFeatureVariant)                                                 | Model for dynamic feature components that only contains build-time properties.                                                                                                                                                                                                                                                                                                                               |
| [DynamicFeatureVariantBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DynamicFeatureVariantBuilder)                                   | Model for dynamic feature components that only contains configuration-time properties that impacts the build flow.                                                                                                                                                                                                                                                                                           |
| [ExternalNativeBuild](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ExternalNativeBuild)                                                     | Parameters to use when building native components.                                                                                                                                                                                                                                                                                                                                                           |
| [ExternalNdkBuild](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ExternalNdkBuild)                                                           | Interface for ndk-build per-variant info.                                                                                                                                                                                                                                                                                                                                                                    |
| [FilterConfiguration](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/FilterConfiguration)                                                     | Immutable filter configuration.                                                                                                                                                                                                                                                                                                                                                                              |
| [GeneratesAar](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/GeneratesAar)                                                                   | Build-time properties for[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component)that generate AARs.                                                                                                                                                                                                                                                |
| [GeneratesApk](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/GeneratesApk)                                                                   | Build-time properties for[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component)that produce APKs.                                                                                                                                                                                                                                                 |
| [GeneratesApkBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/GeneratesApkBuilder)                                                     | Configuration-time properties[ComponentBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ComponentBuilder)that produce APKs.                                                                                                                                                                                                                               |
| [GeneratesTestApk](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/GeneratesTestApk)                                                           | Build-time properties for[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component)that produce test APKs.                                                                                                                                                                                                                                            |
| [GeneratesTestApkBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/GeneratesTestApkBuilder)                                             | Configuration-time properties[ComponentBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ComponentBuilder)that produce Test APKs.                                                                                                                                                                                                                          |
| [HasAndroidResources](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasAndroidResources)                                                     | Build-time properties for[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component)that have Android resources.                                                                                                                                                                                                                                       |
| [HasAndroidTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasAndroidTest)                                                               | [Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant)that optionally have[AndroidTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidTest)component.                                                                                                                                             |
| [HasAndroidTestBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasAndroidTestBuilder)                                                 | Interface that marks the potential existence of[AndroidTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidTest)component on a[Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant).                                                                                                             |
| [HasDeviceTests](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasDeviceTests)                                                               | [Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant)that optionally have[DeviceTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DeviceTest)components like[AndroidTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidTest).                    |
| [HasDeviceTestsBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasDeviceTestsBuilder)                                                 | Interface that marks the potential existence of[DeviceTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DeviceTest)component on a[Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant).                                                                                                               |
| [HasHostTests](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasHostTests)                                                                   | [Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant)that optionally have[HostTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HostTest)components like[UnitTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/UnitTest).                              |
| [HasHostTestsBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasHostTestsBuilder)                                                     | Interface that marks the potential existence of[HostTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HostTest)components on a[Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant).                                                                                                                  |
| [HasTestFixtures](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasTestFixtures)                                                             | [Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant)that optionally have[TestFixtures](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestFixtures)component.                                                                                                                                           |
| [HasTestFixturesBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasTestFixturesBuilder)                                               | Interface that marks the potential existence of[TestFixtures](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestFixtures)component on a[Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant).                                                                                                           |
| [HasTestSuites](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasTestSuites)                                                                 | [Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant)that optionally have[TestSuite](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestSuite)s.                                                                                                                                                         |
| [HasTestSuitesBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasTestSuitesBuilder)                                                   | Container of[TestSuiteBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestSuiteBuilder)                                                                                                                                                                                                                                                                  |
| [HasUnitTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasUnitTest)                                                                     | [Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant)that optionally have[UnitTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/UnitTest)component.                                                                                                                                                   |
| [HasUnitTestBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HasUnitTestBuilder)                                                       | Interface that marks the potential existence of[UnitTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/UnitTest)component on a[Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant).                                                                                                                   |
| [HostTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HostTest)                                                                           | Model for Host Test components that contains build-time properties.                                                                                                                                                                                                                                                                                                                                          |
| [HostTestBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/HostTestBuilder)                                                             | Interface to turn on or off host tests.                                                                                                                                                                                                                                                                                                                                                                      |
| [Instrumentation](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Instrumentation)                                                             | Options to register asm class visitors and to configure the instrumentation process.                                                                                                                                                                                                                                                                                                                         |
| [JUnitEngineSpec](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/JUnitEngineSpec)                                                             |                                                                                                                                                                                                                                                                                                                                                                                                              |
| [JUnitEngineSpecBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/JUnitEngineSpecBuilder)                                               |                                                                                                                                                                                                                                                                                                                                                                                                              |
| [JavaCompilation](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/JavaCompilation)                                                             | Build-time properties for Java compile inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component)                                                                                                                                                                                                                                             |
| [JniLibsApkPackaging](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/JniLibsApkPackaging)                                                     | Build-time properties for packaging native libraries (.so) inside an APK[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                   |
| [JniLibsPackaging](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/JniLibsPackaging)                                                           | Build-time properties for packaging native libraries (.so) inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                        |
| [JniLibsTestedApkPackaging](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/JniLibsTestedApkPackaging)                                         | Build-time properties for packaging native libraries (.so) inside a tested APK[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                             |
| [JniLibsTestedComponentPackaging](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/JniLibsTestedComponentPackaging)                             | Build-time properties for packaging native libraries (.so) inside a tested[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                 |
| [KotlinMultiplatformAndroidComponentsExtension](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/KotlinMultiplatformAndroidComponentsExtension) | Components extension for KMP Android Gradle Plugin related components.                                                                                                                                                                                                                                                                                                                                       |
| [KotlinMultiplatformAndroidVariant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/KotlinMultiplatformAndroidVariant)                         | Properties for the main Variant of a kotlin multiplatform android library                                                                                                                                                                                                                                                                                                                                    |
| [KotlinMultiplatformAndroidVariantBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/KotlinMultiplatformAndroidVariantBuilder)           | Model for kotlin multiplatform library components that only contains configuration-time properties that impacts the build flow.                                                                                                                                                                                                                                                                              |
| [LibraryAndroidComponentsExtension](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/LibraryAndroidComponentsExtension)                         | Extension for the Android Library Gradle Plugin components.                                                                                                                                                                                                                                                                                                                                                  |
| [LibraryVariant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/LibraryVariant)                                                               | Model for library components that only contains build-time properties.                                                                                                                                                                                                                                                                                                                                       |
| [LibraryVariantBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/LibraryVariantBuilder)                                                 | Model for library components that only contains configuration-time properties that impacts the build flow.                                                                                                                                                                                                                                                                                                   |
| [LifecycleTasks](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/LifecycleTasks)                                                               | Lifecycle tasks created by the AGP plugins.                                                                                                                                                                                                                                                                                                                                                                  |
| [LintLifecycleExtension](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/LintLifecycleExtension)                                               |                                                                                                                                                                                                                                                                                                                                                                                                              |
| [ManifestFiles](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ManifestFiles)                                                                 | Defines a set of manifests for particular variant.                                                                                                                                                                                                                                                                                                                                                           |
| [Packaging](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Packaging)                                                                         | Build-time properties for common packaging inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                                        |
| [Renderscript](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Renderscript)                                                                   | Build-time properties for renderscript inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                                            |
| [ResValue.Key](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ResValue.Key)                                                                   | a generated resource is identified by its type+name as you can create                                                                                                                                                                                                                                                                                                                                        |
| [ResourcesPackaging](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ResourcesPackaging)                                                       | Build-time properties for packaging Java resources inside a[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                                |
| [ScopedArtifacts](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ScopedArtifacts)                                                             | Scoped artifacts are artifacts that can be made available in the current variant scope, or may be optionally include the project's dependencies in the results.                                                                                                                                                                                                                                              |
| [ScopedArtifactsOperation](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ScopedArtifactsOperation)                                           | Defines all possible operations on a[ScopedArtifact](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/artifact/ScopedArtifact)artifact type.                                                                                                                                                                                                                               |
| [SigningConfig](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/SigningConfig)                                                                 | Defines a variant's signing config.                                                                                                                                                                                                                                                                                                                                                                          |
| [SourceDirectories](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/SourceDirectories)                                                         | Defines all common behaviors to sources access in AGP.                                                                                                                                                                                                                                                                                                                                                       |
| [SourceDirectories.Flat](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/SourceDirectories.Flat)                                               | Represents all the source folders for a source type in the variant.                                                                                                                                                                                                                                                                                                                                          |
| [SourceDirectories.Layered](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/SourceDirectories.Layered)                                         | Represent a collection of directories that have overlay properties to each other.                                                                                                                                                                                                                                                                                                                            |
| [Sources](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Sources)                                                                             | Provides access to all source directories for a[Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant).                                                                                                                                                                                                                                                |
| [TestAndroidComponentsExtension](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestAndroidComponentsExtension)                               | Extension for the Android Test Gradle Plugin components.                                                                                                                                                                                                                                                                                                                                                     |
| [TestComponent](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestComponent)                                                                 | Model for test components that contains build-time properties.                                                                                                                                                                                                                                                                                                                                               |
| [TestFixtures](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestFixtures)                                                                   | Model for Test Fixtures components that contains build-time properties                                                                                                                                                                                                                                                                                                                                       |
| [TestSuite](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestSuite)                                                                         | Model for test suites.                                                                                                                                                                                                                                                                                                                                                                                       |
| [TestSuiteBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestSuiteBuilder)                                                           | Interface to configure[TestSuite](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestSuite)during the[AndroidComponentsExtension.beforeVariants](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidComponentsExtension#beforeVariants(com.android.build.api.variant.VariantSelector,kotlin.Function1))callbacks. |
| [TestSuiteSource](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestSuiteSource)                                                             | A test source abstraction which can be either an asset folder, a host jar source, or a test apk source.                                                                                                                                                                                                                                                                                                      |
| [TestSuiteTarget](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestSuiteTarget)                                                             | Model for running a[TestSuite](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestSuite)in a context (local attached devices, gmd, etc...)                                                                                                                                                                                                                       |
| [TestSuiteTargetBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestSuiteTargetBuilder)                                               | Test suite target builder.                                                                                                                                                                                                                                                                                                                                                                                   |
| [TestVariant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestVariant)                                                                     | Model for test components that only contains build-time properties.                                                                                                                                                                                                                                                                                                                                          |
| [TestVariantBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestVariantBuilder)                                                       | Model for test components that only contains configuration-time properties that impacts the build flow.                                                                                                                                                                                                                                                                                                      |
| [TestedApkPackaging](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestedApkPackaging)                                                       | Build-time properties for packaging inside a tested APK[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                                    |
| [TestedComponentPackaging](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestedComponentPackaging)                                           | Build-time properties for packaging inside a tested[Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component).                                                                                                                                                                                                                                        |
| [UnitTest](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/UnitTest)                                                                           | [Component](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Component)for unit tests                                                                                                                                                                                                                                                                              |
| [Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant)                                                                             | Model for variant components that only contains build-time properties                                                                                                                                                                                                                                                                                                                                        |
| [VariantBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/VariantBuilder)                                                               | Model for variant components that only contains configuration-time properties that impacts the build flow.                                                                                                                                                                                                                                                                                                   |
| [VariantExtension](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/VariantExtension)                                                           | Marker type for[Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant)extension objects.                                                                                                                                                                                                                                                               |
| [VariantExtensionConfig](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/VariantExtensionConfig)                                               | Configuration object passed to the lambda responsible for creating a[com.android.build.api.variant.VariantExtension](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/VariantExtension)for each[com.android.build.api.variant.Variant](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/Variant)instance.                |
| [VariantFilter](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/VariantFilter)                                                                 | **This interface is deprecated.**Use AndroidComponentsExtension.beforeVariants API to disable specific variants                                                                                                                                                                                                                                                                                              |
| [VariantOutput](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/VariantOutput)                                                                 | Defines a variant output.                                                                                                                                                                                                                                                                                                                                                                                    |
| [VariantOutputConfiguration](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/VariantOutputConfiguration)                                       | Configuration for a given build output.                                                                                                                                                                                                                                                                                                                                                                      |
| [VariantSelector](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/VariantSelector)                                                             | Selector to reduce the number of variants that are of interests when calling any of the variant API like[AndroidComponentsExtension.beforeVariants](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/AndroidComponentsExtension#beforeVariants(com.android.build.api.variant.VariantSelector,kotlin.Function1)).                                                   |

## Classes

|-----------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [BuildConfigField](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/BuildConfigField)         | Field definition for the generated BuildConfig class.                                                                                                                                                                                                                                                                                                      |
| [DeviceSpec](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DeviceSpec)                     | A class representing device-specific attributes.                                                                                                                                                                                                                                                                                                           |
| [DeviceSpec.Builder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DeviceSpec.Builder)     |                                                                                                                                                                                                                                                                                                                                                            |
| [DslExtension](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DslExtension)                 | Third party DSL extension configuration.                                                                                                                                                                                                                                                                                                                   |
| [DslExtension.Builder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DslExtension.Builder) | Creates a[Builder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DslExtension.Builder)to instance to create a[DslExtension](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/DslExtension)containing all desired extension points to the Android Gradle Plugin DSL. |
| [ResValue](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ResValue)                         | Resource to be generated by the build system.                                                                                                                                                                                                                                                                                                              |

## Exceptions

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [PropertyAccessNotAllowedException](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/PropertyAccessNotAllowedException) | Exception thrown when users are trying to access[VariantBuilder](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/VariantBuilder)properties. |

## Enums

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------|
| [FilterConfiguration.FilterType](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/FilterConfiguration.FilterType)               | Split dimension type          |
| [ScopedArtifacts.Scope](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/ScopedArtifacts.Scope)                                 | Defines possible scopes.      |
| [TestSuiteSourceType](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/TestSuiteSourceType)                                     | Type of a source abstraction. |
| [VariantOutputConfiguration.OutputType](https://developer.android.com/reference/tools/gradle-api/9.0/com/android/build/api/variant/VariantOutputConfiguration.OutputType) | The type of an output.        |