# com.android.build.api.variant

## Interfaces

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

## Classes

|---|---|
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/AndroidApplicationModuleModel` |   |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/AndroidLibraryModuleModel` |   |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/BuildConfigField` | Field definition for the generated BuildConfig class. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/DeviceSpec` | A class representing device-specific attributes. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/DeviceSpec.Builder` |   |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/DslExtension` | Third party DSL extension configuration. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/DslExtension.Builder` | Creates a `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/DslExtension.Builder` to instance to create a `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/DslExtension` containing all desired extension points to the Android Gradle Plugin DSL. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/ResValue` | Resource to be generated by the build system. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/SigningConfigInfo` | Configuration information required to sign a build artifact. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/PropertyAccessNotAllowedException` | Exception thrown when users are trying to access `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/VariantBuilder` properties. |

## Enums

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