RvSystem Monitor is a high-performance system monitoring solution for Android, merging the expressive power of Jetpack Compose with the raw efficiency of Rust. It provides low-level hardware insights while maintaining a modern, buttery-smooth user experience.
We are currently in the alpha phase and looking for testers! If you'd like to help improve RvSystem Monitor, please register via our Google Form:
| Category | Description |
|---|---|
| 🔋 Battery Intelligence | Live tracking of Wattage (W), cycle counts (Android 14+), health percentage, and precise Deep Sleep vs. Uptime metrics. |
| 🖥️ System Overlay | A draggable, low-overhead floating monitor for real-time FPS and RAM metrics. Fully customizable update intervals. |
| 🎮 GPU & Graphics | Retrieval of GPU renderer, vendor, and supported OpenGL ES & Vulkan versions directly through the EGL context and native drivers. |
| ⚙️ CPU Dynamics | Detailed per-core monitoring including current, minimum, and maximum frequencies and scaling governors. |
| 🧠 Memory & ZRAM | High-precision tracking of RAM and ZRAM usage, including cached, buffers, and kernel slab memory. |
| ⚡ Native Performance | Optimized Rust backend that parses kernel files (/proc, /sys) and interacts with hardware drivers directly with efficient JNI batching. |
| 🎨 Expressive UI | Built with Material 3 Expressive, featuring adaptive layouts, sophisticated screen transitions, and optimized recomposition. |
| 📖 Fully Documented | Extensive KDoc documentation for UI components and idiomatic Rust documentation for the backend. |
The project adheres to Clean Architecture principles, ensuring a strict separation of concerns and high maintainability.
- Frontend (Kotlin): Orchestrates UI state using Dagger Hilt for DI and Coroutines/StateFlow for reactive data streams. It features a custom
ScreenWrapperfor advanced visual effects. - Backend (Rust): Handles heavy lifting and system parsing. It mirrors the Linux kernel's structure (
kernel/for CPU,mm/for Memory, anddrivers/for GPU) to provide an idiomatic and high-performance data source. - JNI Bridge: A custom-built bridge optimized for batch data retrieval, minimizing the costly context switching between the JVM and Native code.
| Directory/File | Description |
|---|---|
app/ |
Main Android Module |
├── data/ |
Repositories and JNI-linked data sources (e.g., CpuRepositoryImpl). |
├── domain/ |
Model definitions and repository interfaces. |
├── ui/ |
Compose screens, ViewModels, and Material 3 theme. |
└── utils/ |
JNI Bridge Declarations (CpuUtils, MemoryUtils, etc.). |
rust/ |
Native Monitoring Backend |
├── drivers/ |
GPU-specific logic (Vulkan versioning). |
├── kernel/ |
Core system monitoring (CPU frequencies, temperatures). |
├── mm/ |
Memory Management (RAM usage, ZRAM statistics). |
└── src/lib.rs |
JNI Bridge Implementation (Native entry points). |
gradle/ |
Project-wide build configurations and version catalogs. |
fastlane/ |
Metadata and screenshots for distribution. |
- UI Framework: Jetpack Compose (Material 3 Expressive, BOM 2026.05.00)
- Dependency Injection: Hilt (v2.59.2)
- Native Backend: Rust (Edition 2024) via JNI
- Asynchronous Flow: Kotlin Coroutines & Flow (Kotlin 2.3.21)
- Build System: Gradle Kotlin DSL (AGP 9.2.1) + Cargo NDK
- Formatting: Spotless (ktlint) & Cargo Fmt
- Android Studio (Ladybug or newer)
- Rust Toolchain (rustup.rs)
- Android NDK (Version
30.0.14904198recommended) - cargo-ndk:
cargo install cargo-ndk
- Clone the project:
git clone https://github.com/Rve27/RvSystem-Monitor.git
- Build Native Libraries:
./gradlew :app:buildRustLibraries
- Assemble Debug APK:
Note: The native build is automatically triggered as a dependency of
./gradlew assembleDebug
preBuild.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
Built with ❤️ for the Android Community.





