You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/blog/modules/ROOT/pages/15-android-build-flow.adoc
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,4 @@
1
1
= Mill as an Alternative Android Build Tool
2
-
3
2
// tag::header[]
4
3
:author: Vasilis Nicolaou
5
4
:revdate: 17 September 2025
@@ -20,7 +19,7 @@ In less than a year, Mill went from minimal Android support to producing install
20
19
image:AndroidPokedexMultimoduleExample.png[A multi-module Android app built with Mill, showing a list of Pokémon and details for each pokemon.]
21
20
22
21
23
-
===Why you might prefer this to Gradle
22
+
== Why you might prefer this to Gradle
24
23
25
24
Because Mill’s Android support is built out of simple, object-oriented modules (AndroidModule, AndroidAppModule, etc.), the entire pipeline is transparent and hackable. If something doesn’t work, you don’t need to wait for a plugin update, you can open the task in your IDE, see the source, and tweak it yourself. This is the same design that let us implement end-to-end Android support in under a year, and it’s what makes Mill attractive if you value control and debuggability in your build.
26
25
@@ -81,7 +80,7 @@ Android adds a dozen more steps, each involving different tools and formats:
81
80
82
81
Each step is order-sensitive: resources must be compiled before classes, manifests merged before packaging, APKs signed before installation. With Gradle, these steps are usually hidden inside plugin logic. When we explored Gradle builds, we often had to reverse engineer its behavior to understand what was going on. Mill instead exposes each phase as a target you can call, inspect its sources, or override.
83
82
84
-
=== The Mill Android Build Pipeline
83
+
== The Mill Android Build Pipeline
85
84
86
85
.Standard Android build pipeline (without Hilt)
87
86
[graphviz]
@@ -239,7 +238,7 @@ Run the instrumented tests and watch the app being tested inside the emulator:
239
238
240
239
image:androidtodo_test.gif[Android Test running inside an emulator, showing the Todo app being tested automatically.]
241
240
242
-
Let's say you want to know how the apk is built. First, you can check the plan of `androidApk`, i.e which
241
+
Let's say you want to know how the apk is built. First, you can check the plan of `androidApk`, i.e. which
243
242
tasks it depends on:
244
243
[,console]
245
244
----
@@ -282,7 +281,7 @@ In addition, due to xref:12-direct-style-build-tool.adoc#_direct_style_builds[Mi
0 commit comments