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
This commit is contained in:
45
BUILD.md
Normal file
45
BUILD.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 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)
|
||||
|
||||
```bash
|
||||
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/`.
|
||||
Reference in New Issue
Block a user