VariantProperties

@Incubating interface VariantProperties : ComponentProperties

Parent interface for all types of variants.

Summary

Public methods

abstract Unit
addBuildConfigField(key: String, value: Serializable, comment: String?)

Convenience method to add a new Build Config field which value is known at configuration time.

abstract Unit
addResValue(name: String, type: String, value: String, comment: String?)

Adds a ResValue element to the generated resources.

abstract Unit
addResValue(name: String, type: String, value: Provider<String>, comment: String?)

Adds a ResValue element to the generated resources.

Properties

abstract Provider<String>

Variant's application ID as present in the final manifest file of the APK.

abstract MapProperty<String, BuildConfigField<out Serializable>>

Variant's BuildConfigField which will be generated in the BuildConfig class.

abstract MapProperty<String, String>

MapProperty of the variant's manifest placeholders.

abstract Provider<String>

The package name into which some classes are generated

Inherited properties

Artifacts artifacts

Access to the variant's buildable artifacts for build customization.

String? buildType

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

String flavorName

The multi-flavor name of the variant.

This does not include the build type. If no flavors are present, this is an empty string.

The full name of the variant is queried via getName

List<Pair<String, String>> productFlavors

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

Public methods

addBuildConfigField

abstract fun addBuildConfigField(
    key: String,
    value: Serializable,
    comment: String?
): Unit

Convenience method to add a new Build Config field which value is known at configuration time.

Parameters
key: String the build config field name
value: Serializable the build config field value which type must be Serializable
comment: String? optional comment for the field.

addResValue

abstract fun addResValue(
    name: String,
    type: String,
    value: String,
    comment: String?
): Unit

Adds a ResValue element to the generated resources.

Parameters
name: String the resource name
type: String the resource type like 'string'
value: String the resource value
comment: String? optional comment to be added to the generated resource file for the field.

addResValue

abstract fun addResValue(
    name: String,
    type: String,
    value: Provider<String>,
    comment: String?
): Unit

Adds a ResValue element to the generated resources.

Parameters
name: String the resource name
type: String the resource type like 'string'
value: Provider<String> a Provider for the value
comment: String? optional comment to be added to the generated resource file for the field.

Properties

applicationId

abstract val applicationId: Provider<String>

Variant's application ID as present in the final manifest file of the APK.

Some type of variants allows this to be writeable but for some it's only read-only.

buildConfigFields

abstract val buildConfigFields: MapProperty<String, BuildConfigField<out Serializable>>

Variant's BuildConfigField which will be generated in the BuildConfig class.

manifestPlaceholders

abstract val manifestPlaceholders: MapProperty<String, String>

MapProperty of the variant's manifest placeholders.

Placeholders are organized with a key and a value. The value is a String that will be used as is in the merged manifest.

Return
the MapProperty with keys as String

packageName

abstract val packageName: Provider<String>

The package name into which some classes are generated