# DynamicFeatureExtension

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


```
interface DynamicFeatureExtension : CommonExtension, ApkExtension, TestedExtension
```

<br />

*** ** * ** ***

Extension for the Android Dynamic Feature Gradle Plugin.

This is the `android` block when the `com.android.dynamic-feature` plugin is applied.

Only the Android Gradle Plugin should create instances of interfaces in com.android.build.api.dsl.

## Summary

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `[aaptOptions](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#aaptOptions(kotlin.Function1))(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AaptOptions.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` **This function is deprecated.** Replaced by androidResources |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `[adbOptions](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#adbOptions(kotlin.Function1))(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AdbOptions.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` **This function is deprecated.** Replaced by installation |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#androidResources(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureAndroidResources.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Specifies options related to the processing of Android Resources. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#buildFeatures(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildFeatures.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` A list of build features that can be enabled or disabled on the Android Project. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#buildTypes(kotlin.Function1)(action: https://docs.gradle.org/current/javadoc/org/gradle/api/NamedDomainObjectContainer.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType>.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Encapsulates all build type configurations for this project. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#compileOptions(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CompileOptions.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Specifies Java compiler options, such as the language level of the Java source code and generated bytecode. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#composeOptions(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ComposeOptions.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#dataBinding(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DataBinding.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Specifies options for the [Data Binding Library](https://developer.android.com/topic/libraries/data-binding/index.html). |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://docs.gradle.org/current/javadoc/org/gradle/api/NamedDomainObjectContainer.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType>.https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#(org.gradle.api.NamedDomainObjectContainer).debug(kotlin.Function1)( action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html )` Shortcut extension method to allow easy access to the predefined `debug` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#defaultConfig(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureDefaultConfig.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Specifies defaults for variant properties that the Android plugin applies to all build variants. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#externalNativeBuild(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ExternalNativeBuild.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Specifies options for external native build using [CMake](https://cmake.org/) or [ndk-build](https://developer.android.com/ndk/guides/ndk-build.html). |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#installation(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureInstallation.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Specifies options for the [Android Debug Bridge (ADB)](https://developer.android.com/studio/command-line/adb.html), such as APK installation options. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `@https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html [jacoco](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#jacoco(kotlin.Function1))(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/JacocoOptions.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` **This function is deprecated.** Renamed to testCoverage |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#lint(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Lint.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Specifies options for the lint tool. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `@https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html [lintOptions](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#lintOptions(kotlin.Function1))(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/LintOptions.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` **This function is deprecated.** Renamed to lint |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#packaging(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Packaging.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Specifies options and rules that determine which files the Android plugin packages into your APK. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `[packagingOptions](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#packagingOptions(kotlin.Function1))(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Packaging.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` **This function is deprecated.** Renamed to packaging |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#productFlavors(kotlin.Function1)(action: https://docs.gradle.org/current/javadoc/org/gradle/api/NamedDomainObjectContainer.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureProductFlavor>.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Encapsulates all product flavors configurations for this project. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://docs.gradle.org/current/javadoc/org/gradle/api/NamedDomainObjectContainer.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType>.https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#(org.gradle.api.NamedDomainObjectContainer).release(kotlin.Function1)( action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html )` Shortcut extension method to allow easy access to the predefined `release` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#signingConfigs(kotlin.Function1)(action: https://docs.gradle.org/current/javadoc/org/gradle/api/NamedDomainObjectContainer.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ApkSigningConfig>.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Encapsulates signing configurations that you can apply to `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/BuildType` and `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ProductFlavor` configurations. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#sourceSets(kotlin.Function1)(action: https://docs.gradle.org/current/javadoc/org/gradle/api/NamedDomainObjectContainer.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AndroidSourceSet>.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Encapsulates source set configurations for all variants. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#splits(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Splits.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Specifies configurations for [building multiple APKs](https://developer.android.com/studio/build/configure-apk-splits.html) or APK splits. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#testCoverage(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestCoverage.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Configure the gathering of code-coverage from tests. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#testOptions(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestOptions.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Specifies options for how the Android plugin should run local and instrumented tests. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#viewBinding(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ViewBinding.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Specifies options for the [View Binding Library](https://developer.android.com/topic/libraries/view-binding/index.html). |

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AaptOptions` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#aaptOptions()` **This property is deprecated.** Replaced by |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AdbOptions` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#adbOptions()` **This property is deprecated.** Replaced by installation |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureAndroidResources` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#androidResources()` Specifies options related to the processing of Android Resources. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildFeatures` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#buildFeatures()` A list of build features that can be enabled or disabled on the Android Project. |
| `https://docs.gradle.org/current/javadoc/org/gradle/api/NamedDomainObjectContainer.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#buildTypes()` Encapsulates all build type configurations for this project. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CompileOptions` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#compileOptions()` Specifies Java compiler options, such as the language level of the Java source code and generated bytecode. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ComposeOptions` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#composeOptions()` |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DataBinding` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#dataBinding()` Specifies options for the [Data Binding Library](https://developer.android.com/topic/libraries/data-binding/index.html). |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureDefaultConfig` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#defaultConfig()` Specifies defaults for variant properties that the Android plugin applies to all build variants. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ExternalNativeBuild` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#externalNativeBuild()` Specifies options for external native build using [CMake](https://cmake.org/) or [ndk-build](https://developer.android.com/ndk/guides/ndk-build.html). |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureInstallation` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#installation()` Specifies options for the [Android Debug Bridge (ADB)](https://developer.android.com/studio/command-line/adb.html), such as APK installation options. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/JacocoOptions` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#jacoco()` **This property is deprecated.** Renamed to testCoverage |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Lint` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#lint()` Specifies options for the lint tool. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/LintOptions` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#lintOptions()` **This property is deprecated.** Renamed to lint |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Packaging` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#packaging()` Specifies options and rules that determine which files the Android plugin packages into your APK. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Packaging` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#packagingOptions()` **This property is deprecated.** Renamed to packaging |
| `https://docs.gradle.org/current/javadoc/org/gradle/api/NamedDomainObjectContainer.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureProductFlavor>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#productFlavors()` Encapsulates all product flavors configurations for this project. |
| `https://docs.gradle.org/current/javadoc/org/gradle/api/NamedDomainObjectContainer.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ApkSigningConfig>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#signingConfigs()` Encapsulates signing configurations that you can apply to \[ \] and \[ \] configurations. |
| `https://docs.gradle.org/current/javadoc/org/gradle/api/NamedDomainObjectContainer.html<https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AndroidSourceSet>` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#sourceSets()` Encapsulates source set configurations for all variants. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Splits` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#splits()` Specifies configurations for [building multiple APKs](https://developer.android.com/studio/build/configure-apk-splits.html) or APK splits. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestCoverage` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#testCoverage()` Configure the gathering of code-coverage from tests. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestOptions` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#testOptions()` Specifies options for how the Android plugin should run local and instrumented tests. |
| `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ViewBinding` | `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#viewBinding()` Specifies options for the [View Binding Library](https://developer.android.com/topic/libraries/view-binding/index.html). |

### Inherited functions

From [com.android.build.api.dsl.CommonExtension](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CommonExtension) `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `[buildToolsVersion](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CommonExtension#buildToolsVersion(kotlin.String))(buildToolsVersion: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`

**This function is deprecated.** Replaced by buildToolsVersion property
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CommonExtension#compileSdk(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CompileSdkSpec.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`

Configures all aspects regarding compile Sdk version, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CompileSdkSpec` for more details.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CommonExtension#compileSdkAddon(kotlin.String,kotlin.String,kotlin.Int)(vendor: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, name: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, version: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`

Specify an SDK add-on to compile your project against.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `[compileSdkVersion](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CommonExtension#compileSdkVersion(kotlin.Int))(apiLevel: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`

**This function is deprecated.** Will be removed in AGP 10.0, replaced by the compileSdk block
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `[compileSdkVersion](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CommonExtension#compileSdkVersion(kotlin.String))(version: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`

**This function is deprecated.** Will be removed in AGP 10.0, replaced by the compileSdk block
`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.6/com/android/build/api/dsl/CommonExtension#getDefaultProguardFile(kotlin.String)(name: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CommonExtension#useLibrary(kotlin.String)(name: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`

Includes the specified library to the classpath.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CommonExtension#useLibrary(kotlin.String,kotlin.Boolean)(name: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, required: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`

Includes the specified library to the classpath.
From [com.android.build.api.dsl.TestedExtension](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestedExtension) `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/dsl/TestedExtension#testFixtures(kotlin.Function1)(action: https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestFixtures.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`

Options to configure the test fixtures.

### Inherited properties

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

Specifies the version of the [SDK Build Tools](https://developer.android.com/studio/releases/build-tools.html) to use when building your project.
`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/dsl/CommonExtension#compileSdk()`

Specifies the API level to compile your project against.
`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/dsl/CommonExtension#compileSdkExtension()`

Specifies the SDK Extension level to compile your project against.
`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/dsl/CommonExtension#compileSdkMinor()`

Specify a minor API version for the compile SDK.
`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/dsl/CommonExtension#compileSdkPreview()`

Specify a preview API to compile your project against.
`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/dsl/CommonExtension#enableKotlin()`

Enables the compilation of Kotlin sources.
`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.6/com/android/build/api/dsl/CommonExtension#experimentalProperties()`

Additional per module experimental properties.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/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/dsl/CommonExtension#flavorDimensions()`

Specifies the names of product flavor dimensions for this project.
`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/dsl/CommonExtension#namespace()`

The namespace of the generated R and BuildConfig classes.
`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/dsl/CommonExtension#ndkPath()`

Requires the specified path to NDK be used.
`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/dsl/CommonExtension#ndkVersion()`

Requires the specified NDK version to be used.
`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/dsl/CommonExtension#resourcePrefix()`

Specifies a resource name prefix required for all resources defined in this module.
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/SdkComponents` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CommonExtension#sdkComponents()`

**This property is deprecated.** This API will be removed in AGP 7.0, replaced with AndroidComponents::sdkComponents
From [org.gradle.api.plugins.ExtensionAware](https://docs.gradle.org/current/javadoc/org/gradle/api/plugins/ExtensionAware.html) `https://docs.gradle.org/current/javadoc/org/gradle/api/plugins/ExtensionContainer.html` `https://docs.gradle.org/current/javadoc/org/gradle/api/plugins/ExtensionAware.html#extensions` From [com.android.build.api.dsl.TestedExtension](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestedExtension) `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/dsl/TestedExtension#testBuildType()`

Specifies the [build type](https://developer.android.com/studio/build/build-variants.html#build-types) that the plugin should use to test the module.
`https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestFixtures` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestedExtension#testFixtures()`

Options to configure the test fixtures.
`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/dsl/TestedExtension#testNamespace()`

The namespace used by the android test and unit test components for the generated R and BuildConfig classes.

## Public functions

### aaptOptions

```
fun [aaptOptions](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#aaptOptions(kotlin.Function1))(action: AaptOptions.() -> Unit): Unit
```

> [!CAUTION]
> **This function is deprecated.**   
> Replaced by androidResources, use this instead:
>
> ```
> androidResources
> ```

Specifies options for the Android Asset Packaging Tool (AAPT).

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AaptOptions`.

### adbOptions

```
fun [adbOptions](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#adbOptions(kotlin.Function1))(action: AdbOptions.() -> Unit): Unit
```

> [!CAUTION]
> **This function is deprecated.**   
> Replaced by installation, use this instead:
>
> ```
> installation
> ```

Specifies options for the [Android Debug Bridge (ADB)](https://developer.android.com/studio/command-line/adb.html), such as APK installation options.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AdbOptions`.

### androidResources

Added in 9.6.0-alpha03

```
fun androidResources(action: DynamicFeatureAndroidResources.() -> Unit): Unit
```

Specifies options related to the processing of Android Resources.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureAndroidResources`.

### buildFeatures

Added in 9.6.0-alpha03

```
fun buildFeatures(action: DynamicFeatureBuildFeatures.() -> Unit): Unit
```

A list of build features that can be enabled or disabled on the Android Project.

### buildTypes

Added in 9.6.0-alpha03

```
fun buildTypes(action: NamedDomainObjectContainer<DynamicFeatureBuildType>.() -> Unit): Unit
```

Encapsulates all build type configurations for this project.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType`

### compileOptions

```
fun compileOptions(action: CompileOptions.() -> Unit): Unit
```

Specifies Java compiler options, such as the language level of the Java source code and generated bytecode.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CompileOptions`.

### composeOptions

```
fun composeOptions(action: ComposeOptions.() -> Unit): Unit
```

### dataBinding

```
fun dataBinding(action: DataBinding.() -> Unit): Unit
```

Specifies options for the [Data Binding Library](https://developer.android.com/topic/libraries/data-binding/index.html).

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DataBinding`

### NamedDomainObjectContainer.debug

Added in 9.6.0-alpha03

```
fun NamedDomainObjectContainer<DynamicFeatureBuildType>.debug(
    action: DynamicFeatureBuildType.() -> Unit
): Unit
```

Shortcut extension method to allow easy access to the predefined `debug` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType`

For example:

```
 android {
     buildTypes {
         debug {
             // ...
         }
     }
}
```

### defaultConfig

Added in 9.6.0-alpha03

```
fun defaultConfig(action: DynamicFeatureDefaultConfig.() -> Unit): Unit
```

Specifies defaults for variant properties that the Android plugin applies to all build variants.

You can override any `defaultConfig` property when [configuring product flavors](https://developer.android.com/studio/build/build-variants.html#product-flavors)

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureDefaultConfig`.

### externalNativeBuild

```
fun externalNativeBuild(action: ExternalNativeBuild.() -> Unit): Unit
```

Specifies options for external native build using [CMake](https://cmake.org/) or [ndk-build](https://developer.android.com/ndk/guides/ndk-build.html).

When using [Android Studio 2.2 or higher](https://developer.android.com/studio/index.html) with [Android plugin 2.2.0 or higher](https://developer.android.com/studio/releases/gradle-plugin.html), you can compile C and C++ code into a native library that Gradle packages into your APK.

To learn more, read [Add C and C++ Code to Your Project](https://developer.android.com/studio/projects/add-native-code.html).

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

### installation

Added in 9.6.0-alpha03

```
fun installation(action: DynamicFeatureInstallation.() -> Unit): Unit
```

Specifies options for the [Android Debug Bridge (ADB)](https://developer.android.com/studio/command-line/adb.html), such as APK installation options.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AdbOptions`.

### jacoco

```
@Incubating
fun [jacoco](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#jacoco(kotlin.Function1))(action: JacocoOptions.() -> Unit): Unit
```

> [!CAUTION]
> **This function is deprecated.**   
> Renamed to testCoverage, use this instead:
>
> ```
> testCoverage
> ```

Configure the gathering of code-coverage from tests.

This is replaced by `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#testCoverage(kotlin.Function1)`.

### lint

```
fun lint(action: Lint.() -> Unit): Unit
```

Specifies options for the lint tool.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Lint`.

### lintOptions

```
@Incubating
fun [lintOptions](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#lintOptions(kotlin.Function1))(action: LintOptions.() -> Unit): Unit
```

> [!CAUTION]
> **This function is deprecated.**   
> Renamed to lint, use this instead:
>
> ```
> lint
> ```

Specifies options for the lint tool.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/LintOptions`.

### packaging

```
fun packaging(action: Packaging.() -> Unit): Unit
```

Specifies options and rules that determine which files the Android plugin packages into your APK.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Packaging`.

### packagingOptions

```
fun [packagingOptions](https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#packagingOptions(kotlin.Function1))(action: Packaging.() -> Unit): Unit
```

> [!CAUTION]
> **This function is deprecated.**   
> Renamed to packaging, use this instead:
>
> ```
> packaging
> ```

Specifies options and rules that determine which files the Android plugin packages into your APK.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Packaging`.

### productFlavors

Added in 9.6.0-alpha03

```
fun productFlavors(action: NamedDomainObjectContainer<DynamicFeatureProductFlavor>.() -> Unit): Unit
```

Encapsulates all product flavors configurations for this project.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureProductFlavor`

### NamedDomainObjectContainer.release

Added in 9.6.0-alpha03

```
fun NamedDomainObjectContainer<DynamicFeatureBuildType>.release(
    action: DynamicFeatureBuildType.() -> Unit
): Unit
```

Shortcut extension method to allow easy access to the predefined `release` `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType`

For example:

```
 android {
     buildTypes {
         release {
             // ...
         }
     }
}
```

### signingConfigs

```
fun signingConfigs(action: NamedDomainObjectContainer<ApkSigningConfig>.() -> Unit): Unit
```

Encapsulates signing configurations that you can apply to `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/BuildType` and `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ProductFlavor` configurations.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ApkSigningConfig`.

### sourceSets

```
fun sourceSets(action: NamedDomainObjectContainer<AndroidSourceSet>.() -> Unit): Unit
```

Encapsulates source set configurations for all variants.

Note that the Android plugin uses its own implementation of source sets. For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AndroidSourceSet`.

### splits

```
fun splits(action: Splits.() -> Unit): Unit
```

Specifies configurations for [building multiple APKs](https://developer.android.com/studio/build/configure-apk-splits.html) or APK splits.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Splits`.

### testCoverage

```
fun testCoverage(action: TestCoverage.() -> Unit): Unit
```

Configure the gathering of code-coverage from tests.

To override the JaCoCo version that is used for offline instrumentation and coverage report, add the following to `build.gradle` file:

```
android {
    testCoverage {
        jacocoVersion "<jacoco-version>"
    }
}
```

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestCoverage`.

### testOptions

```
fun testOptions(action: TestOptions.() -> Unit): Unit
```

Specifies options for how the Android plugin should run local and instrumented tests.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestOptions`.

### viewBinding

```
fun viewBinding(action: ViewBinding.() -> Unit): Unit
```

Specifies options for the [View Binding Library](https://developer.android.com/topic/libraries/view-binding/index.html).

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ViewBinding`

## Public properties

### aaptOptions

```
val aaptOptions: AaptOptions
```

> [!CAUTION]
> **This property is deprecated.**   
> Replaced by , use this instead:
>
> ```
> androidResources
> ```

Specifies options for the Android Asset Packaging Tool (AAPT).

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AaptOptions`.

### adbOptions

```
val adbOptions: AdbOptions
```

> [!CAUTION]
> **This property is deprecated.**   
> Replaced by installation, use this instead:
>
> ```
> installation
> ```

Specifies options for the [Android Debug Bridge (ADB)](https://developer.android.com/studio/command-line/adb.html), such as APK installation options.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AdbOptions`.

### androidResources

```
val androidResources: DynamicFeatureAndroidResources
```

Specifies options related to the processing of Android Resources.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureAndroidResources`.

### buildFeatures

```
val buildFeatures: DynamicFeatureBuildFeatures
```

A list of build features that can be enabled or disabled on the Android Project.

### buildTypes

```
val buildTypes: NamedDomainObjectContainer<DynamicFeatureBuildType>
```

Encapsulates all build type configurations for this project.

Unlike using `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureProductFlavor` to create different versions of your project that you expect to co-exist on a single device, build types determine how Gradle builds and packages each version of your project. Developers typically use them to configure projects for various stages of a development lifecycle. For example, when creating a new project from Android Studio, the Android plugin configures a 'debug' and 'release' build type for you. You can then combine build types with product flavors to [create build variants](https://developer.android.com/studio/build/build-variants.html).

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

### compileOptions

```
val compileOptions: CompileOptions
```

Specifies Java compiler options, such as the language level of the Java source code and generated bytecode.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/CompileOptions`.

### composeOptions

```
val composeOptions: ComposeOptions
```

### dataBinding

```
val dataBinding: DataBinding
```

Specifies options for the [Data Binding Library](https://developer.android.com/topic/libraries/data-binding/index.html).

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DataBinding`

### defaultConfig

```
val defaultConfig: DynamicFeatureDefaultConfig
```

Specifies defaults for variant properties that the Android plugin applies to all build variants.

You can override any `defaultConfig` property when [configuring product flavors](https://developer.android.com/studio/build/build-variants.html#product-flavors)

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureDefaultConfig`.

### externalNativeBuild

```
val externalNativeBuild: ExternalNativeBuild
```

Specifies options for external native build using [CMake](https://cmake.org/) or [ndk-build](https://developer.android.com/ndk/guides/ndk-build.html).

When using [Android Studio 2.2 or higher](https://developer.android.com/studio/index.html) with [Android plugin 2.2.0 or higher](https://developer.android.com/studio/releases/gradle-plugin.html), you can compile C and C++ code into a native library that Gradle packages into your APK.

To learn more, read [Add C and C++ Code to Your Project](https://developer.android.com/studio/projects/add-native-code.html).

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

### installation

```
val installation: DynamicFeatureInstallation
```

Specifies options for the [Android Debug Bridge (ADB)](https://developer.android.com/studio/command-line/adb.html), such as APK installation options.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AdbOptions`.

### jacoco

```
val jacoco: JacocoOptions
```

> [!CAUTION]
> **This property is deprecated.**   
> Renamed to testCoverage, use this instead:
>
> ```
> testCoverage
> ```

Configure the gathering of code-coverage from tests.

This is replaced by `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureExtension#testCoverage(kotlin.Function1)`.

### lint

```
val lint: Lint
```

Specifies options for the lint tool.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Lint`.

### lintOptions

```
val lintOptions: LintOptions
```

> [!CAUTION]
> **This property is deprecated.**   
> Renamed to lint, use this instead:
>
> ```
> lint
> ```

Specifies options for the lint tool.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/LintOptions`.

### packaging

```
val packaging: Packaging
```

Specifies options and rules that determine which files the Android plugin packages into your APK.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Packaging`.

### packagingOptions

```
val packagingOptions: Packaging
```

> [!CAUTION]
> **This property is deprecated.**   
> Renamed to packaging, use this instead:
>
> ```
> packaging
> ```

Specifies options and rules that determine which files the Android plugin packages into your APK.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Packaging`.

### productFlavors

```
val productFlavors: NamedDomainObjectContainer<DynamicFeatureProductFlavor>
```

Encapsulates all product flavors configurations for this project.

Product flavors represent different versions of your project that you expect to co-exist on a single device, the Google Play store, or repository. For example, you can configure 'demo' and 'full' product flavors for your app, and each of those flavors can specify different features, device requirements, resources, and application ID's--while sharing common source code and resources. So, product flavors allow you to output different versions of your project by simply changing only the components and settings that are different between them.

Configuring product flavors is similar to [configuring build types](https://developer.android.com/studio/build/build-variants.html#build-types): add them to the `productFlavors` block of your project's `build.gradle` file and configure the settings you want. Product flavors support the same properties as the `defaultConfig` block--this is because `defaultConfig` defines an object that the plugin uses as the base configuration for all other flavors. Each flavor you configure can then override any of the default values in `defaultConfig`, such as the [`applicationId`](https://d.android.com/studio/build/application-id.html).

When using Android plugin 3.0.0 and higher, *each flavor must belong to a com.android.build.gradle.BaseExtension.html#com.android.build.gradle.BaseExtension:flavorDimensions(java.lang.String\[\]) value* . By default, when you specify only one dimension, all flavors you configure belong to that dimension. If you specify more than one flavor dimension, you need to manually assign each flavor to a dimension. To learn more, read [Use Flavor Dimensions for variant-aware dependency management](https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#variant_aware).

When you configure product flavors, the Android plugin automatically combines them with your `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/DynamicFeatureBuildType` configurations to [create build variants](https://developer.android.com/studio/build/build-variants.html). If the plugin creates certain build variants that you don't want, you can [filter variants](https://developer.android.com/studio/build/build-variants.html#filter-variants).

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

### signingConfigs

```
val signingConfigs: NamedDomainObjectContainer<ApkSigningConfig>
```

Encapsulates signing configurations that you can apply to \[ \] and \[ \] configurations.

Android requires that all APKs be digitally signed with a certificate before they can be installed onto a device. When deploying a debug version of your project from Android Studio, the Android plugin automatically signs your APK with a generic debug certificate. However, to build an APK for release, you must [sign the APK](https://developer.android.com/studio/publish/app-signing.html) with a release key and keystore. You can do this by either [using the Android Studio UI](https://developer.android.com/studio/publish/app-signing.html#sign-apk) or manually [configuring your `build.gradle` file](https://developer.android.com/studio/publish/app-signing.html#gradle-sign).

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

### sourceSets

```
val sourceSets: NamedDomainObjectContainer<AndroidSourceSet>
```

Encapsulates source set configurations for all variants.

Note that the Android plugin uses its own implementation of source sets. For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/AndroidSourceSet`.

### splits

```
val splits: Splits
```

Specifies configurations for [building multiple APKs](https://developer.android.com/studio/build/configure-apk-splits.html) or APK splits.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/Splits`.

### testCoverage

```
val testCoverage: TestCoverage
```

Configure the gathering of code-coverage from tests.

To override the JaCoCo version that is used for offline instrumentation and coverage report, add the following to `build.gradle` file:

```
android {
    testCoverage {
        jacocoVersion "<jacoco-version>"
    }
}
```

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestCoverage`.

### testOptions

```
val testOptions: TestOptions
```

Specifies options for how the Android plugin should run local and instrumented tests.

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/TestOptions`.

### viewBinding

```
val viewBinding: ViewBinding
```

Specifies options for the [View Binding Library](https://developer.android.com/topic/libraries/view-binding/index.html).

For more information about the properties you can configure in this block, see `https://developer.android.com/reference/tools/gradle-api/9.6/com/android/build/api/dsl/ViewBinding`