Class Index

These are all the API classes. See all API packages.

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  

A

AaptOptions

This interface is deprecated. Renamed to AndroidResources

AarMetadata

Variant object for configuring AAR metadata.

AarMetadata

DSL object for configuring metadata that is embedded in the AAR.

AbiSplit

DSL object for configuring per-abi splits options.

AdbOptions

This interface is deprecated. Renamed to Installation

AgpVersionAttr

Type of the attribute holding Android Gradle Plugin version.

AgpVersionAttr.Companion
AndroidBasePlugin

Common plugin applied by all plugins.

AndroidComponentsExtension

Generic extension for Android Gradle Plugin related components.

AndroidPluginVersion

Represents a version of the Android Gradle Plugin

AndroidResources

Defines a variant's aapt options.

AndroidResources

DSL object for configuring aapt options.

AndroidSourceDirectorySet

An AndroidSourceDirectorySet represents a set of directory inputs for an Android project.

AndroidSourceFile

An AndroidSourceFile represents a single file input for an Android project.

AndroidSourceSet

An AndroidSourceSet represents a logical group of Java, aidl and RenderScript sources as well as Android and non-Android (Java-style) resources.

AndroidTest

Properties for the android test Variant of a module.

AndroidVersion
AnnotationProcessor
AnnotationProcessorOptions

Options for configuring Java annotation processor.

ApkExtension

Common extension properties for the Android Gradle Plugin Application and Dynamic Feature plugins.

ApkPackaging

Defines an APK variant's packaging options.

ApkSigningConfig

DSL object to configure signing configs.

ApplicationAndroidComponentsExtension

Extension for the Android Application Gradle Plugin components.

ApplicationBaseFlavor
ApplicationBuildFeatures

A list of build features that can be disabled or enabled in an Android Application project.

ApplicationBuildType

Build types define certain properties that Gradle uses when building and packaging your app, and are typically configured for different stages of your development lifecycle.

ApplicationDefaultConfig

Specifies defaults for properties that the Android application plugin applies to all build variants.

ApplicationExtension

Extension for the Android Gradle Plugin Application plugin.

ApplicationProductFlavor

Encapsulates all product flavors properties for application projects.

ApplicationPublishing

Maven publishing DSL object for configuring options related to publishing APK and AAB.

ApplicationSingleVariant

Single variant publishing options for application projects.

ApplicationVariant

Properties for the main Variant of an application.

ApplicationVariantBuilder

Application specific variant object that contains properties that will determine the variant's build flow.

ApplicationVariantDimension

Shared properties between DSL objects that contribute to an application variant.

Artifact

Defines a type of artifact handled by the Android Gradle Plugin.

Artifact.Appendable

Denotes an artifact type that can be appended to.

Artifact.Category

Defines the kind of artifact type. this will be used to determine the output file location for instance.

Artifact.Companion

Supported ArtifactKind

Artifact.ContainsMany

Denotes a single DIRECTORY that may contain zero to many com.android.build.api.variant.BuiltArtifact.

Artifact.Multiple

Denotes possible multiple FileSystemLocation instances for this artifact type.

Artifact.Replaceable

Denotes an artifact type that can be replaced.

Artifact.Single

Denotes a single FileSystemLocation instance of this artifact type at a given time.

Artifact.Transformable

Denotes an artifact type that can transformed.

ArtifactKind

Exhaustive list of artifact file representations supported by the Android Gradle plugin.

ArtifactKind.DIRECTORY
ArtifactKind.FILE
ArtifactTransformationRequest

When a Directory contains more than one artifact (for example, consider SingleArtifact.APK with multiple APKs for different screen densities), this object will abstract away having to deal with BuiltArtifacts and manually load and write the metadata files.

Artifacts

Access to the artifacts on a Variant object.

AsmClassVisitorFactory

A factory to create class visitor objects to instrument classes.

AssetPackBundleExtension
AssetPackBundlePlugin
AssetPackExtension

Extension properties for the Asset Pack plugin.

AssetPackPlugin

B

BaseFlavor

Shared properties between DSL objects ProductFlavor and DefaultConfig

BuildConfigField

Field definition for the generated BuildConfig class.

BuildFeatures

A list of build features that can be disabled or enabled in an Android project.

BuildType

Build types define certain properties that Gradle uses when building and packaging your app, and are typically configured for different stages of your development lifecycle.

BuildTypeAttr

Type for the attribute holding BuildType information.

