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
-
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.
-
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…
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Part 12 5 min read
Android Plataforma - Part 12: Optimizing build time for Android libraries
🌱 Branch: 12/improving-android-library-build-time 🔗 Repository:...
-
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.
-
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.
-
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.
-
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.
-
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.