I just want to build an app.
That's it. That's the whole thing. I have code. I want it on a phone. There's a button on the phone. The button does something. That's the dream. That's the entire dream.
But first — FIRST — I have to deal with Gradle.
Gradle. GRADLE. Who named this. Who sat down and typed G-R-A-D-L-E and said yes, that's it, that's the word, that's what we're calling the thing that every Android developer on earth has to use every single day of their professional life. It sounds like a skin condition. It sounds like something you'd google at 2am and immediately close the tab. "I think I have gradle." "Have you tried the cream?"
And what does Gradle do. What does this thing with this name actually DO. It turns code into an app. One job. The whole job. Code goes in, app comes out.
Except it doesn't do that. What it does — what it ACTUALLY does — is wait until you've had two cups of coffee and you're feeling good, you're feeling optimistic about the day, and then it hits you with: Cannot query the value of this provider because it has no value available.
WHAT PROVIDER. WHICH VALUE. I didn't ask about a provider. I asked you to BUILD THE APP. What are you doing. What are you DOING.
And you can't even argue with it. You can't call anyone. You go to the internet and there's a table. A TABLE. With version numbers. And the version numbers have to MATCH. Gradle has a version. The Android Gradle Plugin — which is different from Gradle, obviously, why would those be the same thing — has a version. And they have to match. And the table that tells you how to match them has a notice at the top that says "this documentation may be out of date."
The documentation. For the table. That tells you how to use the tool. May be out of date.
I have a table that might be wrong telling me how to fix a tool named after a rash. This is fine. Everything is fine.
So I bring in Gemini.
Because I'm not an animal. Because we live in the future. Because Google — GOOGLE, two trillion dollars, the company that indexed all of human knowledge — built an AI assistant and put it right there in Android Studio and it is going to help me because that is what it is FOR.
Gemini reads the error. Takes two seconds. Says: SDK 35 is missing. That's your problem. Go get SDK 35.
Okay. OKAY. I go get SDK 35. I install it. I come back. Ready to build my app. Ready to see my button.
New error.
DIFFERENT error. The SDK 35 error is gone — sure, fine, it's gone — but now there's a Gradle 8.3 error that DID NOT EXIST BEFORE I STARTED. I made it worse. I followed the instructions and I made it worse. SDK 35 is sitting on my machine doing absolutely nothing, a little souvenir, a memento of a theory that didn't pan out, and Gemini is already talking about Gradle 8.3 like the last twenty minutes never happened.
"Here's the issue with Gradle 8.3."
HERE'S THE ISSUE. HERE'S. THE. ISSUE. You ARE the issue. You sent me to get SDK 35. SDK 35 is right there. It's installed. It didn't help. And now you're telling me about Gradle 8.3 like you're a morning show host and we've just moved to the weather segment. No acknowledgment. No sorry. Just — Gradle 8.3. Stay with us.
I fix Gradle 8.3. Third error. Plugin Provider failure.
I can't. I genuinely cannot. Plugin Provider failure. What plugin. Which provider. We've met both of these words before in different contexts and now they're together in one error and together they mean LESS than they did separately. This is Gradle's abstract period. This is Gradle doing jazz. Plugin Provider failure. It's a vibe. Deal with the vibe.
Forty minutes. Three errors. Every fix broke something new. It's a perfect chain. It's the most expensive game of dominoes ever played and I'm the table.
And then Gemini wrote a post-mortem.
I need you to understand I did not ask for a post-mortem. I did not say "when you're done being wrong could you also produce a document about it." Gemini just — did it. Spontaneously. The way a cat knocks a glass off a counter and then sits there looking at you like you're both just witnessing something together.
Four sections. A TITLE. Numbered sections. The whole thing.