# ApplicationVariant

# ApplicationVariant

```
interface ApplicationVariant : GeneratesApk, Variant
```

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [com.android.build.api.variant.ApplicationVariant](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ApplicationVariant#) |

Properties for the main Variant of an application.

## Summary

| ### Inherited functions ||
|---|---|
| From class[Variant](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant) |----|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | T? | [getExtension](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#getExtension(java.lang.Class))`(`type:` `[Class](http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html)<T>`)` <br /> Returns an extension object registered via the[VariantBuilder.registerExtension](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/VariantBuilder#registerExtension(java.lang.Class,%20com.android.build.api.variant.VariantBuilder.registerExtension.T))API or null if none were registered under the passed[type](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#com.android.build.api.variant.Variant$getExtension(java.lang.Class((com.android.build.api.variant.Variant.getExtension.T)))/type). <br /> | ||
| From class[HasAndroidResources](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/HasAndroidResources) |-------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [ResValue.Key](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ResValue.Key) | [makeResValueKey](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/HasAndroidResources#makeResValueKey(kotlin.String,%20kotlin.String))`(`type:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `name:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` <br /> Make a[ResValue.Key](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ResValue.Key)to interact with[resValues](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/HasAndroidResources#resValues:org.gradle.api.provider.MapProperty)'s[MapProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html) <br /> | ||

|                                                                                                                                                                                                                                                                                                      ### Properties                                                                                                                                                                                                                                                                                                      ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[AndroidTest](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/component/AndroidTest.html#)?                                                                                        | [androidTest](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ApplicationVariant#androidTest:com.android.build.api.component.AndroidTest) Variant's[AndroidTest](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/AndroidTest)configuration, or null if android tests are disabled for this variant. |
| abstract[Property](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Property.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\>                                         | [applicationId](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ApplicationVariant#applicationId:org.gradle.api.provider.Property) Variant's application ID as present in the final manifest file of the APK.                                                                                                                                  |
| abstract[DependenciesInfo](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/DependenciesInfo)                                                                                       | [dependenciesInfo](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ApplicationVariant#dependenciesInfo:com.android.build.api.variant.DependenciesInfo) Specify whether to include SDK dependency information in APKs and Bundles.                                                                                                              |
| abstract[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)\<[VariantOutput](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/VariantOutput)\> | [outputs](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ApplicationVariant#outputs:kotlin.collections.List) Returns the final list of variant outputs.                                                                                                                                                                                       |
| abstract[SigningConfig](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/SigningConfig)?                                                                                            | [signingConfig](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ApplicationVariant#signingConfig:com.android.build.api.variant.SigningConfig) Variant's signingConfig, initialized by the corresponding DSL element.                                                                                                                           |

| ### Inherited properties ||
|---|---|
| From class[GeneratesApk](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/GeneratesApk) |---------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [AndroidResources](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/AndroidResources) | [androidResources](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/GeneratesApk#androidResources:com.android.build.api.variant.AndroidResources) <br /> Variant's android resources processing configuration, initialized by the corresponding global DSL element. <br />                                                                                                                                                                    | | [ApkPackaging](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ApkPackaging)         | [packaging](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/GeneratesApk#packaging:com.android.build.api.variant.ApkPackaging) <br /> Variant's packagingOptions, initialized by the corresponding global DSL element. <br />                                                                                                                                                                                                                | | [Renderscript](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Renderscript)?        | [renderscript](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/GeneratesApk#renderscript:com.android.build.api.variant.Renderscript) <br /> Variant specific settings for the renderscript compiler. This will return null when[com.android.build.api.dsl.BuildFeatures.renderScript](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/BuildFeatures.html#renderScript:kotlin.Boolean)is false. <br /> | ||
| From class[Variant](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant) |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [MapProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html),` `[BuildConfigField](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuildConfigField)<out` `[Serializable](http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html)>> | [buildConfigFields](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#buildConfigFields:org.gradle.api.provider.MapProperty) <br /> Variant's[BuildConfigField](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuildConfigField)which will be generated in the BuildConfig class. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | | [MapProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html),` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)>                                                                                                                                                | [experimentalProperties](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#experimentalProperties:org.gradle.api.provider.MapProperty) <br /> Additional per variant experimental properties. Initialized from[com.android.build.api.dsl.CommonExtension.experimentalProperties](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/CommonExtension.html#experimentalProperties:kotlin.collections.MutableMap) <br />                                                                                                                                                                                                                                                                                                                                                                                                   | | [ExternalNativeBuild](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ExternalNativeBuild)?                                                                                                                                                                                                                                                                         | [externalNativeBuild](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#externalNativeBuild:com.android.build.api.variant.ExternalNativeBuild) <br /> Variant's cmake[ExternalNativeBuild](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ExternalNativeBuild), initialized by merging the product flavor values or null if no cmake external build is configured for this variant. <br />                                                                                                                                                                                                                                                                                                                                                                                                                      | | [MapProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html),` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>                                                                                                                                          | [manifestPlaceholders](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#manifestPlaceholders:org.gradle.api.provider.MapProperty) <br /> [MapProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html)of the variant's manifest placeholders. Placeholders are organized with a key and a value. The value is a[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)that will be used as is in the merged manifest. <br />                                                                                                                                                                                                                                                                                                                                                                    | | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?                                                                                                                                                                                                                                                                                                                                    | [maxSdkVersion](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#maxSdkVersion:kotlin.Int) <br /> Gets the maximum supported SDK Version for this variant. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | | [AndroidVersion](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/AndroidVersion)                                                                                                                                                                                                                                                                                    | [minSdkVersion](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#minSdkVersion:com.android.build.api.variant.AndroidVersion) <br /> Gets the minimum supported SDK Version for this variant. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | | [Provider](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>                                                                                                                                                                                                                                    | [namespace](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#namespace:org.gradle.api.provider.Provider) <br /> The namespace of the generated R and BuildConfig classes. Also, the namespace used to resolve any relative class names that are declared in the AndroidManifest.xml. This value supersedes any value specified by the`package`attribute in the source AndroidManifest.xml, but doing a 'get' on this property will not retrieve the value specified in the AndroidManifest.xml. <br />                                                                                                                                                                                                                                                                                                                                                     | | [ListProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/ListProperty.html)<[RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html)>                                                                                                                                                                                                                 | [proguardFiles](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#proguardFiles:org.gradle.api.provider.ListProperty) <br /> List of proguard configuration files for this variant. The list is initialized from the corresponding DSL element, and cannot be queried at configuration time. At configuration time, you can only add new elements to the list. This list will be initialized from[com.android.build.api.dsl.VariantDimension#proguardFile](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ApplicationVariant#)for non test related variants and from[com.android.build.api.dsl.VariantDimension.testProguardFiles](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/dsl/VariantDimension.html#testProguardFiles(kotlin.Any))for test related variants. <br /> | | [AndroidVersion](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/AndroidVersion)                                                                                                                                                                                                                                                                                    | [targetSdkVersion](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#targetSdkVersion:com.android.build.api.variant.AndroidVersion) <br /> Gets the target SDK Version for this variant. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | | [UnitTest](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/component/UnitTest.html#)?                                                                                                                                                                                                                                                                                       | [unitTest](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant#unitTest:com.android.build.api.component.UnitTest) <br /> Variant's[UnitTest](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/component/UnitTest.html#), or null if the unit tests for this variant are disabled. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ||
| From class[HasAndroidResources](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/HasAndroidResources) |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Property](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Property.html)<[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)>                                                                                                                                                               | [pseudoLocalesEnabled](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/HasAndroidResources#pseudoLocalesEnabled:org.gradle.api.provider.Property) <br /> Variant's is pseudo locales enabled, initialized by the corresponding DSL elements. <br />                                           | | [MapProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html)<[ResValue.Key](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ResValue.Key),` `[ResValue](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ResValue)> | [resValues](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/HasAndroidResources#resValues:org.gradle.api.provider.MapProperty) <br /> Variant's[ResValue](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ResValue)which will be generated. <br /> | ||

## Properties

### androidTest

```
abstract val androidTest: AndroidTest?
```

Variant's[AndroidTest](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/AndroidTest)configuration, or null if android tests are disabled for this variant.  

### applicationId

```
abstract val applicationId: Property<String>
```

Variant's application ID as present in the final manifest file of the APK.  

### dependenciesInfo

```
abstract val dependenciesInfo: DependenciesInfo
```

Specify whether to include SDK dependency information in APKs and Bundles.  

### outputs

```
abstract val outputs: List<VariantOutput>
```

Returns the final list of variant outputs.

| Return ||
|---|---|
| read only list of[VariantOutput](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/VariantOutput)for this variant. ||

### signingConfig

```
abstract val signingConfig: SigningConfig?
```

Variant's signingConfig, initialized by the corresponding DSL element.

| Return ||
|---|---|
| Variant's config or null if the variant is not configured for signing. ||