BuildTypeAttr.Companion
BuiltArtifact

Represents a built artifact that is present in the file system.

BuiltArtifacts

Represents a Collection of BuiltArtifact produced by a org.gradle.api.Task.

BuiltArtifacts.Companion
BuiltArtifacts.TransformParams

Specialized version of Gradle's WorkParameters so we can retrieve the output file generated when transforming an instance of BuiltArtifacts into a new one.

BuiltArtifactsLoader

Facility to load BuiltArtifacts instances from metadata files in the file system.

Bundle

Features that apply to distribution by the bundle

BundleAbi
BundleCodeTransparency
BundleConfig

Information related to the actions creating a bundle (.aab) file for the variant.

BundleDensity
BundleDeviceTier
BundleLanguage
BundleStoreArchive
BundleTexture

C

ClassContext
ClassData

Data about the class to be instrumented.

Cmake

DSL object for per-module CMake configurations, such as the path to your CMakeLists.txt build script and external native build output directory.

CodeTransparency
CombiningOperationRequest
CommonExtension

Common extension properties for the Android Application.

CompileOptions

Java compilation options.

Component
ComponentBuilder

Component object that contains properties that must be set during configuration time as it changes the build flow for the variant.

ComponentIdentity

Variant Configuration represents the identify of a variant

ComposeOptions

Optional settings for the Compose feature.

Context

This interface is deprecated.

D

DataBinding

DSL object for configuring databinding options.

DefaultConfig

Specifies defaults for variant properties that the Android plugin applies to all build variants.

DensitySplit

DSL object for configuring per-density splits options.

DependenciesInfo

Read-only object to access dependencies information properties during com.android.build.api.variant.AndroidComponentsExtension#onVariants

DependenciesInfo

DSL object to specify whether to include SDK dependency information in APKs and Bundles.

DependenciesInfoBuilder
Device

Top-level interface for all devices to run applications by tasks in the Android Gradle Plugin.

DeviceGroup

A group of devices to be run with tests using the Unified Test Platform.

DexPackagingOptions

Defines an APK variant's packaging options for dex files.

DexPackagingOptions

Packaging options for Dex (Android Dalvik Executable) files

DirectoryInput

This interface is deprecated.

DslExtension

Third party DSL extension configuration.

DslExtension.Builder

Creates a Builder to instance to create a DslExtension containing all desired extension points to the Android Gradle Plugin DSL.

DslLifecycle
DynamicDelivery

DSL object to configure dynamic delivery of an asset pack.

DynamicFeatureAndroidComponentsExtension

Extension for the Android Dynamic Feature Gradle Plugin components.

DynamicFeatureBaseFlavor

Shared properties between DSL objects ProductFlavor and DefaultConfig for dynamic features.

DynamicFeatureBuildFeatures

A list of build features that can be disabled or enabled in an Android Dynamic Feature project.

DynamicFeatureBuildType

Build types define certain properties that Gradle uses when building and packaging your app, and are typically configured for different stages of your development lifecycle.

DynamicFeatureDefaultConfig

Specifies defaults for properties that the Android dynamic-feature plugin applies to all build variants.

DynamicFeatureExtension

Extension for the Android Dynamic Feature Gradle Plugin.

DynamicFeatureProductFlavor

Encapsulates all product flavors properties for dynamic feature projects.

DynamicFeatureVariant
DynamicFeatureVariantBuilder
DynamicFeatureVariantDimension

Shared properties between DSL objects that contribute to an dynamic feature variant.

E

EmulatorSnapshots

Options for configuring Android Test Retention.

ExternalNativeBuild

Parameters to use when building native components.

ExternalNativeBuild

DSL object to configure external native builds using CMake or ndk-build

ExternalNativeBuildOptions

DSL object for per-variant CMake and ndk-build configurations, such as toolchain arguments and compiler flags.

ExternalNativeCmakeOptions

DSL object for per-variant CMake options, such as CMake arguments and compiler flags.

ExternalNativeNdkBuildOptions

DSL object for per-variant ndk-build options, such as ndk-build arguments and compiler flags.

ExternalNdkBuild

Interface for ndk-build per-variant info.

F

FailureRetention

This interface is deprecated. Renamed to EmulatorSnapshots

FilterConfiguration

Immutable filter configuration.

FilterConfiguration.FilterType

Split dimension type

Format

This enum is deprecated.

FramesComputationMode

Indicates the frame computation mode that will be applied to the bytecode of the classes instrumented by ASM visitors registered through Component.transformClassesWith.

