# VariantBuilder

# VariantBuilder

```
@Incubating interface VariantBuilder : ComponentBuilder, ActionableComponentObject
```

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

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known Direct Subclasses [ApplicationVariantBuilder](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/ApplicationVariantBuilder),[DynamicFeatureVariantBuilder](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/DynamicFeatureVariantBuilder),[LibraryVariantBuilder](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/LibraryVariantBuilder),[TestVariantBuilder](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/TestVariantBuilder) |---------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [ApplicationVariantBuilder](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/ApplicationVariantBuilder)       | Application specific variant object that contains properties that will determine the variant's build flow.                                                           | | [DynamicFeatureVariantBuilder](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/DynamicFeatureVariantBuilder) | <br />                                                                                                                                                               | | [LibraryVariantBuilder](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/LibraryVariantBuilder)               | [VariantBuilder](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/VariantBuilder#)type for library projects                | | [TestVariantBuilder](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/TestVariantBuilder)                     | [VariantBuilder](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/VariantBuilder#)type for tests associated with a module. | |

Variant object that contains properties that must be set during configuration time as it changes the build flow for the variant.

## Summary

|                                                                                                                                                                                   ### Properties                                                                                                                                                                                    ||
|-------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)?                                                 | [maxSdkVersion](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/VariantBuilder#maxSdkVersion:kotlin.Int) Gets the maximum supported SDK Version for this variant.                                   |
| abstract[AndroidVersion](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/AndroidVersion) | [minSdkVersion](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/VariantBuilder#minSdkVersion:com.android.build.api.variant.AndroidVersion) Gets the minimum supported SDK Version for this variant. |
| abstract[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)                                                  | [renderscriptTargetApi](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/variant/VariantBuilder#renderscriptTargetApi:kotlin.Int) Specifies the bytecode version to be generated.                            |

| ### Inherited properties ||
|---|---|
| From class[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/component/ComponentIdentity.html#) |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?                                                                                                                                                                                                                                                            | [buildType](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/component/ComponentIdentity.html#buildType:kotlin.String) <br /> Build type name, might be replaced with access to locked DSL object once ready. <br />                                                                                                                                                                                      | | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)                                                                                                                                                                                                                                                             | [flavorName](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/component/ComponentIdentity.html#flavorName:kotlin.String) <br /> The multi-flavor name of the variant. This does not include the build type. If no flavors are present, this is an empty string. The full name of the variant is queried via[getName](https://docs.gradle.org/current/javadoc/org/gradle/api/Named.html#getName()). <br /> | | [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.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)>> | [productFlavors](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/component/ComponentIdentity.html#productFlavors:kotlin.collections.List) <br /> List of flavor names, might be replaced with access to locked DSL objects once ready. The order is properly sorted based on the associated dimension order. <br />                                                                                      | ||
| From class[ComponentBuilder](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/component/ComponentBuilder.html#) |------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [enable](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/component/ComponentBuilder.html#enable:kotlin.Boolean) <br /> Set to`true`if the variant is active and should be configured, false otherwise. <br />   | | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) | [enabled](https://developer.android.com/reference/tools/gradle-api/4.2/com/android/build/api/component/ComponentBuilder.html#enabled:kotlin.Boolean) <br /> Set to`true`if the variant is active and should be configured, false otherwise. <br /> | ||

## Properties

### maxSdkVersion

```
abstract var maxSdkVersion: Int?
```

Gets the maximum supported SDK Version for this variant.  

### minSdkVersion

```
abstract var minSdkVersion: AndroidVersion
```

Gets the minimum supported SDK Version for this variant.  

### renderscriptTargetApi

```
abstract var renderscriptTargetApi: Int
```

Specifies the bytecode version to be generated. We recommend you set this value to the lowest API level able to provide all the functionality you are using

| Return ||
|---|---|
| the renderscript target api or -1 if not specified. ||