An open source android Spice client. Works with .vv files (eg. from Proxmox mobile App)
  • Kotlin 57.5%
  • Shell 31.1%
  • C++ 9.8%
  • CMake 1.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-14 16:23:55 +00:00
app feat: complete project implementation with full UI, JNI architecture, and build scripts 2026-06-14 16:23:55 +00:00
native feat: complete project implementation with full UI, JNI architecture, and build scripts 2026-06-14 16:23:55 +00:00
.gitignore Initial commit 2026-06-14 18:05:36 +02:00
build.gradle.kts feat: scaffold Android project with Jetpack Compose and NDK support 2026-06-14 16:16:12 +00:00
LICENSE Initial commit 2026-06-14 18:05:36 +02:00
README.md feat: add native build infrastructure and Meson cross-file generator 2026-06-14 16:21:27 +00:00
settings.gradle.kts feat: scaffold Android project with Jetpack Compose and NDK support 2026-06-14 16:16:12 +00:00

OpenAndroSpice

OpenAndroSpice is a modern, secure SPICE (Simple Protocol for Independent Computing Environments) client for Android devices. It aims to provide a high-performance remote desktop experience for connecting to virtual machines (KVM/QEMU) with a focus on security and ease of use.

Project Vision

To create the most user-friendly and feature-complete open-source SPICE client for the Android ecosystem, utilizing modern development practices like Jetpack Compose and the latest SPICE native libraries.

Technical Stack

  • Languages: Kotlin (UI & App Logic), C/C++ (SPICE Protocol Engine)
  • UI Framework: Jetpack Compose
  • Protocol Engine: spice-gtk via Android NDK
  • Security:
    • Native TLS/SSL: Encrypted SPICE channels for secure communication.
    • SSH Tunneling: Optional layer for tunneling traffic through an SSH server.
  • Build System: Gradle (Kotlin DSL), CMake (Native builds)

Roadmap

Phase 1: Project Setup & Infrastructure

  • Define project vision and technical stack.
  • Initialize Android project with Jetpack Compose.
  • Set up NDK build environment (CMake).
  • Document architecture and dependencies.

Phase 2: Native Backend Integration

  • Set up cross-compilation environment (Meson + NDK).
  • Build core dependencies for Android:
    • OpenSSL (TLS support)
    • Pixman (Rendering support)
    • GLib (Core library)
    • spice-protocol (Headers)
  • Build libspice-client-glib-2.0 (headless protocol engine).
  • Create JNI bridge for connection management and event handling.

Phase 3: Core Features

  • Connection Management: Host, Port, Password.
  • Display Channel: Rendering SPICE video stream in a Compose-friendly view.
  • Input Handling: Multi-touch, mouse emulation, and keyboard support.

Phase 4: Security & Advanced Features

  • Integrate SSH Tunneling.
  • Certificate management for TLS.
  • Audio and USB redirection support.

Building the Project

Building OpenAndroSpice requires the Android SDK, NDK, and CMake. Detailed build instructions will be added as the environment is finalized.

License

OpenAndroSpice is licensed under the GPL-3.0 License.