Skip to content

Rve27/RvSystem-Monitor

Repository files navigation

🚀 RvSystem Monitor

Android Kotlin Rust Downloads License Compose

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.


📸 Screenshots


🧪 Join Alpha Testing

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:

👉 Register for Alpha Testing


✨ Key Features

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.

🏗️ Architecture

The project adheres to Clean Architecture principles, ensuring a strict separation of concerns and high maintainability.

The Hybrid Core

  • Frontend (Kotlin): Orchestrates UI state using Dagger Hilt for DI and Coroutines/StateFlow for reactive data streams. It features a custom ScreenWrapper for advanced visual effects.
  • Backend (Rust): Handles heavy lifting and system parsing. It mirrors the Linux kernel's structure (kernel/ for CPU, mm/ for Memory, and drivers/ 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.

📂 Project Structure

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.

🛠️ Tech Stack

  • 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

🚀 Getting Started

Prerequisites

  • Android Studio (Ladybug or newer)
  • Rust Toolchain (rustup.rs)
  • Android NDK (Version 30.0.14904198 recommended)
  • cargo-ndk: cargo install cargo-ndk

Build Instructions

  1. Clone the project:
    git clone https://github.com/Rve27/RvSystem-Monitor.git
  2. Build Native Libraries:
    ./gradlew :app:buildRustLibraries
  3. Assemble Debug APK:
    ./gradlew assembleDebug
    Note: The native build is automatically triggered as a dependency of preBuild.

📄 License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.


Built with ❤️ for the Android Community.

About

Modern Android system monitoring app using Jetpack Compose and Rust

Topics

Resources

License

Stars

Watchers

Forks

Contributors