I Patched an Android APK to Show How Fragile Client-Side Checks Can Be
When people talk about reverse-engineering resistance on Android, the conversation often jumps straight to obfuscation.
Featured in
Android development, architecture, performance, security and the experience of building software.
25 featured articles
When people talk about reverse-engineering resistance on Android, the conversation often jumps straight to obfuscation.
Featured in
Android developers spend a lot of time thinking about build performance. I wrote previously about cutting Gradle build time by 50%, mostly through…
When Android developers hear “permissions,” they usually think about camera prompts, location access, notifications, or storage. But some of the more…
Featured in
Manual testing has a way of growing quietly. This QA agent workflow uses structured documentation, mappings, reports, and prompts to improve traceability…
Featured in
Preview-Driven Screenshot Testing For Locales, Keys, And Font Scale Some testing work starts with a bug. This one started with a client requirement. They…
Featured in
Dejavu, Compose, And The Difference Between Performance Wins And Guardrails When I first decided to try Dejavu, I was hoping for a slightly dramatic…
Featured in
Verifying Hardware-Backed Keystore on a Custom Android Build When people talk about Android Keystore, the conversation often becomes vague very quickly…
Featured in
How I Used Perfetto to Separate Real Startup Improvements From Plausible Ones By the time I opened Perfetto, the app was already faster. That was the…
Featured in
Turning a Wear OS Complication Into a Launcher Shortcut Wear OS apps often live in the background. Users install them, open them once or twice, and then…
Featured in
Why HTTPS Alone Is Not Enough for Sensitive Android Payloads When most Android teams talk about securing data in transit, the conversation usually stops…
Featured in
How I Found a 34% Startup Win in a Modern Compose App It is easy to assume the big startup wins are already gone once an Android app is modern, uses…
Featured in
ZeroMQ on Android: Bridging a Linux Service with PUB SUB In a recent project, we had a deceptively simple requirement. We needed reliable, low latency…
Featured in
Stop Using PlayerView in Compose: Media3 PlayerSurface Done Right Modern Android development moves fast, especially around media playback. Libraries…
Featured in
Goodbye AndroidView: A Real CameraX QR Scanner in Compose In a recent project, we needed to add a QR scanner that allows users to quickly connect to a…
Featured in
Fast Feedback: Winning Back 60% of Our CI Time Speeding up your build pipeline isn’t just about faster Gradle builds, though that’s a great place to…
Featured in
How I Cut My Gradle Build Time by 50% Android developers are no strangers to the occasional long build time. As projects grow in complexity, waiting on…
Pip-Boy Perfect: Your Wasteland Survival Guide to Maestro UI Testing on Android Ah, another themed article. This one’s about Maestro, an effective mobile…
Featured in
Artifactory Secrets Unveiled: Maximizing Android Projects with Private Module Publishing Android developers often find themselves in scenarios where…
Featured in
Grit and Guts: Migrating from Groovy to Kotlin in Gradle The journey of migrating your Gradle build scripts from Groovy to Kotlin in an Android project…
Featured in
Android Symphony: A UX Melody with Tooltips, Popups, and Dialogs Grab a cup of coffee and let’s embark on a journey into the captivating world of user…
Featured in
Accessibility Amplified: A Journey to Inclusive Android Apps The pursuit of innovation frequently overshadows the requirement of inclusion. As our lives…
Yo Ho Ho and a Heap of Memory Leak Woes: LeakCanary to the Rescue! Have you ever asked, “But why is all the memory gone?” Fear not, for memory leaks may…
Featured in
Compose and Conquer: A Tale of Effortless Android Navigation In Android app development, efficient navigation is critical to offering a seamless user…
Featured in
Stepping into the Alternative Universe of Automated Testing for Android & Mobile: Espresso, Maestro, and Sofy.ai Compared As a developer, I vividly…
Featured in
Challenge Accepted: Hacks for Effortless OAuth2 Login Testing on Android Automated UI testing is a must-have tool for assuring the dependability and…
Featured in