Files
CellGuard-app/BUILD.md
sssnake 38719683c7 CellGuard app: on-device IMSI-catcher detection (Kotlin/Compose)
- foreground DetectorService: cgcap capture + on-device decode
- framework CellInfo source: real serving+neighbor towers, signal, carrier name
- FrameDecoder: 0x070F cell-info SIT decode
- block-2G/3G + detection toggles via cgctl; libsu root bridge
- silent status notification + edge-triggered alerts
2026-07-12 09:21:54 -07:00

1.3 KiB

Building CellGuard

Toolchain

Component Version
Gradle (wrapper) 8.9
Android Gradle Plugin 8.5.2
Kotlin 1.9.23
Compose compiler 1.5.11
JDK 21
compileSdk / targetSdk 35
minSdk 33
Build tools 35.0.0

These versions are mutually compatible: AGP 8.5.2 requires Gradle 8.7+ and JDK 17+ (JDK 21 is fine), and Kotlin 1.9.23 pins the Compose compiler extension to 1.5.11.

Prerequisites

  • JDK 21 installed at /usr/lib/jvm/java-21-openjdk-arm64
  • Android SDK at /home/snake/Android/Sdk with:
    • platforms/android-35
    • build-tools/35.0.0
  • Network access for the first build (downloads AndroidX, Compose BOM 2024.06.00, and libsu 5.2.2 from Google, Maven Central, and JitPack).

Build command (debug APK)

export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-arm64
export ANDROID_HOME=/home/snake/Android/Sdk
cd /home/snake/CellGuard-app && ./gradlew :app:assembleDebug

Output

The debug APK is written to:

/home/snake/CellGuard-app/app/build/outputs/apk/debug/app-debug.apk

For a release (unsigned) build, run ./gradlew :app:assembleRelease; the artifact lands in app/build/outputs/apk/release/.