DEV Community

Ronak Mahajan
Ronak Mahajan

Posted on

The .aab Trap: Why my "Final" Android Release Build wasn't final at all 😅

There is a very specific rush of dopamine you get when you finally configure your keystores, set up your environment secrets, run ./gradlew bundle Release, and see that app-release.aab file pop out.

Yesterday, I hit that milestone with Sprout Atlas (my AI produce scanner for the Shipaton hackathon). I downloaded the signed App Bundle from my Antigravity IDE workspace. I was ready to upload it to the Play Console. I felt like a deployment genius.

Then, I installed the release build on my physical device.

Within 30 seconds of opening the app, the illusion shattered.

The Patrick Hand font I used for the daily quizzes looked slightly misaligned on smaller screens.

The Shantell Sans typography on the Sprout Atlas Pro paywall (powered by RevenueCat) didn't have enough contrast against the background colors.

The visual layout for the chemical washing instructions felt too cramped when reading it on a real phone.

The Takeaway
I had fallen into the classic developer trap: letting the excitement of backend configuration and CI/CD pipelines blind me to the actual User Experience. I was so focused on successfully generating the signed binary that I forgot the most important rule of frontend development: Test your UI on physical devices before you even think about production builds.

I deleted the .aab file, went back to the Flutter code, and spent the next three hours tweaking padding, fonts, and container constraints.

Has anyone else celebrated a "final build" only to immediately jump back into the code? Let me know I'm not the only one! 👇

Top comments (0)