This branch contains recipes compatible with AGP 9.0. If you want to find recipes
for other AGP versions, switch to the corresponding agp-* branch.
This branch is read only. Contributions are only accepted on the studio-main branch. See CONTRIBUTION.md
there.
Index is organized in categories, offering different ways to reach the recipe you want.
- Android Assets - legacyTaskBridging, addGeneratedSourceFolder
- Android Manifest - Transform Manifest (Meta-data), createSingleArtifact, perVariantManifestPlaceholder
- Artifact API - addMultipleArtifact, Transform Manifest (Meta-data), transformMultiple, createSingleArtifact, getSingleArtifact, transformDirectory, workerEnabledTransformation, listenToArtifacts, appendToScopedArtifacts, appendToMultipleArtifact, getScopedArtifacts, transformAllClasses, getMultipleArtifact, listenToMultipleArtifact
- DSL - addBuildTypeUsingDslFinalize, extendingAgp
- Dependency Resolution - variantDependencySubstitutionTest
- Sources - legacyTaskBridging, addGeneratedSourceFolder, addCustomSourceType
- Fused Library Plugin - applyFusedLibraryPlugin
- Kotlin Multiplatform - kotlinMultiplatformLibrary
- TestFixtures - testFixtures
- AndroidComponentsExtension.beforeVariants() - selectVariants, disableTests
- AndroidComponentsExtension.onVariants() - variantOutput, variantDependencySubstitutionTest, legacyTaskBridging, asmTransformClasses, addMultipleArtifact, addGeneratedSourceFolder, Transform Manifest (Meta-data), addCustomSourceType, addCustomBuildConfigFields, onVariants, transformMultiple, createSingleArtifact, perVariantManifestPlaceholder, getSingleArtifact, transformDirectory, registerPreBuild, workerEnabledTransformation, listenToArtifacts, appendToScopedArtifacts, appendToMultipleArtifact, getScopedArtifacts, transformAllClasses, getMultipleArtifact, extendingAgp, disableTests, listenToMultipleArtifact, allProjectsApkAction
- AndroidComponentsExtension.registerExtension() - extendingAgp
- AndroidComponentsExtension.selector() - variantOutput, selectVariants, allProjectsApkAction
- ApplicationVariant.applicationId - onVariants
- ApplicationVariant.outputs - variantOutput
- Artifact.ContainsMany - listenToArtifacts
- ArtifactTransformationRequest - workerEnabledTransformation
- Artifacts.add() - addMultipleArtifact, transformMultiple
- Artifacts.forScope() - appendToScopedArtifacts, getScopedArtifacts, transformAllClasses
- Artifacts.get() - variantOutput, legacyTaskBridging, addMultipleArtifact, addGeneratedSourceFolder, Transform Manifest (Meta-data), transformMultiple, perVariantManifestPlaceholder, getSingleArtifact, transformDirectory, appendToMultipleArtifact, allProjectsApkAction
- Artifacts.getAll() - getMultipleArtifact
- Artifacts.use() - Transform Manifest (Meta-data), transformMultiple, createSingleArtifact, transformDirectory, workerEnabledTransformation, listenToArtifacts, appendToMultipleArtifact, listenToMultipleArtifact
- BuildConfigField() - addCustomBuildConfigFields
- BuiltArtifact - workerEnabledTransformation
- BuiltArtifact.versionCode - listenToArtifacts
- BuiltArtifact.versionName - listenToArtifacts
- BuiltArtifacts.elements - listenToArtifacts
- BuiltArtifacts.variantName - listenToArtifacts
- BuiltArtifactsLoader.load() - listenToArtifacts
- CanMinifyAndroidResourcesBuilder.shrinkResources - selectVariants
- CanMinifyCodeBuilder.isMinifyEnabled - selectVariants
- CombiningOperationRequest.toTransform() - transformMultiple
- Component.artifacts - variantOutput, legacyTaskBridging, addMultipleArtifact, addGeneratedSourceFolder, Transform Manifest (Meta-data), transformMultiple, createSingleArtifact, transformDirectory, appendToScopedArtifacts, appendToMultipleArtifact, getScopedArtifacts, getMultipleArtifact
- Component.compileConfiguration - variantDependencySubstitutionTest
- Component.runtimeConfiguration - variantDependencySubstitutionTest
- Component.sources - legacyTaskBridging, addGeneratedSourceFolder, addCustomSourceType
- Configuration.resolutionStrategy - variantDependencySubstitutionTest
- DslExtension.Builder.build() - extendingAgp
- DslExtension.Builder.extendBuildTypeWith() - extendingAgp
- DslExtension.Builder.extendProductFlavorWith() - extendingAgp
- DslExtension.Builder.extendProjectWith() - extendingAgp
- DslLifecycle.finalizeDsl() - addBuildTypeUsingDslFinalize
- GeneratesApk.applicationId - onVariants
- Gradle.beforeProject() - allProjectsApkAction
- HasDeviceTests.deviceTests - disableTests
- HasDeviceTestsBuilder.deviceTests - disableTests
- HasHostTests.hostTests - disableTests
- HasHostTestsBuilder.hostTests - disableTests
- HasUnitTestBuilder.enableUnitTest - selectVariants
- InAndOutDirectoryOperationRequest.toTransform() - transformDirectory
- InAndOutDirectoryOperationRequest.toTransformMany() - workerEnabledTransformation
- InAndOutFileOperationRequest.toTransform() - Transform Manifest (Meta-data)
- Instrumentation.transformClassesWith() - asmTransformClasses
- LifeCycleTasks.registerPreBuild() - registerPreBuild
- MapProperty.put() - addCustomBuildConfigFields, perVariantManifestPlaceholder
- MultipleArtifact.MULTIDEX_KEEP_PROGUARD - getMultipleArtifact
- MultipleArtifact.NATIVE_DEBUG_METADATA - addMultipleArtifact, transformMultiple, appendToMultipleArtifact, listenToMultipleArtifact
- MultipleArtifactTypeOutOperationRequest.toListenTo() - listenToMultipleArtifact
- OutOperationRequest.toAppendTo() - appendToMultipleArtifact
- OutOperationRequest.toCreate() - createSingleArtifact
- OutOperationRequest.toListenTo() - listenToArtifacts
- Plugin - allProjectsApkAction
- ResolutionStrategy.dependencySubstitution() - variantDependencySubstitutionTest
- ScopedArtifact.CLASSES - asmTransformClasses, appendToScopedArtifacts, getScopedArtifacts, transformAllClasses
- ScopedArtifacts.Scope.ALL - appendToScopedArtifacts, getScopedArtifacts
- ScopedArtifacts.Scope.PROJECT - asmTransformClasses, appendToScopedArtifacts, getScopedArtifacts, transformAllClasses
- ScopedArtifacts.use() - asmTransformClasses, appendToScopedArtifacts, getScopedArtifacts, transformAllClasses
- ScopedArtifactsOperation.toAppend() - appendToScopedArtifacts
- ScopedArtifactsOperation.toGet() - asmTransformClasses, appendToScopedArtifacts, getScopedArtifacts
- ScopedArtifactsOperation.toTransform() - transformAllClasses
- SingleArtifact.APK - workerEnabledTransformation, listenToArtifacts, allProjectsApkAction
- SingleArtifact.ASSETS - legacyTaskBridging, addGeneratedSourceFolder, transformDirectory
- SingleArtifact.BUNDLE - addMultipleArtifact, getSingleArtifact, appendToMultipleArtifact
- SingleArtifact.MERGED_MANIFEST - variantOutput, Transform Manifest (Meta-data), createSingleArtifact, perVariantManifestPlaceholder
- SourceDirectories.addGeneratedSourceDirectory() - legacyTaskBridging, addGeneratedSourceFolder, addCustomSourceType
- SourceDirectories.addStaticSourceDirectory() - addCustomSourceType
- TaskBasedOperation.wiredWith() - transformMultiple, createSingleArtifact, listenToArtifacts
- TaskBasedOperation.wiredWithDirectories() - transformDirectory, workerEnabledTransformation
- TaskBasedOperation.wiredWithFiles() - Transform Manifest (Meta-data)
- TaskBasedOperation.wiredWithMultiple() - listenToMultipleArtifact
- TaskOutputs.upToDateWhen() - Transform Manifest (Meta-data)
- TaskProvider.flatMap() - createSingleArtifact
- TaskProvider.map() - addCustomBuildConfigFields
- Variant.buildConfigFields - addCustomBuildConfigFields
- Variant.components - variantDependencySubstitutionTest
- Variant.manifestPlaceholders - perVariantManifestPlaceholder
- Variant.nestedComponents - variantDependencySubstitutionTest
- VariantBuilder.minSdk - selectVariants
- VariantExtensionConfig - extendingAgp
- VariantOutput.versionCode - variantOutput
- VariantOutput.versionName - variantOutput
- VariantOutputConfiguration.OutputType.SINGLE - variantOutput
- VariantOutputConfiguration.outputType - variantOutput
- VariantSelector.all() - variantOutput, selectVariants
- VariantSelector.withBuildType() - variantDependencySubstitutionTest, selectVariants, allProjectsApkAction
- VariantSelector.withFlavor() - variantOutput, selectVariants
- VariantSelector.withName() - selectVariants
- task.getOutputs() - Transform Manifest (Meta-data)
- DslExtension.Builder().extendProjectWith().extendBuildTypeWith().extendProductFlavorWith().build() - extendingAgp
- HasDeviceTests.deviceTests.get() - disableTests
- HasDeviceTestsBuilder.deviceTests.get().enable - disableTests
- HasHostTests.hostTests.get() - disableTests
- HasHostTestsBuilder.hostTests.get().enable - disableTests
- androidComponents.beforeVariants {} - selectVariants, disableTests
- androidComponents.finalizeDsl {} - addBuildTypeUsingDslFinalize
- androidComponents.onVariants {} - variantOutput, variantDependencySubstitutionTest, legacyTaskBridging, asmTransformClasses, addMultipleArtifact, addGeneratedSourceFolder, Transform Manifest (Meta-data), addCustomSourceType, addCustomBuildConfigFields, onVariants, transformMultiple, createSingleArtifact, perVariantManifestPlaceholder, getSingleArtifact, transformDirectory, registerPreBuild, workerEnabledTransformation, listenToArtifacts, appendToScopedArtifacts, appendToMultipleArtifact, getScopedArtifacts, transformAllClasses, getMultipleArtifact, extendingAgp, disableTests, listenToMultipleArtifact, allProjectsApkAction
- androidComponents.registerExtension() - extendingAgp
- androidComponents.selector().all() - variantOutput, selectVariants
- androidComponents.selector().withBuildType() - variantDependencySubstitutionTest, selectVariants, allProjectsApkAction
- androidComponents.selector().withFlavor() - variantOutput, selectVariants
- androidComponents.selector().withName() - selectVariants
- configuration.resolutionStrategy.dependencySubstitution {} - variantDependencySubstitutionTest
- settings.gradle.beforeProject {} - allProjectsApkAction
- substitute().using() - variantDependencySubstitutionTest
- task.outputs.upToDateWhen {} - Transform Manifest (Meta-data)
- transformationRequest.submit() - workerEnabledTransformation
- variant.applicationId - onVariants
- variant.artifacts.add() - addMultipleArtifact, transformMultiple
- variant.artifacts.forScope().use().toAppend() - appendToScopedArtifacts
- variant.artifacts.forScope().use().toGet() - asmTransformClasses, getScopedArtifacts
- variant.artifacts.forScope().use().toTransform() - transformAllClasses
- variant.artifacts.get() - variantOutput, legacyTaskBridging, asmTransformClasses, addMultipleArtifact, addGeneratedSourceFolder, Transform Manifest (Meta-data), transformMultiple, perVariantManifestPlaceholder, getSingleArtifact, transformDirectory, appendToMultipleArtifact, allProjectsApkAction
- variant.artifacts.getAll() - getMultipleArtifact
- variant.artifacts.use().wiredWith().toAppendTo() - appendToMultipleArtifact
- variant.artifacts.use().wiredWith().toCreate() - createSingleArtifact
- variant.artifacts.use().wiredWith().toListenTo() - listenToArtifacts, listenToMultipleArtifact
- variant.artifacts.use().wiredWith().toTransform() - transformMultiple
- variant.artifacts.use().wiredWithDirectories().toTransform() - transformDirectory
- variant.artifacts.use().wiredWithDirectories().toTransformMany() - workerEnabledTransformation
- variant.artifacts.use().wiredWithFiles().toTransform() - Transform Manifest (Meta-data)
- variant.buildConfigFields.put() - addCustomBuildConfigFields
- variant.instrumentation.transformClassesWith() - asmTransformClasses
- variant.manifestPlaceholders.put() - perVariantManifestPlaceholder
- variant.registerPreBuild() - registerPreBuild
- variant.sources.*.addGeneratedSourceDirectory() - legacyTaskBridging, addGeneratedSourceFolder, addCustomSourceType
- variant.sources.*.addStaticSourceDirectory() - addCustomSourceType
- variant.sources.*.all - addGeneratedSourceFolder, addCustomSourceType
- Manifest Transformation - Transform Manifest (Meta-data)
- All projects - allProjectsApkAction
- DeviceTestBuilder.ANDROID_TEST_TYPE - disableTests
- Extending AGP DSL - extendingAgp
- HostTestBuilder.UNIT_TEST_TYPE - disableTests
- Legacy API bridging - legacyTaskBridging
- Placeholders - perVariantManifestPlaceholder
- Renaming APKs - listenToArtifacts
- SourceDirectories.Flat - addCustomSourceType
- SourceDirectories.Layered - addGeneratedSourceFolder
- SourceDirectories.add - addCustomSourceType
- registerSourceType - addCustomSourceType
Copyright 2022 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.