# KotlinMultiplatformAndroidVariant

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


```
interface KotlinMultiplatformAndroidVariant : LibraryVariant
```

<br />

*** ** * ** ***

Properties for the main Variant of a kotlin multiplatform android library

## Summary

### Inherited functions

From [com.android.build.api.variant.Component](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component) `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html` `@https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html
https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#computeTaskName(kotlin.String,kotlin.String)(action: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, subject: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`

Utility method to create unique task name for component.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `@https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html
https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#configureJavaCompileTask(kotlin.Function1)(action: (https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/compile/JavaCompile.html) -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`

Runs an action to configure Components's java compilation `https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/compile/JavaCompile.html` task.
`https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html` `@https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html
https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#getResolvableConfiguration(kotlin.String)(sourceSetConfigurationsAffix: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`

Access to the component's resolvable configuration corresponding to the source set configurations added via `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/AndroidComponentsExtension#addSourceSetConfigurations(kotlin.String)`.
From [com.android.build.api.variant.HasAndroidResources](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasAndroidResources) `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/ResValue.Key` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasAndroidResources#makeResValueKey(kotlin.String,kotlin.String)(type: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, name: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`

Make a `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/ResValue.Key` to interact with `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasAndroidResources#resValues()`'s `https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html`
From [com.android.build.api.variant.Variant](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant) `T?` `<T : https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html?> https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#getExtension(java.lang.Class)(type: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html<T>)`

Returns an extension object registered via the `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/VariantBuilder#registerExtension(java.lang.Class,kotlin.Any)` API or null if none were registered under the passed `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#getExtension(java.lang.Class)`.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `@https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html
https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#missingDimensionStrategy(kotlin.String,kotlin.Array)(
dimension: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html,
vararg requestedValues: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html
)`

Set up a new matching request for a given flavor dimension and value.

### Inherited properties

From [com.android.build.api.variant.CanMinifyCode](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/CanMinifyCode) `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/CanMinifyCode#isMinifyEnabled()`

Specifies whether code will be minified.
From [com.android.build.api.variant.CanProduceConsumerProguardFiles](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/CanProduceConsumerProguardFiles) `https://docs.gradle.org/current/javadoc/org/gradle/api/provider/ListProperty.html<https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html>` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/CanProduceConsumerProguardFiles#consumerProguardFiles()`

The collection of proguard rule files for consumers of the library to use.
From [com.android.build.api.variant.Component](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component) `https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#annotationProcessorConfiguration()`

Access to the variant's annotation processor `https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html`; for example, the debugAnnotationProcessor `https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html` for the debug variant.
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/artifact/Artifacts` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#artifacts()`

Access to the variant's buildable artifacts for build customization.
`https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#compileClasspath()`

Access to the variant's compile classpath.
`https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#compileConfiguration()`

Access to the variant's compile `https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html`; for example, the debugCompileClasspath `https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html` for the debug variant.
`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/Component#debuggable()`

Whether the produced artifacts will be debuggable
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Instrumentation` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#instrumentation()`

Access to the variant's instrumentation options.
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/JavaCompilation?` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#javaCompilation()`

Access to the variant's java compilation options.
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/LifecycleTasks` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#lifecycleTasks()`

Provides access to the `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/LifecycleTasks` created for this component.
`https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.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/Component#namespace()`

The namespace of the generated R and BuildConfig classes.
`https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#runtimeConfiguration()`

Access to the variant's runtime `https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html`; for example, the debugRuntimeClasspath `https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/Configuration.html` for the debug variant.
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Sources` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Component#sources()`

Access to variant's source files.
From [com.android.build.api.variant.ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/ComponentIdentity) `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/ComponentIdentity#buildType()`

Build type name.
`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/ComponentIdentity#flavorName()`

The multi-flavor name of the variant.
`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/ComponentIdentity#name()`

Component's name.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.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/ComponentIdentity#productFlavors()`

List of flavor names.
From [com.android.build.api.variant.GeneratesAar](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/GeneratesAar) `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/AarMetadata` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/GeneratesAar#aarMetadata()`

Variant's aar metadata, initialized by merging the corresponding `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AarMetadata` DSL elements.
From [com.android.build.api.variant.HasAndroidResources](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasAndroidResources) `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/HasAndroidResources#pseudoLocalesEnabled()`

Variant's is pseudo locales enabled, initialized by the corresponding DSL elements.
`https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/ResValue.Key, https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/ResValue>` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasAndroidResources#resValues()`

Variant's `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/ResValue` which will be generated.
From [com.android.build.api.variant.HasAndroidTest](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/AndroidTest?` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasAndroidTest#androidTest()`

Variant's `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/AndroidTest` configuration, or null if android tests are disabled for this variant.
From [com.android.build.api.variant.HasDeviceTests](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasDeviceTests) `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.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/DeviceTest>` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasDeviceTests#deviceTests()`

Variant's `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html` of `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/DeviceTest` configurations, or empty if all devices tests (like android tests) are disabled for this variant.
From [com.android.build.api.variant.HasHostTests](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasHostTests) `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.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/HostTest>` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasHostTests#hostTests()`

`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html` of Variant's `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HostTest`, or empty if all host tests (like unit test) for this variant are disabled.
From [com.android.build.api.variant.HasTestFixtures](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/TestFixtures?` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasTestFixtures#testFixtures()`

Variant's `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/TestFixtures`, or null if the test fixtures for this variant are disabled.
From [com.android.build.api.variant.HasTestSuites](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasTestSuites) `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.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/TestSuite>` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/HasTestSuites#suites()`

Variant's com.android.build.gradle.internal.testsuites.TestSuite configuration to configure test suites associated with this variant.
From [com.android.build.api.variant.LibraryVariant](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/LibraryVariant) `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Renderscript?` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/LibraryVariant#renderscript()`

Variant specific settings for the renderscript compiler.
From [com.android.build.api.variant.Variant](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant) `https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.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/BuildConfigField<https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html>>?` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#buildConfigFields()`

Variant's `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/BuildConfigField` which will be generated in the BuildConfig class.
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CompileSdkVersion` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#compileSdk()`

Gets the compile SDK Version for this variant.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<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/Variant#components()`

List containing this variant and all of its `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#nestedComponents()`
`https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html>` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#experimentalProperties()`

Additional per variant experimental properties.
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/ExternalNativeBuild?` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#externalNativeBuild()`

Variant's cmake `https://developer.android.com/reference/tools/gradle-api/9.6/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.
`https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.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/Variant#manifestPlaceholders()`

`https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html` of the variant's manifest placeholders.
`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/Variant#maxSdk()`

Gets the maximum supported SDK Version for this variant.
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/AndroidVersion` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#minSdk()`

Gets the minimum supported SDK Version for this variant.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<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/Variant#nestedComponents()`

List of the components nested in this variant, the returned list will contain:
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/TestedComponentPackaging` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#packaging()`

Variant's packagingOptions, initialized by the corresponding global DSL element.
`https://docs.gradle.org/current/javadoc/org/gradle/api/provider/ListProperty.html<https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html>` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#proguardFiles()`

List of proguard configuration files for this variant.
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/AndroidVersion` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/variant/Variant#targetSdkVersion()`

**This property is deprecated.** Will be removed in AGP 10.0