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

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

AarMetadata

Build-time properties for AAR Metadata inside a Component

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.

Aidl

Provides structured access to various AIDL tools such as the aidl compiler executable and aidl framework.

AndroidBasePlugin

Common plugin applied by all plugins.

AndroidComponents
AndroidComponentsExtension

Generic extension for Android Gradle Plugin related components.

AndroidPluginVersion

Represents a version of the Android Gradle Plugin

AndroidResources

DSL object for configuring Android resource options.

AndroidResources

Build-time properties for Android Resources inside a Component.

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

DSL object on library build type for configurations of the android test component.

AndroidTest

Model for Android Test components that contains build-time properties

AndroidTestBuilder
AndroidVersion

A version of the Android platform.

AnnotationProcessor

Build-time properties for Java annotation processors inside a Component

AnnotationProcessorOptions

Options for configuring Java annotation processor.

ApkExtension

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

ApkPackaging

Build-time properties for APK packaging inside a Component.

ApkSigningConfig

DSL object to configure signing configs.

AppPlugin

The plugin applied with com.android.application

ApplicationAndroidComponentsExtension

Extension for the Android Application Gradle Plugin components.

ApplicationAndroidResources

DSL object for configuring Android resource options for Application plugins.

ApplicationBaseFlavor

Shared properties between ApplicationProductFlavor and ApplicationDefaultConfig

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.

ApplicationInstallation
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

Model for application components that only contains build-time properties.

ApplicationVariantBuilder

Model for application components that only contains configuration-time properties that impacts the 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.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

A type of artifact file that is a Directory

ArtifactKind.FILE

A Type of artifact that is a RegularFile

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

BasePlugin

Base class for the plugin.

BaselineProfile

DSL object in Optimization for configuring properties related to Baseline Profiles.

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.

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.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.

BundleCountrySet
BundleDensity
BundleDeviceTier
BundleLanguage
BundleStoreArchive
BundleTexture

C

CanMinifyAndroidResources

Build-time properties for Component that can minify Android resources.

CanMinifyAndroidResourcesBuilder

Interface for component builder that can shrink resources

CanMinifyCode

Build-time properties for Component that can minify code.

CanMinifyCodeBuilder

Interface for component builder that can minify code

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.

CmakeFlags

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

CodeTransparency
CombiningOperationRequest
CommonExtension

Common extension properties for the Android Application.

CompileOptions

Java compilation options.

Component

Model for components that only contains build-time properties

ComponentBuilder

Model for components that only contains configuration-time properties that impacts the build flow.

ComponentIdentity

Variant Configuration represents the identify of a variant

ComposeOptions

Optional settings for the Compose feature.

ConfigurableFiles

A container for a collection of files that has the capability to add a single existing file or a group of existing files to the collection

ConsumerKeepRules
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

