Stay organized with collections
Save and categorize content based on your preferences.
VariantExtensionConfig
@Incubating interface VariantExtensionConfig<VariantT : Variant>
Configuration object passed to the lambda responsible for creating a
com.android.build.api.variant.VariantExtension for each com.android.build.api.variant.Variant
instance.
Summary
Public methods
Properties
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# VariantExtensionConfig\n======================\n\n```\n@Incubating interface VariantExtensionConfig\u003cVariantT : Variant\u003e\n```\n\n|-----------------------------------------------------------|\n| [com.android.build.api.variant.VariantExtensionConfig](#) |\n\n|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Known Direct Subclasses [VariantExtensionConfig](../extension/VariantExtensionConfig.html#) |---------------------------------------------------------------------|--------| | [VariantExtensionConfig](../extension/VariantExtensionConfig.html#) | \u003cbr /\u003e | |\n\nConfiguration object passed to the lambda responsible for creating a\n[com.android.build.api.variant.VariantExtension](/reference/tools/gradle-api/7.0/com/android/build/api/variant/VariantExtension) for each [com.android.build.api.variant.Variant](/reference/tools/gradle-api/7.0/com/android/build/api/variant/Variant)\ninstance.\n\nSummary\n-------\n\n| ### Public methods ||\n|--------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract T | [buildTypeExtension](#buildTypeExtension(java.lang.Class))`(`extensionType:` `[Class](http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html)\u003cT\u003e`)` Returns the [variant](#variant:com.android.build.api.variant.VariantExtensionConfig.VariantT) specific extension registered through the [com.android.build.api.extension.DslExtension.buildTypeExtensionType](#) API. |\n| abstract [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)\\\u003cT\\\u003e | [productFlavorsExtensions](#productFlavorsExtensions(java.lang.Class))`(`extensionType:` `[Class](http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html)\u003cT\u003e`)` Returns the [variant](#variant:com.android.build.api.variant.VariantExtensionConfig.VariantT) specific extension registered through the [com.android.build.api.extension.DslExtension.productFlavorExtensionType](#) API. |\n| abstract T | [projectExtension](#projectExtension(java.lang.Class))`(`extensionType:` `[Class](http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html)\u003cT\u003e`)` Returns the project (across variants) extension registered through the [com.android.build.api.extension.DslExtension.projectExtensionType](#) API. |\n\n| ### Properties ||\n|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract VariantT | [variant](#variant:com.android.build.api.variant.VariantExtensionConfig.VariantT) Gets the variant object the [com.android.build.api.variant.VariantExtension](/reference/tools/gradle-api/7.0/com/android/build/api/variant/VariantExtension) should be associated with. |\n\nPublic methods\n--------------\n\n### buildTypeExtension\n\n```\nabstract fun \u003cT\u003e buildTypeExtension(extensionType: Class\u003cT\u003e): T\n```\n\nReturns the [variant](#variant:com.android.build.api.variant.VariantExtensionConfig.VariantT) specific extension registered through the\n[com.android.build.api.extension.DslExtension.buildTypeExtensionType](#) API.\n\n| Return ||\n|---|---|\n| the custom extension for the [variant](#variant:com.android.build.api.variant.VariantExtensionConfig.VariantT)'s build type. ||\n\n### productFlavorsExtensions\n\n```\nabstract fun \u003cT\u003e productFlavorsExtensions(extensionType: Class\u003cT\u003e): List\u003cT\u003e\n```\n\nReturns the [variant](#variant:com.android.build.api.variant.VariantExtensionConfig.VariantT) specific extension registered through the\n[com.android.build.api.extension.DslExtension.productFlavorExtensionType](#) API.\n\n| Return ||\n|---|---|\n| a [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html) of T extension for all the defined product flavors in the project. The order of the elements is the same as the order of product flavors returned by the [Variant.productFlavors](#) ||\n\n### projectExtension\n\n```\nabstract fun \u003cT\u003e projectExtension(extensionType: Class\u003cT\u003e): T\n```\n\nReturns the project (across variants) extension registered through the\n[com.android.build.api.extension.DslExtension.projectExtensionType](#) API.\n\nProperties\n----------\n\n### variant\n\n```\nabstract val variant: VariantT\n```\n\nGets the variant object the [com.android.build.api.variant.VariantExtension](/reference/tools/gradle-api/7.0/com/android/build/api/variant/VariantExtension) should be\nassociated with."]]