# BaseFlavor


```
public interface BaseFlavor extends VariantDimension
```

<br />

Known direct subclasses [ApplicationBaseFlavor](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ApplicationBaseFlavor), [DefaultConfig](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DefaultConfig), [DynamicFeatureBaseFlavor](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DynamicFeatureBaseFlavor), [LibraryBaseFlavor](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/LibraryBaseFlavor), [ProductFlavor](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ProductFlavor), [TestBaseFlavor](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/TestBaseFlavor)

|---|---|
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ApplicationBaseFlavor` |   |
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DefaultConfig` | Specifies defaults for variant properties that the Android plugin applies to all build variants. |
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DynamicFeatureBaseFlavor` | Shared properties between DSL objects `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ProductFlavor` and `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DefaultConfig` for dynamic features. |
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/LibraryBaseFlavor` |   |
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ProductFlavor` | Encapsulates all product flavors properties for this project. |
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/TestBaseFlavor` |   |

Known indirect subclasses [ApplicationDefaultConfig](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ApplicationDefaultConfig), [ApplicationProductFlavor](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ApplicationProductFlavor), [DynamicFeatureDefaultConfig](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DynamicFeatureDefaultConfig), [DynamicFeatureProductFlavor](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DynamicFeatureProductFlavor), [LibraryDefaultConfig](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/LibraryDefaultConfig), [LibraryProductFlavor](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/LibraryProductFlavor), [TestDefaultConfig](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/TestDefaultConfig), [TestProductFlavor](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/TestProductFlavor)

|---|---|
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ApplicationDefaultConfig` | Specifies defaults for properties that the Android application plugin applies to all build variants. |
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ApplicationProductFlavor` | Encapsulates all product flavors properties for application projects. |
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/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/8.3/null/com/android/build/api/dsl/DynamicFeatureProductFlavor` | Encapsulates all product flavors properties for dynamic feature projects. |
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/LibraryDefaultConfig` | Specifies defaults for properties that the Android library plugin applies to all build variants. |
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/LibraryProductFlavor` | Encapsulates all product flavors properties for library projects. |
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/TestDefaultConfig` | Specifies defaults for properties that the Android test plugin applies to all build variants. |
| `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/TestProductFlavor` | Encapsulates all product flavors properties for test projects. |

*** ** * ** ***

Shared properties between DSL objects `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ProductFlavor` and `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DefaultConfig`

## Summary

