Gradle Recipes
Ready-to-use recipes for common build customizations that showcase the Android Gradle plugin's public APIs and DSL.
Install / Use
npx skills add android/gradle-recipesInstalls into whichever agent you are using.
README
Recipes for AGP version 9.0
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.
Recipes Index
Index is organized in categories, offering different ways to reach the recipe you want.
Themes
- Android Assets - legacyTaskBridging, addGeneratedSourceFolder
- Android Manifest - Transform Manifest (Meta-data), createSingleArtifact, perVariantManifestPlaceholder
- Artifact API - workerEnabledTransformation, listenToMultipleArtifact, getMultipleArtifact, Transform Manifest (Meta-data), appendToScopedArtifacts, listenToArtifacts, transformMultiple, createSingleArtifact, appendToMultipleArtifact, transformDirectory, getScopedArtifacts, transformAllClasses, addMultipleArtifact, getSingleArtifact
- DSL - addBuildTypeUsingDslFinalize, extendingAgp
- Dependency Resolution - variantDependencySubstitutionTest
- Sources - legacyTaskBridging, addGeneratedSourceFolder, addCustomSourceType
Plugin Features
- Fused Library Plugin - applyFusedLibraryPlugin
- Kotlin Multiplatform - kotlinMultiplatformLibrary
- TestFixtures - testFixtures
APIs
- AndroidComponentsExtension.beforeVariants() - disableTests, selectVariants
- AndroidComponentsExtension.onVariants() - addCustomBuildConfigFields, workerEnabledTransformation, registerPreBuild, legacyTaskBridging, onVariants, asmTransformClasses, listenToMultipleArtifact, getMultipleArtifact, Transform Manifest (Meta-data), appendToScopedArtifacts, listenToArtifacts, disableTests, transformMultiple, variantOutput, createSingleArtifact, appendToMultipleArtifact, extendingAgp, addGeneratedSourceFolder, allProjectsApkAction, perVariantManifestPlaceholder, transformDirectory, getScopedArtifacts, transformAllClasses, addCustomSourceType, addMultipleArtifact, getSingleArtifact, variantDependencySubstitutionTest
- AndroidComponentsExtension.registerExtension() - extendingAgp
- AndroidComponentsExtension.selector() - variantOutput, allProjectsApkAction, selectVariants
- ApplicationVariant.applicationId - onVariants
- ApplicationVariant.outputs - variantOutput
- Artifact.ContainsMany - listenToArtifacts
- ArtifactTransformationRequest - workerEnabledTransformation
- Artifacts.add() - transformMultiple, addMultipleArtifact
- Artifacts.forScope() - appendToScopedArtifacts, getScopedArtifacts, transformAllClasses
- Artifacts.get() - legacyTaskBridging, Transform Manifest (Meta-data), transformMultiple, variantOutput, appendToMultipleArtifact, addGeneratedSourceFolder, allProjectsApkAction, perVariantManifestPlaceholder, transformDirectory, addMultipleArtifact, getSingleArtifact
- Artifacts.getAll() - getMultipleArtifact
- Artifacts.use() - workerEnabledTransformation, listenToMultipleArtifact, Transform Manifest (Meta-data), listenToArtifacts, transformMultiple, createSingleArtifact, appendToMultipleArtifact, transformDirectory
- 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 - legacyTaskBridging, getMultipleArtifact, Transform Manifest (Meta-data), appendToScopedArtifacts, transformMultiple, variantOutput, createSingleArtifact, appendToMultipleArtifact, addGeneratedSourceFolder, transformDirectory, getScopedArtifacts, addMultipleArtifact
- 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 - listenToMultipleArtifact, transformMultiple, appendToMultipleArtifact, addMultipleArtifact
- MultipleArtifactTypeOutOperationRequest.toListenTo() - listenToMultipleArtifact
- OutOperationRequest.toAppendTo() - appendToMultipleArtifact
- OutOperationRequest.toCreate() - createSingleArtifact
- OutOperationRequest.toListenTo() - listenToArtifacts
- Plugin<Settings> - 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
- ScopedArtifactsO
Related Skills
node-connect
385.6kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
