# VariantOutput

[View Source](https://cs.android.com/search?q=file:com/android/build/api/variant/VariantOutput.kt+class:com.android.build.api.variant.VariantOutput) Added in 4.2.0


```
interface VariantOutput : VariantOutputConfiguration
```

<br />

*** ** * ** ***

Defines a variant output.

This only applies to APKs as AARs and Bundles (AABs) do not support multiple outputs.

See https://developer.android.com/studio/build/configure-apk-splits.html for more information on multiple APK support.

| See also |
|---|---|
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Splits` |   |

## Summary

| ### Public properties |
|---|---|
| `https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Property.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/VariantOutput#enabled()` Flag controlling whether the output is enabled. |
| `https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Property.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/VariantOutput#outputFileName()` The output file name for this Variant. |
| `https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Property.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/VariantOutput#versionCode()` The version code for this output. |
| `https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Property.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/VariantOutput#versionName()` The version name for this output. |

### Inherited properties

From [com.android.build.api.variant.VariantOutputConfiguration](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/VariantOutputConfiguration) `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/FilterConfiguration>` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/VariantOutputConfiguration#filters()`

The list of `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/FilterConfiguration` for this output.
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/VariantOutputConfiguration.OutputType` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/VariantOutputConfiguration#outputType()`

The `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/VariantOutputConfiguration.OutputType` for this particular output

## Public properties

### enabled

Added in 4.2.0

```
val enabled: Property<Boolean>
```

Flag controlling whether the output is enabled.

It is safe to change the value in case a specific output should be disabled

### outputFileName

Added in 9.6.0-alpha03

```
val outputFileName: Property<String>
```

The output file name for this Variant.

It is safe to modify it once you need custom artifact name.

### versionCode

Added in 4.2.0

```
val versionCode: Property<Int>
```

The version code for this output.

This will be initialized with the variant's merged flavor value or read from the manifest file if unset.

It is safe to modify it. When using Splits/Multi-APK output, it is generally necessary to change this value per output.

### versionName

Added in 4.2.0

```
val versionName: Property<String>
```

The version name for this output.

This will be initialized with the variant's merged flavor value, or it will be read from the manifest source file if it's not set via the DSL, or it will be null if it's also not set in the manifest.

It is safe to modify it.