Variant

@Incubating interface Variant : Component
com.android.build.api.variant.Variant

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.

Inherited functions

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

abstract PackagingOptions

Variant's packagingOptions, initialized by the corresponding global DSL element.

Inherited properties

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

packagingOptions

abstract val packagingOptions: PackagingOptions

Variant's packagingOptions, initialized by the corresponding global DSL element.