# com.android.build.api.variant

## Interfaces

|---|---|
| [Aapt2](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Aapt2) | Provides structured access to AAPT2 tool. |
| [AarMetadata](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/AarMetadata) | Build-time properties for AAR Metadata inside a [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component) |
| [Aidl](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/AndroidComponents) |   |
| [AndroidComponentsExtension](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/AndroidComponentsExtension) | Generic extension for Android Gradle Plugin related components. |
| [AndroidResources](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/AndroidResources) | Build-time properties for Android Resources inside a [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component). |
| [AndroidResourcesBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/AndroidResourcesBuilder) | Build-time properties for Android Resources inside a [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component). |
| [AndroidTest](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/AndroidTestBuilder) |   |
| [AndroidVersion](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/AndroidVersion) | A version of the Android platform. |
| [AnnotationProcessor](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/Component) |
| [ApkInstallGroup](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/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.1/com/android/build/api/variant/ApkPackaging) | Build-time properties for APK packaging inside a [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component). |
| [ApplicationAndroidComponentsExtension](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/ApplicationAndroidComponentsExtension) | Extension for the Android Application Gradle Plugin components. |
| [ApplicationAndroidResources](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/ApplicationAndroidResources) | Build-time properties for Android Resources inside a [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component). |
| [ApplicationAndroidResourcesBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/ApplicationAndroidResourcesBuilder) | Build-time properties for Android Resources inside a [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component). |
| [ApplicationVariant](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/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.1/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.1/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.1/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.1/com/android/build/api/variant/BuiltArtifacts) into a new one. |
| [BuiltArtifactsLoader](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/BuiltArtifactsLoader) | Facility to load [BuiltArtifacts](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/BuiltArtifacts) instances from metadata files in the file system. |
| [BundleConfig](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/CanMinifyAndroidResources) | Build-time properties for [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component) that can minify Android resources. |
| [CanMinifyAndroidResourcesBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/CanMinifyAndroidResourcesBuilder) | Interface for component builder that can shrink resources |
| [CanMinifyCode](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/CanMinifyCode) | Build-time properties for [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component) that can minify code. |
| [CanMinifyCodeBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/CanMinifyCodeBuilder) | Interface for component builder that can minify code |
| [CanProduceConsumerProguardFiles](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/CanProduceConsumerProguardFiles) | Component that optionally produces consumer proguard files. |
| [CodeTransparency](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/CodeTransparency) |   |
| [Component](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/com/android/build/api/variant/ComponentIdentity) | Variant Configuration represents the identify of a variant |
| [DependenciesInfo](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/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.1/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.1/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.1/com/android/build/api/variant/Component). |
| [Dexing](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Dexing) | Settings related to how dex files are produced. |
| [DslLifecycle](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/DslLifecycle) |   |
| [DynamicFeatureAndroidComponentsExtension](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/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.1/com/android/build/api/variant/ExternalNativeBuild) | Parameters to use when building native components. |
| [ExternalNdkBuild](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/ExternalNdkBuild) | Interface for ndk-build per-variant info. |
| [FilterConfiguration](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/FilterConfiguration) | Immutable filter configuration. |
| [GeneratesAar](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/GeneratesAar) | Build-time properties for [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component) that generate AARs. |
| [GeneratesApk](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/GeneratesApk) | Build-time properties for [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component) that produce APKs. |
| [GeneratesApkBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/GeneratesApkBuilder) | Configuration-time properties [ComponentBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/ComponentBuilder) that produce APKs. |
| [GeneratesTestApk](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/GeneratesTestApk) | Build-time properties for [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component) that produce test APKs. |
| [GeneratesTestApkBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/GeneratesTestApkBuilder) | Configuration-time properties [ComponentBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/ComponentBuilder) that produce Test APKs. |
| [HasAndroidResources](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasAndroidResources) | Build-time properties for [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component) that have Android resources. |
| [HasAndroidTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasAndroidTest) | [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant) that optionally have [AndroidTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/AndroidTest) component. |
| [HasAndroidTestBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasAndroidTestBuilder) | Interface that marks the potential existence of [AndroidTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/AndroidTest) component on a [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant). |
| [HasDeviceTests](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasDeviceTests) | [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant) that optionally have [DeviceTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/DeviceTest) components like [AndroidTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/AndroidTest). |
| [HasDeviceTestsBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasDeviceTestsBuilder) | Interface that marks the potential existence of [DeviceTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/DeviceTest) component on a [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant). |
| [HasHostTests](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasHostTests) | [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant) that optionally have [HostTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HostTest) components like [UnitTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/UnitTest). |
| [HasHostTestsBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasHostTestsBuilder) | Interface that marks the potential existence of [HostTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HostTest) components on a [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant). |
| [HasTestFixtures](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasTestFixtures) | [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant) that optionally have [TestFixtures](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestFixtures) component. |
| [HasTestFixturesBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasTestFixturesBuilder) | Interface that marks the potential existence of [TestFixtures](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestFixtures) component on a [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant). |
| [HasTestSuites](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasTestSuites) | [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant) that optionally have [TestSuite](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuite)s. |
| [HasTestSuitesBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasTestSuitesBuilder) | Container of [TestSuiteBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuiteBuilder) |
| [HasUnitTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasUnitTest) | [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant) that optionally have [UnitTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/UnitTest) component. |
| [HasUnitTestBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/HasUnitTestBuilder) | Interface that marks the potential existence of [UnitTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/UnitTest) component on a [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant). |
| [HostTest](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/HostTestBuilder) | Interface to turn on or off host tests. |
| [Instrumentation](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/JUnitEngineSpec) |   |
| [JUnitEngineSpecBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/JUnitEngineSpecBuilder) |   |
| [JavaCompilation](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/JavaCompilation) | Build-time properties for Java compile inside a [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component) |
| [JniLibsApkPackaging](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/Component). |
| [JniLibsPackaging](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/Component). |
| [JniLibsTestedApkPackaging](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/Component). |
| [JniLibsTestedComponentPackaging](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/Component). |
| [KotlinMultiplatformAndroidComponentsExtension](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/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.1/com/android/build/api/variant/LibraryAndroidComponentsExtension) | Extension for the Android Library Gradle Plugin components. |
| [LibraryVariant](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/com/android/build/api/variant/LifecycleTasks) | Lifecycle tasks created by the AGP plugins. |
| [LintLifecycleExtension](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/LintLifecycleExtension) |   |
| [ManifestFiles](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/ManifestFiles) | Defines a set of manifests for particular variant. |
| [Packaging](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Packaging) | Build-time properties for common packaging inside a [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component). |
| [Renderscript](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Renderscript) | Build-time properties for renderscript inside a [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component). |
| [ResValue.Key](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/ResValue.Key) | a generated resource is identified by its type+name as you can create @string/foo and @dimen/foo, |
| [ResourcesPackaging](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/Component). |
| [ScopedArtifacts](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/ScopedArtifactsOperation) | Defines all possible operations on a [ScopedArtifact](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/artifact/ScopedArtifact) artifact type. |
| [SigningConfig](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/SigningConfig) | Defines a variant's signing config. |
| [SourceDirectories](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/SourceDirectories.Flat) | Represents all the source folders for a source type. |
| [SourceDirectories.Layered](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/Sources) | Provides access to all source directories for a [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant). |
| [TestAndroidComponentsExtension](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestAndroidComponentsExtension) | Extension for the Android Test Gradle Plugin components. |
| [TestComponent](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/com/android/build/api/variant/TestSuite) | Model for test suites. |
| [TestSuiteBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuiteBuilder) | Interface to configure [TestSuite](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuite) during the [AndroidComponentsExtension.beforeVariants](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/AndroidComponentsExtension#beforeVariants(com.android.build.api.variant.VariantSelector,kotlin.Function1)) callbacks. |
| [TestSuiteSourceSet](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuiteSourceSet) | A test source abstraction which can be either an asset folder, a host jar source, or a test apk source. |
| [TestSuiteSourceSet.Assets](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuiteSourceSet.Assets) | Represents a [TestSuiteSourceSet](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuiteSourceSet) for asset based tests. |
| [TestSuiteSourceSet.HostJar](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuiteSourceSet.HostJar) | Represents a [TestSuiteSourceSet](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuiteSourceSet) for host jars. |
| [TestSuiteSourceSet.TestApk](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuiteSourceSet.TestApk) | Represents a [TestSuiteSourceSet](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuiteSourceSet) for test apks. |
| [TestSuiteTarget](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuiteTarget) | Model for running a [TestSuite](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuite) in a context (local attached devices, gmd, etc...) |
| [TestSuiteTargetBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestSuiteTargetBuilder) | Test suite target builder. |
| [TestVariant](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/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.1/com/android/build/api/variant/Component). |
| [TestedComponentPackaging](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/TestedComponentPackaging) | Build-time properties for packaging inside a tested [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component). |
| [UnitTest](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/UnitTest) | [Component](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Component) for unit tests |
| [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/com/android/build/api/variant/VariantExtension) | Marker type for [Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant) extension objects. |
| [VariantExtensionConfig](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/VariantExtension) for each [com.android.build.api.variant.Variant](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/Variant) instance. |
| [VariantFilter](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/com/android/build/api/variant/VariantOutput) | Defines a variant output. |
| [VariantOutputConfiguration](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/VariantOutputConfiguration) | Configuration for a given build output. |
| [VariantSelector](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/com/android/build/api/variant/BuildConfigField) | Field definition for the generated BuildConfig class. |
| [DeviceSpec](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/DeviceSpec) | A class representing device-specific attributes. |
| [DeviceSpec.Builder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/DeviceSpec.Builder) |   |
| [DslExtension](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/DslExtension) | Third party DSL extension configuration. |
| [DslExtension.Builder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/DslExtension.Builder) | Creates a [Builder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/DslExtension.Builder) to instance to create a [DslExtension](https://developer.android.com/reference/tools/gradle-api/9.1/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.1/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.1/com/android/build/api/variant/PropertyAccessNotAllowedException) | Exception thrown when users are trying to access [VariantBuilder](https://developer.android.com/reference/tools/gradle-api/9.1/com/android/build/api/variant/VariantBuilder) properties. |

## Enums

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