android-gradle-logic

Centralize Android Gradle build logic with convention plugins and version catalogs.

Updated Mar 9, 2025
One-click install
npx skills add https://github.com/rock-hu/vitamin-compose --skill android-gradle-logic-rock-hu
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-gradle-logic
Source: https://github.com/rock-hu/vitamin-compose/tree/main/.github/skills/android-gradle-logic
Command: npx skills add https://github.com/rock-hu/vitamin-compose --skill android-gradle-logic-rock-hu

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

In large Android projects, build configuration often diverges across modules, leading to duplication and drift that slows development and causes inconsistencies. This Skill provides a structured approach to centralize Gradle build logic using Convention Plugins and Version Catalogs, enabling scalable and maintainable builds.

Core Features & Use Cases

  • Centralized Gradle build configuration via Convention Plugins that apply common settings across modules.
  • Version Catalogs to manage dependencies and versions consistently across the entire project.
  • Clear, repeatable steps to set up a composite build (settings.gradle.kts includeBuild) and integrate with module build scripts.
  • Use Case: A multi-module Android app benefits from a single source of truth for Kotlin options, compileOptions, and plugin configurations.

Quick Start

Create a build-logic module at build-logic, define a Kotlin-based AndroidApplicationConventionPlugin, configure libs.versions.toml for versions, and add includeBuild in settings.gradle.kts. Then apply the plugin in app/build.gradle.kts to standardize the Android configuration.

Frequently Asked Questions about android-gradle-logic

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I centralize Gradle build logic in a multi-module Android project?

You can centralize Gradle build logic by consolidating configuration into reusable convention plugins and a version catalog. This approach applies standard tooling, Kotlin options, and dependency versions across all modules to ensure consistency.

How does a convention plugin manage Android dependencies consistently?

A convention plugin manages Android dependencies by referencing a centralized version catalog, specifically a libs.versions.toml file. This creates a single source of truth for dependency versions, preventing drift across multiple modules.

What do I need to set up a Gradle composite build for Android?

To set up a Gradle composite build, you need to create a Kotlin-based convention plugin, define a libs.versions.toml file for versions, and configure your settings.gradle.kts with includeBuild("build-logic").

When should I use version catalogs and convention plugins for Android builds?

You should use version catalogs and convention plugins when your multi-module Android project experiences build configuration divergence. This approach eliminates duplication and drift by providing a single source of truth for tooling and Kotlin options.

How do I apply an AndroidApplicationConventionPlugin to my app module?

To apply an AndroidApplicationConventionPlugin, first define it within your build-logic module, then apply the plugin in your app/build.gradle.kts file. This standardizes the Android configuration across your application.

What is the best way to prevent build configuration drift in large Android projects?

The best way to prevent build configuration drift is using convention plugins and version catalogs. This structured approach centralizes Gradle build configuration, enabling scalable and maintainable builds for large projects.