FusedLibraryExtension
FusedLibraryPlugin

G

GeneratesAar
GeneratesApk

Cross cutting interface for Component subtypes that are producing APK files.

GeneratesTestApk

H

HasAndroidResources
HasAndroidTest

Variants that optionally have instrumented tests.

HasAndroidTestBuilder

Interface that mark the potential existence of android tests associated with a variant.

HasInitWith

For build types and product flavors, they can be initialized from the current state of another.

HasTestFixtures

Variants that optionally have test fixtures.

HasTestFixturesBuilder

Interface that mark the potential existence of test fixtures associated with a variant.

I

InAndOutDirectoryOperationRequest
InAndOutFileOperationRequest

Operations performed by a Task with a single RegularFile or Directory output.

Installation

Options for the adb tool.

Instrumentation

Options to register asm class visitors and to configure the instrumentation process.

InstrumentationContext

Instrumentation context data that will be injected to AsmClassVisitorFactory on instantiation.

InstrumentationParameters

Parameters for a registered AsmClassVisitorFactory.

InstrumentationParameters.None
InstrumentationScope

J

JacocoOptions

This interface is deprecated. Renamed to TestCoverage

JarInput

This interface is deprecated.

JavaCompilation
JavaCompileOptions

DSL object for javaCompileOptions.

JniLibsApkPackaging

Defines an APK variant's packaging options for native library (.so) files.

JniLibsPackaging

Defines a variant's packaging options for native library (.so) files.

JniLibsPackagingOptions

Packaging options for native library (.so) files

K

KeepRules

DSL object for external library dependencies keep rules configurations.

L

LibraryAndroidComponentsExtension

Extension for the Android Library Gradle Plugin components.

LibraryBaseFlavor
LibraryBuildFeatures

A list of build features that can be disabled or enabled in an Android Library project.

LibraryBuildType

Build types define certain properties that Gradle uses when building and packaging your library, and are typically configured for different stages of your development lifecycle.

LibraryDefaultConfig

Specifies defaults for properties that the Android library plugin applies to all build variants.

LibraryExtension

Extension for the Android Library Gradle Plugin.

LibraryProductFlavor

Encapsulates all product flavors properties for library projects.

LibraryPublishing

Maven publishing DSL object for configuring options related to publishing AAR.

LibrarySingleVariant

Single variant publishing options for library projects.

LibraryVariant

Variant for Library projects

LibraryVariantBuilder

VariantBuilder type for library projects

LibraryVariantDimension

Shared properties between DSL objects that contribute to a library variant.

Lint

DSL object for configuring lint options.

LintLifecycleExtension
LintOptions

This interface is deprecated. Renamed to Lint

M

ManagedDevices

Options for Managed Devices

ManagedVirtualDevice

Device type for emulators to be managed by the Android Gradle Plugin.

MultipleArtifact

Public Artifact for Android Gradle plugin.

MultipleArtifact.ALL_CLASSES_DIRS

Classes that will eventually be dex'ed for this module, that were generated, or processed as directories.

MultipleArtifact.ALL_CLASSES_JARS

Classes that will eventually be dex'ed for this module, that were generated, or processed as jar files.

MultipleArtifact.MULTIDEX_KEEP_PROGUARD

Text files with additional ProGuard rules to be used to determine which classes are compiled into the main dex file.

MultipleVariants

Multi variant publishing options.

N

Ndk

DSL object for per-variant NDK settings, such as the ABI filter.

NdkBuild

DSL object for per-module ndk-build configurations, such as the path to your Android.mk build script and external native build output directory.

O

Optimization

DSL object for configurations aimed for optimizing build process(e.g. speed, correctness).

OutOperationRequest

Operations performed by a Task with a single RegularFile or Directory output.

P

Packaging

Defines a variant's packaging options.

PackagingOptions
PostProcessing

DSL object for configuring postProcessing: removing dead code, obfuscating etc.

PrefabPackagingOptions

Options for including Prefab packages in AARs.

ProductFlavor

Encapsulates all product flavors properties for this project.

ProductFlavorAttr

Type for the attribute holding ProductFlavor information.

ProductFlavorAttr.Companion
Publishing

Maven publishing DSL object for configuring options related to publishing Android variants to a Maven repository.

PublishingOptions

Maven publishing options shared by SingleVariant and MultipleVariants.

Q

QualifiedContent

This interface is deprecated.

