Skip to content
← All posts

Series

Android Plataforma

Build a scalable Android platform with Gradle: modularization, convention plugins, shared build logic, version catalogs, and faster builds — step by step.

17 parts ~1h Intermediate Source code RSS

Start the series →

What you'll learn

  • Modularize an Android project and share Gradle build logic
  • Write convention plugins and a custom DSL for your modules
  • Speed up builds and enforce quality with detekt, ktlint and Spotless

In this series

  1. Part 1 2 min read

    Android Plataforma - Part 1: Modularization

    Efficiency matters in modern software projects. This article covers modularization in Kotlin/Android projects, Gradle, and the challenges of many modules.

  2. Part 2 1 min read

    Android Plataforma - Part 2: Starting the Project

    In this post we explore a starter project, understand the challenges of maintaining build.gradle.kts files, and discover how Gradle Composite Builds…

  3. Part 3 3 min read

    Android Plataforma - Part 3: Sharing Gradle Scripts

    In the previous article we saw the challenges of a multi-module project: maintaining and reusing Gradle files. Let us dig into how to solve that.

  4. Part 4 4 min read

    Android Plataforma - Part 4: Composite Build

    In the previous articles we saw why modularity matters and why Composite Builds are the right choice for scaling Kotlin projects.

  5. Part 5 1 min read

    Android Plataforma - Part 5: Simplifying Gradle Init

    In the previous article, we set up our platform with build-logic and registered the greeting task in the main project.

  6. Part 6 3 min read

    Android Plataforma - Part 6: Version Catalog

    In the previous post, we optimized our platform and got it ready for more features.

  7. Part 7 8 min read

    Android Plataforma - Part 7: Decorating the 'app' module

    In the previous article, we got our platform ready to take on new features.

  8. Part 8 2 min read

    Android Plataforma - Part 8: Decorating the 'library' modules

    In the last post, we introduced the first decoration in the Platform and set up our entire app module using the Kotlin DSL.

  9. Part 9 4 min read

    Android Plataforma - Part 9: Unifying the Application and Library extensions with the Common Extension

    In the last post, we managed to extract the configuration logic for our library modules.

  10. Part 10 6 min read

    Android Plataforma - Part 10: Customizing the modules

    In the last article we explored CommonsExtension to remove duplication from our configuration.

  11. Part 11 3 min read

    Android Plataforma - Part 11: Building a DSL to customize the new options

    In the previous article, we parameterized the arguments of applyAndroidApp() and appyAndroidLibary() with models.

  12. Part 12 5 min read

    Android Plataforma - Part 12: Optimizing build time for Android libraries

    🌱 Branch: 12/improving-android-library-build-time 🔗 Repository:...

  13. Part 13 4 min read

    Android Plataforma - Part 13: Including "pure JVM" modules

    In the last article we sped up Android module builds by turning off several Android Gradle Plugin (AGP) features.

  14. Part 14 3 min read

    Android Plataforma - Part 14: Opting in to experimental Kotlin compiler features

    In the last article we extended our platform with the ability to declare JVM modules.

  15. Part 15 6 min read

    Android Plataforma - Part 15: Taking care of your code with Detekt, ktlint and Spotless

    In the last article we covered how our platform lets different modules opt into experimental features.

  16. Part 16 2 min read

    Android Plataforma - Part 16: Final thoughts

    Over the last articles, we built a platform from scratch, learning and applying concepts to make multi-module Kotlin apps more flexible and scalable.

  17. Part 17 3 min read

    Android Plataforma - Part 0: Introducing the Series

    Android development is a constant stream of new devices, SDK updates, and a flood of libraries and tools shipping every day. Here is how we tame it.

Related series