| ### Public methods |
|---|---|
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Integer.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getMinSdk()()` The minimum SDK version. |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getMinSdkPreview()()` The minimum SDK version. |
| `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getName()()` The name of the flavor. |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getRenderscriptNdkModeEnabled()()` Whether the renderscript code should be compiled to generate C/C++ bindings. |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getRenderscriptSupportModeBlasEnabled()()` Whether the renderscript BLAS support lib should be used to make it compatible with older versions of Android. |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getRenderscriptSupportModeEnabled()()` Whether the renderscript code should be compiled in support mode to make it compatible with older versions of Android. |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Integer.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getRenderscriptTargetApi()()` The renderscript target api, or null if not specified. |
| `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html>` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getResourceConfigurations()()` Specifies a list of [alternative resources](https://d.android.com/guide/topics/resources/providing-resources.html#AlternativeResources) to keep. |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getTestApplicationId()()` Test application ID. |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getTestFunctionalTest()()` See [instrumentation](http://developer.android.com/guide/topics/manifest/instrumentation-element.html). |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getTestHandleProfiling()()` See [instrumentation](http://developer.android.com/guide/topics/manifest/instrumentation-element.html). |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getTestInstrumentationRunner()()` Test instrumentation runner class name. |
| `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html>` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getTestInstrumentationRunnerArguments()()` Test instrumentation runner custom arguments. |
| `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VectorDrawables` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getVectorDrawables()()` Options to configure the build-time support for `vector` drawables. |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#getWearAppUnbundled()()` Whether to enable unbundling mode for embedded wear app. |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#initWith(com.android.build.api.dsl.BaseFlavor)(@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor that)` Copies all properties from the given flavor. |
| `abstract void` | `[minSdkVersion](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkVersion(kotlin.Int))(int minSdkVersion)` **This method is deprecated.** Replaced by minSdk property |
| `abstract void` | `[minSdkVersion](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkVersion(kotlin.String))(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html minSdkVersion)` **This method is deprecated.** Replaced by minSdkPreview property |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#missingDimensionStrategy(kotlin.String,kotlin.String)( @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html dimension, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html requestedValue )` Specifies a flavor that the plugin should try to use from a given dimension in a dependency. |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#missingDimensionStrategy(kotlin.String,kotlin.collections.List)( @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html dimension, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html> requestedValues )` Specifies a sorted list of flavors that the plugin should try to use from a given dimension in a dependency. |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#missingDimensionStrategy(kotlin.String,kotlin.Array)( @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html dimension, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html requestedValues )` Specifies a sorted list of flavors that the plugin should try to use from a given dimension in a dependency. |
| `abstract void` | `[resConfig](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#resConfig(kotlin.String))(@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html config)` **This method is deprecated.** Replaced by resourceConfigurations field |
| `abstract void` | `[resConfigs](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#resConfigs(kotlin.collections.Collection))(@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html> config)` **This method is deprecated.** Replaced by resourceConfigurations field |
| `abstract void` | `[resConfigs](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#resConfigs(kotlin.Array))(@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html config)` **This method is deprecated.** Replaced by resourceConfigurations field |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setMinSdk(kotlin.Int)(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Integer.html minSdk)` The minimum SDK version. |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setMinSdkPreview(kotlin.String)(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html minSdkPreview)` The minimum SDK version. |
| `abstract void` | `[setMinSdkVersion](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setMinSdkVersion(kotlin.Int))(int minSdkVersion)` **This method is deprecated.** Replaced by minSdk property |
| `abstract void` | `[setMinSdkVersion](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setMinSdkVersion(kotlin.String))(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html minSdkVersion)` **This method is deprecated.** Replaced by minSdkPreview property |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setRenderscriptNdkModeEnabled(kotlin.Boolean)(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html renderscriptNdkModeEnabled)` Whether the renderscript code should be compiled to generate C/C++ bindings. |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setRenderscriptSupportModeBlasEnabled(kotlin.Boolean)( https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html renderscriptSupportModeBlasEnabled )` Whether the renderscript BLAS support lib should be used to make it compatible with older versions of Android. |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setRenderscriptSupportModeEnabled(kotlin.Boolean)( https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html renderscriptSupportModeEnabled )` Whether the renderscript code should be compiled in support mode to make it compatible with older versions of Android. |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setRenderscriptTargetApi(kotlin.Int)(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Integer.html renderscriptTargetApi)` The renderscript target api, or null if not specified. |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setTestApplicationId(kotlin.String)(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html testApplicationId)` Test application ID. |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html` | `[setTestFunctionalTest](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setTestFunctionalTest(kotlin.Boolean))(boolean testFunctionalTest)` **This method is deprecated.** Replaced by testFunctionalTest property |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setTestFunctionalTest(kotlin.Boolean)(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html testFunctionalTest)` See [instrumentation](http://developer.android.com/guide/topics/manifest/instrumentation-element.html). |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html` | `[setTestHandleProfiling](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setTestHandleProfiling(kotlin.Boolean))(boolean testHandleProfiling)` **This method is deprecated.** Replaced by testFunctionalTest property |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setTestHandleProfiling(kotlin.Boolean)(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html testHandleProfiling)` See [instrumentation](http://developer.android.com/guide/topics/manifest/instrumentation-element.html). |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setTestInstrumentationRunner(kotlin.String)(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html testInstrumentationRunner)` Test instrumentation runner class name. |
| `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html` | `[setTestInstrumentationRunnerArguments](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setTestInstrumentationRunnerArguments(kotlin.collections.MutableMap))( @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html> testInstrumentationRunnerArguments )` **This method is deprecated.** Replaced by testInstrumentationRunnerArguments property |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setWearAppUnbundled(kotlin.Boolean)(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html wearAppUnbundled)` Whether to enable unbundling mode for embedded wear app. |
| `abstract void` | `[testInstrumentationRunnerArgument](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#testInstrumentationRunnerArgument(kotlin.String,kotlin.String))( @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html key, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html value )` **This method is deprecated.** Replaced by testInstrumentationRunnerArguments property |
| `abstract void` | `[testInstrumentationRunnerArguments](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#testInstrumentationRunnerArguments(kotlin.collections.Map))( @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html> args )` **This method is deprecated.** Replaced by testInstrumentationRunnerArguments property |
| `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#vectorDrawables(kotlin.Function1)( @https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-extension-function-type/index.html @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VectorDrawables, https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html> action )` Configures `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VectorDrawables`. |

| ### Inherited methods |
|---|
| From [com.android.build.api.dsl.VariantDimension](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension) |---|---| | `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#addManifestPlaceholders(kotlin.collections.Map)( @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html> manifestPlaceholders )` Adds manifest placeholders. | | `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#buildConfigField(kotlin.String,kotlin.String,kotlin.String)( @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html type, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html name, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html value )` Adds a new field to the generated BuildConfig class. | | `abstract void` | `@https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#externalNativeBuild(kotlin.Function1)( @https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-extension-function-type/index.html @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ExternalNativeBuildFlags, https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html> action )` Encapsulates per-variant CMake and ndk-build configurations for your external native build. | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ExternalNativeBuildFlags` | `@https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#getExternalNativeBuild()()` Encapsulates per-variant CMake and ndk-build configurations for your external native build. | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/JavaCompileOptions` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#getJavaCompileOptions()()` Options for configuring Java compilation. | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html>` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#getManifestPlaceholders()()` The manifest placeholders. | | `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#getMultiDexKeepFile()()` Text file that specifies additional classes that will be compiled into the main dex file. | | `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#getMultiDexKeepProguard()()` Text file with additional ProGuard rules to be used to determine which classes are compiled into the main dex file. | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Ndk` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#getNdk()()` Encapsulates per-variant configurations for the NDK, such as ABI filters. | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Optimization` | `@https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#getOptimization()()` | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html>` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#getProguardFiles()()` Specifies the ProGuard configuration files that the plugin should use. | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Shaders` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#getShaders()()` Options for configuring the shader compiler. | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html>` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#getTestProguardFiles()()` The collection of proguard rule files to be used when processing test code. | | `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#javaCompileOptions(kotlin.Function1)( @https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-extension-function-type/index.html @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/JavaCompileOptions, https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html> action )` Options for configuring Java compilation. | | `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#ndk(kotlin.Function1)(@https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-extension-function-type/index.html @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Ndk, https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html> action)` Encapsulates per-variant configurations for the NDK, such as ABI filters. | | `abstract void` | `@https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#optimization(kotlin.Function1)( @https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-extension-function-type/index.html @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Optimization, https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html> action )` | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#proguardFile(kotlin.Any)(@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html proguardFile)` Adds a new ProGuard configuration file. | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#proguardFiles(kotlin.Array)(@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html files)` Adds new ProGuard configuration files. | | `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#resValue(kotlin.String,kotlin.String,kotlin.String)(@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html type, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html name, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html value)` Adds a new generated resource. | | `abstract https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Void.html` | `[setManifestPlaceholders](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#setManifestPlaceholders(kotlin.collections.Map))( @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html, @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html> manifestPlaceholders )` **This method is deprecated.** Use manifestPlaceholders property instead | | `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#setMultiDexKeepFile(java.io.File)(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html multiDexKeepFile)` Text file that specifies additional classes that will be compiled into the main dex file. | | `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#setMultiDexKeepProguard(java.io.File)(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html multiDexKeepProguard)` Text file with additional ProGuard rules to be used to determine which classes are compiled into the main dex file. | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#setProguardFiles(kotlin.collections.Iterable)(@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull ?> proguardFileIterable)` Replaces the ProGuard configuration files. | | `abstract void` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#shaders(kotlin.Function1)( @https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-extension-function-type/index.html @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/Shaders, https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html> action )` Configure the shader compiler options. | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#testProguardFile(kotlin.Any)(@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html proguardFile)` Adds a proguard rule file to be used when processing test code. | | `abstract @https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html` | `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VariantDimension#testProguardFiles(kotlin.Array)(@https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html proguardFiles)` Adds proguard rule files to be used when processing test code. | |

## Public methods

### getMinSdk

```
abstract Integer getMinSdk()
```

The minimum SDK version. Setting this it will override previous calls of `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdk()` and `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkPreview()` setters. Only one of `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdk()` and `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkPreview()` should be set.

See [uses-sdk element documentation](http://developer.android.com/guide/topics/manifest/uses-sdk-element.html).

### getMinSdkPreview

```
abstract String getMinSdkPreview()
```

The minimum SDK version. Setting this it will override previous calls of `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdk()` and `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkPreview()` setters. Only one of `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdk()` and `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkPreview()` should be set.

See [uses-sdk element documentation](http://developer.android.com/guide/topics/manifest/uses-sdk-element.html).

### getName

```
abstract @NonNull String getName()
```

The name of the flavor.

### getRenderscriptNdkModeEnabled

```
abstract Boolean getRenderscriptNdkModeEnabled()
```

Whether the renderscript code should be compiled to generate C/C++ bindings. True for C/C++ generation, false for Java, null if not specified.

### getRenderscriptSupportModeBlasEnabled

```
abstract Boolean getRenderscriptSupportModeBlasEnabled()
```

Whether the renderscript BLAS support lib should be used to make it compatible with older versions of Android.

True if BLAS support lib is enabled, false if not, and null if not specified.

### getRenderscriptSupportModeEnabled

```
abstract Boolean getRenderscriptSupportModeEnabled()
```

Whether the renderscript code should be compiled in support mode to make it compatible with older versions of Android.

True if support mode is enabled, false if not, and null if not specified.

### getRenderscriptTargetApi

```
abstract Integer getRenderscriptTargetApi()
```

The renderscript target api, or null if not specified. This is only the value set on this product flavor.

### getResourceConfigurations

```
abstract @NonNull Set<@NonNull String> getResourceConfigurations()
```

Specifies a list of [alternative resources](https://d.android.com/guide/topics/resources/providing-resources.html#AlternativeResources) to keep.

For example, if you are using a library that includes language resources (such as AppCompat or Google Play Services), then your APK includes all translated language strings for the messages in those libraries whether the rest of your app is translated to the same languages or not. If you'd like to keep only the languages that your app officially supports, you can specify those languages using the `resourceConfigurations` property, as shown in the sample below. Any resources for languages not specified are removed.

```
android {
    defaultConfig {
        ...
        // Keeps language resources for only the locales specified below.
        resourceConfigurations += ["en", "fr"]
    }
}
```

You can also use this property to filter resources for screen densities. For example, specifying `hdpi` removes all other screen density resources (such as `mdpi`, `xhdpi`, etc) from the final APK.

**Note:** `auto` is no longer supported because it created a number of issues with multi-module projects. Instead, you should specify a list of locales that your app supports, as shown in the sample above. Android plugin 3.1.0 and higher ignore the `auto` argument, and Gradle packages all string resources your app and its dependencies provide.

To learn more, see [Remove unused alternative resources](https://d.android.com/studio/build/shrink-code.html#unused-alt-resources).

### getTestApplicationId

```
abstract String getTestApplicationId()
```

Test application ID.

See [Set the Application ID](https://developer.android.com/studio/build/application-id.html)

### getTestFunctionalTest

```
abstract Boolean getTestFunctionalTest()
```

See [instrumentation](http://developer.android.com/guide/topics/manifest/instrumentation-element.html).

### getTestHandleProfiling

```
abstract Boolean getTestHandleProfiling()
```

See [instrumentation](http://developer.android.com/guide/topics/manifest/instrumentation-element.html).

### getTestInstrumentationRunner

```
abstract String getTestInstrumentationRunner()
```

Test instrumentation runner class name.

This is a fully qualified class name of the runner, e.g. `android.test.InstrumentationTestRunner`

See [instrumentation](http://developer.android.com/guide/topics/manifest/instrumentation-element.html).

### getTestInstrumentationRunnerArguments

```
abstract @NonNull Map<@NonNull String, @NonNull String> getTestInstrumentationRunnerArguments()
```

Test instrumentation runner custom arguments.

e.g. `[key: "value"]` will give `adb shell am instrument -w -e key value com.example`...

See [instrumentation](http://developer.android.com/guide/topics/manifest/instrumentation-element.html).

Test runner arguments can also be specified from the command line:

```
./gradlew connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.size=medium
./gradlew connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.foo=bar
```

### getVectorDrawables

```
abstract @NonNull VectorDrawables getVectorDrawables()
```

Options to configure the build-time support for `vector` drawables.

### getWearAppUnbundled

```
abstract Boolean getWearAppUnbundled()
```

Whether to enable unbundling mode for embedded wear app.

If true, this enables the app to transition from an embedded wear app to one distributed by the play store directly.

### initWith

```
abstract void initWith(@NonNull BaseFlavor that)
```

Copies all properties from the given flavor.

It can be used like this:

```
android.productFlavors {
    paid {
        initWith free
        // customize...
    }
}
```

### minSdkVersion

```
abstract void [minSdkVersion](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkVersion(kotlin.Int))(int minSdkVersion)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by minSdk property

### minSdkVersion

```
abstract void [minSdkVersion](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkVersion(kotlin.String))(String minSdkVersion)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by minSdkPreview property

### missingDimensionStrategy

```
abstract void missingDimensionStrategy(
    @NonNull String dimension,
    @NonNull String requestedValue
)
```

Specifies a flavor that the plugin should try to use from a given dimension in a dependency.

Android plugin 3.0.0 and higher try to match each variant of your module with the same one from its dependencies. For example, consider if both your app and its dependencies include a "tier" /studio/build/build-variants.html#flavor-dimensions, with flavors "free" and "paid". When you build a "freeDebug" version of your app, the plugin tries to match it with "freeDebug" versions of the local library modules the app depends on.

However, there may be situations in which **a library dependency includes a flavor dimension that your app does not**. For example, consider if a library dependency includes flavors for a "minApi" dimension, but your app includes flavors for only the "tier" dimension. So, when you want to build the "freeDebug" version of your app, the plugin doesn't know whether to use the "minApi23Debug" or "minApi18Debug" version of the dependency, and you'll see an error message similar to the following:

```
Error:Failed to resolve: Could not resolve project :mylibrary.
Required by:
project :app
```

In this type of situation, use `missingDimensionStrategy` in the com.android.build.gradle.internal.dsl.DefaultConfig.html block to specify the default flavor the plugin should select from each missing dimension, as shown in the sample below. You can also override your selection in the com.android.build.gradle.internal.dsl.ProductFlavor.html block, so each flavor can specify a different matching strategy for a missing dimension. (Tip: you can also use this property if you simply want to change the matching strategy for a dimension that exists in both the app and its dependencies.)

```
// In the app's build.gradle file.
android {
    defaultConfig {
        // Specifies a flavor that the plugin should try to use from
        // a given dimension. The following tells the plugin that, when encountering
        // a dependency that includes a "minApi" dimension, it should select the
        // "minApi18" flavor.
        missingDimensionStrategy 'minApi', 'minApi18'
        // You should specify a missingDimensionStrategy property for each
        // dimension that exists in a local dependency but not in your app.
        missingDimensionStrategy 'abi', 'x86'
    }
    flavorDimensions 'tier'
    productFlavors {
        free {
            dimension 'tier'
            // You can override the default selection at the product flavor
            // level by configuring another missingDimensionStrategy property
            // for the "minApi" dimension.
            missingDimensionStrategy 'minApi', 'minApi23'
        }
        paid { }
    }
}
```

### missingDimensionStrategy

```
abstract void missingDimensionStrategy(
    @NonNull String dimension,
    @NonNull List<@NonNull String> requestedValues
)
```

Specifies a sorted list of flavors that the plugin should try to use from a given dimension in a dependency.

Android plugin 3.0.0 and higher try to match each variant of your module with the same one from its dependencies. For example, consider if both your app and its dependencies include a "tier" /studio/build/build-variants.html#flavor-dimensions, with flavors "free" and "paid". When you build a "freeDebug" version of your app, the plugin tries to match it with "freeDebug" versions of the local library modules the app depends on.

However, there may be situations in which **a library dependency includes a flavor dimension that your app does not**. For example, consider if a library dependency includes flavors for a "minApi" dimension, but your app includes flavors for only the "tier" dimension. So, when you want to build the "freeDebug" version of your app, the plugin doesn't know whether to use the "minApi23Debug" or "minApi18Debug" version of the dependency, and you'll see an error message similar to the following:

```
Error:Failed to resolve: Could not resolve project :mylibrary.
Required by:
project :app
```

In this type of situation, use `missingDimensionStrategy` in the com.android.build.gradle.internal.dsl.DefaultConfig.html block to specify the default flavor the plugin should select from each missing dimension, as shown in the sample below. You can also override your selection in the com.android.build.gradle.internal.dsl.ProductFlavor.html block, so each flavor can specify a different matching strategy for a missing dimension. (Tip: you can also use this property if you simply want to change the matching strategy for a dimension that exists in both the app and its dependencies.)

```
// In the app's build.gradle file.
android {
    defaultConfig {
        // Specifies a flavor that the plugin should try to use from
        // a given dimension. The following tells the plugin that, when encountering
        // a dependency that includes a "minApi" dimension, it should select the
        // "minApi18" flavor.
        missingDimensionStrategy 'minApi', 'minApi18'
        // You should specify a missingDimensionStrategy property for each
        // dimension that exists in a local dependency but not in your app.
        missingDimensionStrategy 'abi', 'x86'
    }
    flavorDimensions 'tier'
    productFlavors {
        free {
            dimension 'tier'
            // You can override the default selection at the product flavor
            // level by configuring another missingDimensionStrategy property
            // for the "minApi" dimension.
            missingDimensionStrategy 'minApi', 'minApi23'
        }
        paid { }
    }
}
```

### missingDimensionStrategy

```
abstract void missingDimensionStrategy(
    @NonNull String dimension,
    @NonNull String requestedValues
)
```

Specifies a sorted list of flavors that the plugin should try to use from a given dimension in a dependency.

Android plugin 3.0.0 and higher try to match each variant of your module with the same one from its dependencies. For example, consider if both your app and its dependencies include a "tier" /studio/build/build-variants.html#flavor-dimensions, with flavors "free" and "paid". When you build a "freeDebug" version of your app, the plugin tries to match it with "freeDebug" versions of the local library modules the app depends on.

However, there may be situations in which **a library dependency includes a flavor dimension that your app does not**. For example, consider if a library dependency includes flavors for a "minApi" dimension, but your app includes flavors for only the "tier" dimension. So, when you want to build the "freeDebug" version of your app, the plugin doesn't know whether to use the "minApi23Debug" or "minApi18Debug" version of the dependency, and you'll see an error message similar to the following:

```
Error:Failed to resolve: Could not resolve project :mylibrary.
Required by:
project :app
```

In this type of situation, use `missingDimensionStrategy` in the com.android.build.gradle.internal.dsl.DefaultConfig.html block to specify the default flavor the plugin should select from each missing dimension, as shown in the sample below. You can also override your selection in the com.android.build.gradle.internal.dsl.ProductFlavor.html block, so each flavor can specify a different matching strategy for a missing dimension. (Tip: you can also use this property if you simply want to change the matching strategy for a dimension that exists in both the app and its dependencies.)

```
// In the app's build.gradle file.
android {
    defaultConfig {
        // Specifies a flavor that the plugin should try to use from
        // a given dimension. The following tells the plugin that, when encountering
        // a dependency that includes a "minApi" dimension, it should select the
        // "minApi18" flavor.
        missingDimensionStrategy 'minApi', 'minApi18'
        // You should specify a missingDimensionStrategy property for each
        // dimension that exists in a local dependency but not in your app.
        missingDimensionStrategy 'abi', 'x86'
    }
    flavorDimensions 'tier'
    productFlavors {
        free {
            dimension 'tier'
            // You can override the default selection at the product flavor
            // level by configuring another missingDimensionStrategy property
            // for the "minApi" dimension.
            missingDimensionStrategy 'minApi', 'minApi23'
        }
        paid { }
    }
}
```

### resConfig

```
abstract void [resConfig](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#resConfig(kotlin.String))(@NonNull String config)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by resourceConfigurations field

### resConfigs

```
abstract void [resConfigs](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#resConfigs(kotlin.collections.Collection))(@NonNull Collection<@NonNull String> config)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by resourceConfigurations field

### resConfigs

```
abstract void [resConfigs](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#resConfigs(kotlin.Array))(@NonNull String config)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by resourceConfigurations field

### setMinSdk

```
abstract void setMinSdk(Integer minSdk)
```

The minimum SDK version. Setting this it will override previous calls of `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdk()` and `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkPreview()` setters. Only one of `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdk()` and `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkPreview()` should be set.

See [uses-sdk element documentation](http://developer.android.com/guide/topics/manifest/uses-sdk-element.html).

### setMinSdkPreview

```
abstract void setMinSdkPreview(String minSdkPreview)
```

The minimum SDK version. Setting this it will override previous calls of `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdk()` and `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkPreview()` setters. Only one of `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdk()` and `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#minSdkPreview()` should be set.

See [uses-sdk element documentation](http://developer.android.com/guide/topics/manifest/uses-sdk-element.html).

### setMinSdkVersion

```
abstract void [setMinSdkVersion](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setMinSdkVersion(kotlin.Int))(int minSdkVersion)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by minSdk property

### setMinSdkVersion

```
abstract void [setMinSdkVersion](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setMinSdkVersion(kotlin.String))(String minSdkVersion)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by minSdkPreview property

### setRenderscriptNdkModeEnabled

```
abstract void setRenderscriptNdkModeEnabled(Boolean renderscriptNdkModeEnabled)
```

Whether the renderscript code should be compiled to generate C/C++ bindings. True for C/C++ generation, false for Java, null if not specified.

### setRenderscriptSupportModeBlasEnabled

```
abstract void setRenderscriptSupportModeBlasEnabled(
    Boolean renderscriptSupportModeBlasEnabled
)
```

Whether the renderscript BLAS support lib should be used to make it compatible with older versions of Android.

True if BLAS support lib is enabled, false if not, and null if not specified.

### setRenderscriptSupportModeEnabled

```
abstract void setRenderscriptSupportModeEnabled(
    Boolean renderscriptSupportModeEnabled
)
```

Whether the renderscript code should be compiled in support mode to make it compatible with older versions of Android.

True if support mode is enabled, false if not, and null if not specified.

### setRenderscriptTargetApi

```
abstract void setRenderscriptTargetApi(Integer renderscriptTargetApi)
```

The renderscript target api, or null if not specified. This is only the value set on this product flavor.

### setTestApplicationId

```
abstract void setTestApplicationId(String testApplicationId)
```

Test application ID.

See [Set the Application ID](https://developer.android.com/studio/build/application-id.html)

### setTestFunctionalTest

```
abstract Object [setTestFunctionalTest](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setTestFunctionalTest(kotlin.Boolean))(boolean testFunctionalTest)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by testFunctionalTest property

### setTestFunctionalTest

```
abstract void setTestFunctionalTest(Boolean testFunctionalTest)
```

See [instrumentation](http://developer.android.com/guide/topics/manifest/instrumentation-element.html).

### setTestHandleProfiling

```
abstract Object [setTestHandleProfiling](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setTestHandleProfiling(kotlin.Boolean))(boolean testHandleProfiling)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by testFunctionalTest property

### setTestHandleProfiling

```
abstract void setTestHandleProfiling(Boolean testHandleProfiling)
```

See [instrumentation](http://developer.android.com/guide/topics/manifest/instrumentation-element.html).

### setTestInstrumentationRunner

```
abstract void setTestInstrumentationRunner(String testInstrumentationRunner)
```

Test instrumentation runner class name.

This is a fully qualified class name of the runner, e.g. `android.test.InstrumentationTestRunner`

See [instrumentation](http://developer.android.com/guide/topics/manifest/instrumentation-element.html).

### setTestInstrumentationRunnerArguments

```
abstract Object [setTestInstrumentationRunnerArguments](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#setTestInstrumentationRunnerArguments(kotlin.collections.MutableMap))(
    @NonNull Map<@NonNull String, @NonNull String> testInstrumentationRunnerArguments
)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by testInstrumentationRunnerArguments property

### setWearAppUnbundled

```
abstract void setWearAppUnbundled(Boolean wearAppUnbundled)
```

Whether to enable unbundling mode for embedded wear app.

If true, this enables the app to transition from an embedded wear app to one distributed by the play store directly.

### testInstrumentationRunnerArgument

```
abstract void [testInstrumentationRunnerArgument](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#testInstrumentationRunnerArgument(kotlin.String,kotlin.String))(
    @NonNull String key,
    @NonNull String value
)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by testInstrumentationRunnerArguments property

### testInstrumentationRunnerArguments

```
abstract void [testInstrumentationRunnerArguments](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BaseFlavor#testInstrumentationRunnerArguments(kotlin.collections.Map))(
    @NonNull Map<@NonNull String, @NonNull String> args
)
```

> [!CAUTION]
> **This method is deprecated.**   
> Replaced by testInstrumentationRunnerArguments property

### vectorDrawables

```
abstract void vectorDrawables(
    @ExtensionFunctionType @NonNull Function1<@NonNull VectorDrawables, Unit> action
)
```

Configures `https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/VectorDrawables`.