Why does every developer tool love C drive so much?

Why does every developer tool love C drive so much?

I was building Noodle.

The app finally spoke.

The emotional moment:

Me:
"hello"

Noodle:
"hey..."

Beautiful.

Then Android decided:

“Cool. Now let me eat your storage.”

I checked my E drive.

My project:

E:\Noodle

Flutter:

E:\dev\flutter

Everything was organized.

Then why was my C drive losing space?

I found:

C:\Users\Me\.gradle

and:

C:\Users\Me\AppData\Local\Pub\Cache

Gigabytes.

Just sitting there.

The question:

Why?

First: Flutter is not the builder

When I run:

flutter run

I thought:

“Flutter builds my app.”

Not exactly.

The journey:

Dart code



Flutter



Android project



Gradle



Android SDK



APK

Flutter is the manager.

Gradle is the actual Android construction worker.

So what is Gradle?

Gradle is Android’s build system.

It handles:

  • downloading libraries
  • compiling Kotlin/Java
  • packaging APKs
  • managing versions

Example:

I add:

audioplayers:

Flutter says:

“Okay.”

Android says:

“Wait, I need native Android code.”

Then Gradle downloads:

audioplayers_android

compiles it,

and puts everything together.

But why C drive?

Because Gradle thinks:

“These are developer tools. They belong to the developer machine.”

Not:

“Where is your project?”

So Windows default:

C:\Users\<user>\.gradle

Flutter packages:

C:\Users\<user>\AppData\Local\Pub\Cache

Android SDK:

C:\Users\<user>\AppData\Local\Android

Your project:

E:\Noodle

But your build world:

C:
|
Users
|
Maitry
|
.gradle
AppData
Android
Pub

Your app lives on E.

Your tools live on C.

Why store caches?

At first, I thought:

“Why don’t they just delete this?”

Then I understood.

Imagine every build downloading:

Kotlin compiler
Android libraries
Gradle plugins
dependencies

Every single time.

Pain.

So Gradle says:

“I downloaded this once. I am keeping it.”

But why does it become 10GB?

Because different projects need different versions.

Project A:

Gradle 8.5
Kotlin 1.9

Project B:

Gradle 8.7
Kotlin 2.0

Gradle keeps both.

Your computer:

“I just wanted to build two apps.”

Gradle:

“Perfect. Here are 10GB of memories.”

The funniest part

My first instinct:

“Something is broken.”

The actual lesson:

Nothing was broken.

My computer was doing exactly what it was designed to do.

Caches are not useless files.

They are speed.

Developer lesson:

Every time something feels magical:

Ask:

“Who is actually doing the work?”

Flutter?

Or Android?

Dart?

Or Gradle?

The command:

flutter run

Looks simple.

But underneath:

Your code

multiple tools

multiple languages

multiple systems

one APK

A simple button press hides an entire factory.

Leave a Reply