This interface is deprecated. Density-based apk split feature is deprecated and will be removed in AGP 9.0.Use Android App Bundle (https://developer.android.com/guide/app-bundle)to generate optimized APKs.

DependenciesInfo

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

DependenciesInfo

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

DependenciesInfoBuilder

Interface for component builder that specifies whether to include SDK dependency information in APKs and Bundles for the variant

DependencyVariantSelection

Specifies options for doing variant selection for external Android dependencies based on build types and product flavours

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.

DexPackaging

Packaging options for Dex (Android Dalvik Executable) files in the Android DSL

DexPackagingOptions

Build-time properties for packaging dex files inside an APK Component.

Dexing

Settings related to how dex files are produced.

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.

DynamicFeatureAndroidResources

DSL object for configuring Android resource options for Dynamic Feature plugins.

DynamicFeatureBaseFlavor

Shared properties between DSL objects DynamicFeatureProductFlavor and DynamicFeatureDefaultConfig

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.

DynamicFeatureInstallation

DSL object for configuring installation options for Dynamic Feature plugins.

DynamicFeaturePlugin

The plugin applied with com.android.dynamic-feature

DynamicFeatureProductFlavor

Encapsulates all product flavors properties for dynamic feature projects.

DynamicFeatureVariant

Model for dynamic feature components that only contains build-time properties.

DynamicFeatureVariantBuilder

Model for dynamic feature components that only contains configuration-time properties that impacts the build flow.

DynamicFeatureVariantDimension

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

E

EmulatorControl

Options for configuring Android Emulator Access

EmulatorSnapshots

Options for configuring Android Test Retention.

Execution
ExecutionProfile
ExternalNativeBuild

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

ExternalNativeBuild

Parameters to use when building native components.

ExternalNativeBuildFlags

DSL object for per-variant CMake and ndk-build configurations, such as toolchain 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

Build-time properties for Component that generate AARs.

GeneratesApk

Build-time properties for Component that produce APKs.

GeneratesApkBuilder

Configuration-time properties ComponentBuilder that produce APKs.

GeneratesTestApk

Build-time properties for Component that produce test APKs.

H

HasAndroidResources

Build-time properties for Component that have Android resources.

HasAndroidTest

Variant that optionally have AndroidTest component.

HasAndroidTestBuilder

Interface that marks the potential existence of AndroidTest component on a Variant.

HasConfigurableValue
HasInitWith

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

HasTestFixtures

Variant that optionally have TestFixtures component.

HasTestFixturesBuilder

Interface that marks the potential existence of TestFixtures component on a Variant.

HasUnitTest

Variant that optionally have UnitTest component.

HasUnitTestBuilder

Interface that marks the potential existence of UnitTest component on a Variant.

I

InAndOutDirectoryOperationRequest
InAndOutFileOperationRequest

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

Installation

Local 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

Build-time properties for Java compile inside a Component

JavaCompileOptions

DSL object for javaCompileOptions.

JniLibsApkPackaging

Build-time properties for packaging native libraries (.so) inside an APK Component.

JniLibsPackaging

Packaging options for native library (.so) files in the Android DSL

JniLibsPackaging

Build-time properties for packaging native libraries (.so) inside a Component.

K

KeepRules

DSL object for external library dependencies keep rules configurations.

KmpOptimization

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

KotlinMultiplatformAndroidCompilation
KotlinMultiplatformAndroidCompilationBuilder

Options to build a KotlinMultiplatformAndroidCompilation object.

KotlinMultiplatformAndroidComponentsExtension

Components extension for KMP Android Gradle Plugin related components.

KotlinMultiplatformAndroidExtension

Extension properties for Kotlin multiplatform Android libraries.

KotlinMultiplatformAndroidPlugin

The plugin applied with 'com.android.kotlin.multiplatform.library'

KotlinMultiplatformAndroidTarget
KotlinMultiplatformAndroidTestOnDevice
KotlinMultiplatformAndroidTestOnDeviceCompilation
KotlinMultiplatformAndroidTestOnJvm
KotlinMultiplatformAndroidTestOnJvmCompilation
KotlinMultiplatformAndroidVariant

Properties for the main Variant of a kotlin multiplatform android library

L

LibraryAndroidComponentsExtension

Extension for the Android Library Gradle Plugin components.

LibraryAndroidResources

DSL object for configuring Android resource options for Library plugins.

LibraryBaseFlavor

Shared properties between LibraryProductFlavor and LibraryDefaultConfig

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.

LibraryInstallation

DSL object for configuring installation options for Library plugins.

LibraryKeepRules
LibraryPlugin

The plugin applied with com.android.library

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

Model for library components that only contains build-time properties.

LibraryVariantBuilder

Model for library components that only contains configuration-time properties that impacts the build flow.

LibraryVariantDimension

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

LifecycleTasks

Lifecycle tasks created by the AGP plugins.

Lint

DSL object for configuring lint options.

LintLifecycleExtension
LintOptions

This interface is deprecated. Renamed to Lint

LintPlugin

Plugin for running lint without the Android Gradle plugin, such as in a pure Kotlin project.

M

ManagedDevices

Options for Managed Devices

ManagedVirtualDevice

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

ManifestFiles

Defines a set of manifests for particular variant.

MultiDexConfig
MultipleArtifact

Public Artifact for Android Gradle plugin.

MultipleArtifact.MULTIDEX_KEEP_PROGUARD

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

MultipleArtifact.NATIVE_DEBUG_METADATA

Directories with native debug metadata

MultipleArtifact.NATIVE_SYMBOL_TABLES

Directories with debug symbol table

MultipleArtifactTypeOutOperationRequest

Read-only Operations performed by a Task with a multiple RegularFile or Directory output.

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.

NdkBuildFlags

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

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

Packaging option entry point for the Android DSL.

Packaging

Build-time properties for common packaging inside a Component.

PostProcessing

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

Prefab

Options for including Prefab packages in AARs.

PrivacySandbox

Privacy Sandbox library consumption options

PrivacySandboxSdkBundle
PrivacySandboxSdkExtension
PrivacySandboxSdkPlugin
ProductFlavor

Encapsulates all product flavors properties for this project.

ProductFlavorAttr

Type for the attribute holding ProductFlavor information.

PropertyAccessNotAllowedException

Exception thrown when users are trying to access VariantBuilder properties.

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

Build-time properties for renderscript inside a Component.

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

Packaging options for java resource files in the Android DSL

ResourcesPackaging

Build-time properties for packaging Java resources inside a Component.

S

ScopedArtifact

List of ScopedArtifacts.Scope artifacts.

ScopedArtifact.CLASSES

.class files, result of sources compilation and/or external dependencies depending on the scope; includes users' transformation, but does not include Jacoco instrumentation

ScopedArtifact.JAVA_RES
ScopedArtifacts

Scoped artifacts are artifacts that can be made available in the current variant scope, or may be optionally include the project's dependencies in the results.

ScopedArtifacts.Scope

Defines possible scopes.

ScopedArtifactsOperation

Defines all possible operations on a ScopedArtifact artifact type.

SdkComponents
SecondaryFile

This class is deprecated.

SecondaryInput

This interface is deprecated.

SettingsExtension

Interface used for the android DSL in the settings.gradle[.kts] file, after the com.android.settings plugin is applied.

SettingsPlugin

The plugin applied with `com.android.settings'

Shaders

Options for configuring scoped shader options.

SigningConfig

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

SigningConfig

Defines a variant's signing config.

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.APK_FROM_BUNDLE

Universal APK that contains assets for all screen densities.

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.MERGED_NATIVE_LIBS

The directory containing all the native library (.so) files that will be packaged in the APK, AAR, or Bundle.

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.

SingleArtifact.RUNTIME_SYMBOL_LIST

The text symbol output file (R.txt) containing a list of resources and their ids (including of transitive dependencies).

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.

TestAndroidResources

DSL object for configuring Android resource options for Test plugins.

TestBaseFlavor

Shared properties between TestProductFlavor and TestDefaultConfig

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

Model for test components that contains build-time properties.

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

DSL object for configuring test fixtures.

TestFixtures

Model for Test Fixtures components that contains build-time properties

TestInstallation

DSL object for configuring installation options for Test plugins.

TestOptions

Options for running tests.

TestPlugin

The plugin applied with com.android.test

TestProductFlavor

Encapsulates all product flavors properties for test projects.

TestVariant

Model for test components that only contains build-time properties.

TestVariantBuilder

Model for test components that only contains configuration-time properties that impacts the build flow.

TestVariantDimension

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

TestedExtension

Common extension properties for the Android Application.

ToolOptions
Transform

This class is deprecated.

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

TransformException

This class is deprecated.

TransformInput

This interface is deprecated.

TransformInvocation

This interface is deprecated.

TransformOutputProvider

This interface is deprecated.

U

UnitTest

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

UnitTest

Model for Unit Test components that contains build-time properties

UnitTestOptions

Options for controlling unit tests execution.

V

Variant

Model for variant components that only contains build-time properties

VariantBuilder

Model for variant components that only contains configuration-time properties that impacts the build flow.

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.

VcsInfo

DSL object for configuring Version Control information

VectorDrawables

DSL object used to configure vector drawable options.

ViewBinding

DSL object for configuring viewbinding options.