DynamicFeatureBuildType

interface DynamicFeatureBuildType : BuildType, DynamicFeatureVariantDimension


Build types define certain properties that Gradle uses when building and packaging your app, and are typically configured for different stages of your development lifecycle.

Dynamic features must have exactly the same build types (by name) as the app that includes them, however settings can be different between the application and the dynamic feature. Properties on dynamic feature build types fall in to three categories.

  • Properties global to the application that affect the build flow, and so must be explicitly set in the dynamic feature. For example, whether the build type is debuggable must match the application that includes this dynamic feature.

  • Properties global to the application that do not affect the build flow. These are set in the com.android.application project, and are automatically configured on the dynamic feature, they cannot be set on the dynamic feature. For example, application ID suffix and signing cannot be configured on the dynamic feature and are not present on this interface.

  • Properties that can vary between the app and the dynamic feature. For example, resValues can be used independently from the app in a dynamic feature.

See ApplicationProductFlavor

Summary

Public properties

Boolean?

Whether to crunch PNGs.

Inherited functions

From class com.android.build.api.dsl.BuildType
Unit

Copies all properties from the given build type.

@Incubating Unit
Unit

This function is deprecated. Replaced with property matchingFallbacks

Unit
setMatchingFallbacks(vararg fallbacks: String)

This function is deprecated. Replaced with property matchingFallbacks

From class org.gradle.api.plugins.ExtensionAware
From class org.gradle.api.Named
From class com.android.build.api.dsl.VariantDimension
Unit
addManifestPlaceholders(manifestPlaceholders: Map<StringAny>)

Adds manifest placeholders.

Unit
buildConfigField(type: String, name: String, value: String)

Adds a new field to the generated BuildConfig class.

@Incubating Unit

Encapsulates per-variant CMake and ndk-build configurations for your external native build.

Unit

Options for configuring Java compilation.

@Incubating Unit

Encapsulates per-variant configurations for the NDK, such as ABI filters.

@Incubating Unit
Any
proguardFile(proguardFile: Any)

Adds a new ProGuard configuration file.

Any
proguardFiles(vararg files: Any)

Adds new ProGuard configuration files.

Unit
resValue(type: String, name: String, value: String)

Adds a new generated resource.

Void?
setManifestPlaceholders(manifestPlaceholders: Map<StringAny>)

This function is deprecated. Use manifestPlaceholders property instead

Any
setProguardFiles(proguardFileIterable: Iterable<*>)

Replaces the ProGuard configuration files.

@Incubating Unit

Configure the shader compiler options.

Any
testProguardFile(proguardFile: Any)

Adds a proguard rule file to be used when processing test code.

Any
testProguardFiles(vararg proguardFiles: Any)

Adds proguard rule files to be used when processing test code.

Inherited properties

From class com.android.build.api.dsl.BuildType
Boolean

Specifies code coverage is enabled for module tests of type AndroidTest.

Boolean

Specifies unit test code coverage data collection by configuring the JacocoPlugin.

Boolean

Whether this build type is configured to generate an APK with debuggable native code.

Boolean

Specifies whether to enable code shrinking for this build type.

Boolean

Specifies whether the plugin should generate resources for pseudolocales.

Boolean

Whether the build type is configured to generate an apk with debuggable RenderScript code.

Boolean

Specifies whether to enable shrinking resources for this build type.

Boolean

This property is deprecated. Replaced with: enableUnitTestCoverage and or enableAndroidTestCoverage.

Boolean

This property is deprecated. Changing the value of isZipAlignEnabled no longer has any effect

MutableList<String>

Specifies a sorted list of build types that the plugin should try to use when a direct variant match with a local module dependency is not possible.

PostProcessing
Int

Optimization level to use by the renderscript compiler.

From class com.android.build.api.dsl.VariantDimension
ExternalNativeBuildOptions

Encapsulates per-variant CMake and ndk-build configurations for your external native build.

JavaCompileOptions

Options for configuring Java compilation.

MutableMap<StringAny>

The manifest placeholders.

File?

This property is deprecated. This property is deprecated.

File?

Text file with additional ProGuard rules to be used to determine which classes are compiled into the main dex file.

Ndk

Encapsulates per-variant configurations for the NDK, such as ABI filters.

Optimization
MutableList<File>

Specifies the ProGuard configuration files that the plugin should use.

Shaders

Options for configuring the shader compiler.

MutableList<File>

The collection of proguard rule files to be used when processing test code.

Public properties

isCrunchPngs

var isCrunchPngsBoolean?

Whether to crunch PNGs.

Setting this property to true reduces of PNG resources that are not already optimally compressed. However, this process increases build times.

PNG crunching is enabled by default in the release build type and disabled by default in the debug build type.