# DynamicFeatureVariantDimension

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


```
interface DynamicFeatureVariantDimension : VariantDimension
```

<br />

Known direct subclasses [DynamicFeatureBaseFlavor](https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureBaseFlavor), [DynamicFeatureBuildType](https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureBuildType)

|---|---|
| `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureBaseFlavor` | Shared properties between DSL objects `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureProductFlavor` and `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureDefaultConfig` |
| `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureBuildType` | Build types define certain properties that Gradle uses when building and packaging your app, and are typically configured for different stages of your development lifecycle. |

Known indirect subclasses [DynamicFeatureDefaultConfig](https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureDefaultConfig), [DynamicFeatureProductFlavor](https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureProductFlavor)

|---|---|
| `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureDefaultConfig` | Specifies defaults for properties that the Android dynamic-feature plugin applies to all build variants. |
| `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureProductFlavor` | Encapsulates all product flavors properties for dynamic feature projects. |

*** ** * ** ***

Shared properties between DSL objects that contribute to an dynamic feature variant.

That is, `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureBuildType` and `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureProductFlavor` and `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/DynamicFeatureDefaultConfig`.

## Summary

| ### Inherited functions |
|---|
| From [com.android.build.api.dsl.VariantDimension](https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension) |---|---| | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#addManifestPlaceholders(kotlin.collections.Map)(manifestPlaceholders: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html>)` Adds manifest placeholders. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#buildConfigField(kotlin.String,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, value: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` Adds a new field to the generated BuildConfig 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.4/com/android/build/api/dsl/VariantDimension#externalNativeBuild(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/ExternalNativeBuildFlags.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Encapsulates per-variant CMake and ndk-build configurations for your external native build. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#javaCompileOptions(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/JavaCompileOptions.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Options for configuring Java compilation. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#ndk(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/Ndk.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Encapsulates per-variant configurations for the NDK, such as ABI filters. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `@https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html [optimization](https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#optimization(kotlin.Function1))(action: https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/Optimization.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` **This function is deprecated.** Use ApplicationBuildType.optimization(action) instead | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#proguardFile(kotlin.Any)(proguardFile: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)` Adds a new ProGuard configuration file. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#proguardFiles(kotlin.Array)(vararg files: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)` Adds new ProGuard configuration files. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#resValue(kotlin.String,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, value: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` Adds a new generated resource. | | `https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Void.html?` | `@https://developer.android.com/reference/tools/gradle-api/9.4/org/gradle/declarative/dsl/model/annotations/HiddenInDefinition [setManifestPlaceholders](https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#setManifestPlaceholders(kotlin.collections.Map))(manifestPlaceholders: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html>)` **This function is deprecated.** Use manifestPlaceholders property instead | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#setProguardFiles(kotlin.collections.Iterable)(proguardFileIterable: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html<*>)` Replaces the ProGuard configuration files. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#shaders(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/Shaders.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Configure the shader compiler options. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#testProguardFile(kotlin.Any)(proguardFile: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)` Adds a proguard rule file to be used when processing test code. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#testProguardFiles(kotlin.Array)(vararg proguardFiles: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)` Adds proguard rule files to be used when processing test code. | |

| ### Inherited properties |
|---|
| From [com.android.build.api.dsl.VariantDimension](https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension) |---|---| | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/ExternalNativeBuildFlags` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#externalNativeBuild()` Encapsulates per-variant CMake and ndk-build configurations for your external native build. | | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/JavaCompileOptions` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#javaCompileOptions()` Options for configuring Java compilation. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.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.4/com/android/build/api/dsl/VariantDimension#manifestPlaceholders()` The manifest placeholders. | | `https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html?` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#multiDexKeepFile()` **This property is deprecated.** This property is deprecated. | | `https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html?` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#multiDexKeepProguard()` Text file with additional ProGuard rules to be used to determine which classes are compiled into the main dex file. | | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/Ndk` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#ndk()` Encapsulates per-variant configurations for the NDK, such as ABI filters. | | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/Optimization` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#optimization()` **This property is deprecated.** Use ApplicationBuildType.optimization instead | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html<https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html>` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#proguardFiles()` Specifies the ProGuard configuration files that the plugin should use. | | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/Shaders` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#shaders()` Options for configuring the shader compiler. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html<https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html>` | `https://developer.android.com/reference/tools/gradle-api/9.4/com/android/build/api/dsl/VariantDimension#testProguardFiles()` The collection of proguard rule files to be used when processing test code. | |