# ComponentIdentity

# ComponentIdentity

<br />

```
interface ComponentIdentity
```

<br />

Known direct subclasses  
[ComponentBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/ComponentBuilder),[Component](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/Component)  

|---------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
| [ComponentBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/ComponentBuilder) | Component object that contains properties that must be set during configuration time as it changes the build flow for the variant. |
| [Component](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/Component)               |                                                                                                                                    |

Known indirect subclasses  
[AndroidTest](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/AndroidTest),[ApplicationVariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/ApplicationVariantBuilder),[ApplicationVariant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/ApplicationVariant),[DynamicFeatureVariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/DynamicFeatureVariantBuilder),[DynamicFeatureVariant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/DynamicFeatureVariant),[LibraryVariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/LibraryVariantBuilder),[LibraryVariant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/LibraryVariant),[TestComponent](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/TestComponent),[TestFixtures](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/TestFixtures),[TestVariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/TestVariantBuilder),[TestVariant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/TestVariant),[UnitTest](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/component/UnitTest),[UnitTest](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/UnitTest),[VariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/VariantBuilder),[Variant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/Variant)  

|---------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [AndroidTest](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/AndroidTest)                                   | Properties for the android test Variant of a module.                                                                                                                |
| [ApplicationVariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/ApplicationVariantBuilder)       | Application specific variant object that contains properties that will determine the variant's build flow.                                                          |
| [ApplicationVariant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/ApplicationVariant)                     | Properties for the main Variant of an application.                                                                                                                  |
| [DynamicFeatureVariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/DynamicFeatureVariantBuilder) |                                                                                                                                                                     |
| [DynamicFeatureVariant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/DynamicFeatureVariant)               |                                                                                                                                                                     |
| [LibraryVariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/LibraryVariantBuilder)               | [VariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/VariantBuilder)type for library projects                |
| [LibraryVariant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/LibraryVariant)                             | [Variant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/Variant)for Library projects                                   |
| [TestComponent](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/TestComponent)                               |                                                                                                                                                                     |
| [TestFixtures](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/TestFixtures)                                 |                                                                                                                                                                     |
| [TestVariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/TestVariantBuilder)                     | [VariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/VariantBuilder)type for tests associated with a module. |
| [TestVariant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/TestVariant)                                   | [Variant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/Variant)for test-only modules.                                 |
| [UnitTest](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/component/UnitTest)                                       | **This interface is deprecated.**Use the com.android.build.api.variant package                                                                                      |
| [UnitTest](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/UnitTest)                                         |                                                                                                                                                                     |
| [VariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/VariantBuilder)                             | Variant object that contains properties that must be set during configuration time as it changes the build flow for the variant.                                    |
| [Variant](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/Variant)                                           | Parent interface for all types of variants.                                                                                                                         |

*** ** * ** ***

Variant Configuration represents the identify of a variant

This is computed from the list of build types and flavors.

## Summary

|                                                                                                                                                                                                                                                                                   ### Public properties                                                                                                                                                                                                                                                                                   ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`?`                                                                                                                                                                                                                                                                | [buildType](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/ComponentIdentity#buildType()) Build type name, might be replaced with access to locked DSL object once ready.                 |
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`?`                                                                                                                                                                                                                                                                | [flavorName](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/ComponentIdentity#flavorName()) The multi-flavor name of the variant.                                                         |
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)                                                                                                                                                                                                                                                                   | [name](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/ComponentIdentity#name()) Component's name.                                                                                         |
| [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<`[Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)`<`[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`>>` | [productFlavors](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/ComponentIdentity#productFlavors()) List of flavor names, might be replaced with access to locked DSL objects once ready. |

## Public properties

### buildType

```
val buildType: String?
```

Build type name, might be replaced with access to locked DSL object once ready.  

### flavorName

```
val flavorName: String?
```

The multi-flavor name of the variant.

This does not include the build type. If no flavors are present, this will return null

The full name of the variant is queried via[name](https://developer.android.com/reference/tools/gradle-api/7.4/com/android/build/api/variant/ComponentIdentity#name()).  

### name

```
val name: String
```

Component's name.  

### productFlavors

```
val productFlavors: List<Pair<String, String>>
```

List of flavor names, might be replaced with access to locked DSL objects once ready.

The order is properly sorted based on the associated dimension order.