- 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
46 lines
1.3 KiB
Markdown
46 lines
1.3 KiB
Markdown
# 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/`.
|