QualifiedContent.ContentType

A content type that is requested through the transform API.

QualifiedContent.DefaultContentType

The type of of the content.

QualifiedContent.Scope

The scope of the content.

QualifiedContent.ScopeType

Definition of a scope.

R

Renderscript
ResValue

Resource to be generated by the build system.

ResValue.Key

a generated resource is identified by its type+name as you can create

ResourcesPackaging
ResourcesPackagingOptions

Packaging options for java resource files

S

SdkComponents
SecondaryFile

This class is deprecated.

SecondaryInput

This interface is deprecated.

Shaders

Options for configuring scoped shader options.

SigningConfig

Defines a variant's signing config.

SigningConfig

DSL object for configuring options related to signing for APKs and bundles.

SingleArtifact

Public Artifact for Android Gradle plugin.

SingleArtifact.AAR

The final AAR file as it would be published.

SingleArtifact.APK

Directory where APK files will be located.

SingleArtifact.ASSETS

Assets that will be packaged in the resulting APK or Bundle.

SingleArtifact.BUNDLE

The final Bundle ready for consumption at Play Store.

SingleArtifact.MERGED_MANIFEST

Merged manifest file that will be used in the APK, Bundle and InstantApp packages.

SingleArtifact.METADATA_LIBRARY_DEPENDENCIES_REPORT

The metadata for the library dependencies.

SingleArtifact.OBFUSCATION_MAPPING_FILE
SingleArtifact.PUBLIC_ANDROID_RESOURCES_LIST

A file containing the list of public resources exported by a library project.

SingleVariant

Single variant publishing options.

SourceDirectories

Defines all common behaviors to sources access in AGP.

SourceDirectories.Flat

Represents all the source folders for a source type in the variant.

SourceDirectories.Layered

Represent a collection of directories that have overlay properties to each other.

Sources

Provides access to all source directories for a Variant.

Split

Base data representing how an FULL_APK should be split for a given dimension (density, abi).

Splits

Options to configure Multiple APKs.

Status

This enum is deprecated.

T

TaskBasedOperation

Interface with methods to wire input and output method references to Task-based operations.

TestAndroidComponentsExtension

Extension for the Android Test Gradle Plugin components.

TestBaseFlavor
TestBuildFeatures

A list of build features that can be disabled or enabled in an Android Test project.

TestBuildType

Build types define certain properties that Gradle uses when building and packaging your library, and are typically configured for different stages of your development lifecycle.

TestComponent
TestCoverage

Settings related to the gathering of code-coverage data from tests

TestDefaultConfig

Specifies defaults for properties that the Android test plugin applies to all build variants.

TestExtension

Extension for the Android Test Gradle Plugin.

TestFixtures
TestFixtures

DSL object for configuring test fixtures.

TestOptions

Options for running tests.

TestProductFlavor

Encapsulates all product flavors properties for test projects.

TestVariant

Variant for test-only modules.

TestVariantBuilder

VariantBuilder type for tests associated with a module.

TestVariantDimension

Shared properties between DSL objects that contribute to a separate-test-project variant.

TestedExtension

Common extension properties for the Android Application.

Transform

This class is deprecated.

This API is planned to be removed in Android Gradle Plugin 8.0.

TransformException

This class is deprecated.

TransformInput

This interface is deprecated.

TransformInvocation

This interface is deprecated.

TransformOutputProvider

This interface is deprecated.

U

UnitTest
UnitTest

This interface is deprecated. Use the com.android.build.api.variant package

UnitTestOptions

Options for controlling unit tests execution.

V

Variant

Parent interface for all types of variants.

VariantBuilder

Variant object that contains properties that must be set during configuration time as it changes the build flow for the variant.

VariantDimension

Shared properties between DSL objects that contribute to a variant.

VariantExtension

Marker type for Variant extension objects.

VariantExtensionConfig

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.

VariantFilter

This interface is deprecated. Use AndroidComponentsExtension.beforeVariants API to disable specific variants

VariantInfo

This interface is deprecated.

VariantOutput

Defines a variant output.

VariantOutputConfiguration
VariantOutputConfiguration.OutputType

Type of package file, either the main APK or a full split APK file containing resources for a particular split dimension.

VariantSelector

Selector to reduce the number of variants that are of interests when calling any of the variant API like AndroidComponentsExtension.beforeVariants.

VectorDrawables

DSL object used to configure vector drawable options.

ViewBinding

DSL object for configuring viewbinding options.