The only beautiful, private, mechanically interesting Minesweeper on Android.
No ads. No permissions. No analytics. No internet. Just the game.
Live on F-Droid as of v1.2. The update bot picks up new tags on its own schedule, so v1.3 can lag the GitHub release for a while.
Every other Minesweeper on Android is either a privacy nightmare stuffed with ads and trackers, or a bare-bones port that looks like it was built in 2009. This one is neither.
Built from scratch with Jetpack Compose and Material 3, it looks and feels like a first-party Google app. Material You dynamic colour adapts the entire palette to your wallpaper on Android 12+. Spring physics, ripple flood-fill animations, screen shake on game over.
The three built-in difficulty modes are mechanically distinct, not just bigger grids:
- Easy, 9×9, classic rules, guaranteed safe first click
- Medium, 12×12, higher mine density, 5-minute countdown, only your clicked cell is safe at the start
- Hard, 14×14, no safe start, no chord reveal, 3-minute countdown, fog of war, revealed cells fade out after 6 seconds and you must hold the mine map in your head
Fog of war is a novel mechanic that doesn't exist in any other Minesweeper app. It turns a memory game into a memory game.
Past the three presets there is a Custom mode: pick a grid anywhere from 5×5 to 20×20, set the mine count, and switch fog of war and safe-start on or off independently. No countdown, chord stays on, custom is about layout, not time pressure.
The grid always fills the screen. Cells scale to any device. No zooming, no tiny tap targets.
Requirements: JDK 17+, Android SDK 35, Gradle (wrapper included).
git clone https://github.com/john-athan/minesweeper
cd minesweeper
./gradlew assembleDebug
# APK → app/build/outputs/apk/debug/app-debug.apkRelease build (unsigned):
./gradlew assembleRelease| Layer | Technology |
|---|---|
| Language | Kotlin 2.4.10 |
| UI | Jetpack Compose (BOM 2025.07.00) |
| Design system | Material 3 |
| Dynamic colour | Material You (Android 12+) |
| Build | AGP 9.4.0, Gradle 9.7.1 |
| Min SDK | 21 (Android 5.0) |
All dependencies are Apache 2.0 licensed (AndroidX / Jetpack). No third-party libraries, no trackers, no network calls of any kind.
GPL-3.0-or-later, see LICENSE.



