# ComponentIdentity

# ComponentIdentity

<br />

```
public interface ComponentIdentity
```

<br />

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

|--------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
| [ComponentBuilder](https://developer.android.com/reference/tools/gradle-api/8.3/null/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/8.3/null/com/android/build/api/variant/Component)               |                                                                                                                                    |

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

|--------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [AndroidTest](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/AndroidTest)                                   | Properties for the android test Variant of a module.                                                                                                                     |
| [ApplicationVariantBuilder](https://developer.android.com/reference/tools/gradle-api/8.3/null/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/8.3/null/com/android/build/api/variant/ApplicationVariant)                     | Properties for the main Variant of an application.                                                                                                                       |
| [DynamicFeatureVariantBuilder](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DynamicFeatureVariantBuilder) |                                                                                                                                                                          |
| [DynamicFeatureVariant](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DynamicFeatureVariant)               |                                                                                                                                                                          |
| [LibraryVariantBuilder](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/LibraryVariantBuilder)               | [VariantBuilder](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/VariantBuilder)type for library projects                |
| [LibraryVariant](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/LibraryVariant)                             | [Variant](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/Variant)for Library projects                                   |
| [TestComponent](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/TestComponent)                               |                                                                                                                                                                          |
| [TestFixtures](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/TestFixtures)                                 |                                                                                                                                                                          |
| [TestVariantBuilder](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/TestVariantBuilder)                     | [VariantBuilder](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/VariantBuilder)type for tests associated with a module. |
| [TestVariant](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/TestVariant)                                   | [Variant](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/Variant)for test-only modules.                                 |
| [UnitTest](https://developer.android.com/reference/tools/gradle-api/8.3/null/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/8.3/null/com/android/build/api/variant/UnitTest)                                         |                                                                                                                                                                          |
| [VariantBuilder](https://developer.android.com/reference/tools/gradle-api/8.3/null/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/8.3/null/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 methods                                                                                                                                                                                                                                                                                                                                                                                                           |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | [getBuildType](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ComponentIdentity#getBuildType())`()` Build type name, might be replaced with access to locked DSL object once ready.                 |
| `abstract `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | [getFlavorName](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ComponentIdentity#getFlavorName())`()` The multi-flavor name of the variant.                                                         |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | [getName](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ComponentIdentity#getName())`()` Component's name.                                                                                         |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[List](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)`, @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)`>>` | [getProductFlavors](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ComponentIdentity#getProductFlavors())`()` List of flavor names, might be replaced with access to locked DSL objects once ready. |

## Public methods

### getBuildType

```
abstract String getBuildType()
```

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

### getFlavorName

```
abstract String getFlavorName()
```

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/8.3/null/com/android/build/api/variant/ComponentIdentity#name()).  

### getName

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

Component's name.  

### getProductFlavors

```
abstract @NonNull List<@NonNull Pair<@NonNull String, @NonNull String>> getProductFlavors()
```

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.