Aurora KInterop
Kotlin Multiplatform libraries that provide convenient functionality for interacting with Aurora OS.
Key Features
- Two-Level Architecture: Rust backend (CInterop) and Kotlin Multiplatform wrapper (KInterop).
- Modularity: A set of isolated libraries to access various system features (battery, camera, network, sensors, etc.).
- Cross-Platform: Built on Kotlin Multiplatform with support for Linux (Aurora OS).
Publishing to Local Maven
The project consists of two independent build layers. There is a strict dependency: it is impossible to build the upper layer without first building the lower one.
┌─────────────────────────────────────────────────────────────┐
│ Level 2: KInterop (Kotlin Multiplatform) │
│ ───────────────────────────────────────── │
│ • Kotlin bindings over native libraries │
│ • Module publication to Maven │
│ • Works on any platform │
└────────────────────────────┬────────────────────────────────┘
▼
┌────────────────────────────┴────────────────────────────────┐
│ Level 1: CInterop (Rust backend) │
│ ───────────────────────────────────────── │
│ • Native libraries (Rust + cross-compilation) │
│ • Included as a git submodule │
│ • Works ONLY on Linux │
└─────────────────────────────────────────────────────────────┘
On Linux, both levels are built automatically with a single command:
./gradlew publishToMavenLocalAll
Installation
Add the necessary libraries to your commonMain source set:
kotlin {
sourceSets {
val commonMain by getting {
dependencies {
implementation("ru.auroraos.kmp:ak-battery-info:0.0.1")
implementation("ru.auroraos.kmp:ak-camera:0.0.1")
implementation("ru.auroraos.kmp:ak-charts:0.0.1")
implementation("ru.auroraos.kmp:ak-connectivity-info:0.0.1")
implementation("ru.auroraos.kmp:ak-device-info:0.0.1")
implementation("ru.auroraos.kmp:ak-galileo:0.0.1")
implementation("ru.auroraos.kmp:ak-keyboard-maliit:0.0.1")
implementation("ru.auroraos.kmp:ak-local-notification:0.0.1")
implementation("ru.auroraos.kmp:ak-location-info:0.0.1")
implementation("ru.auroraos.kmp:ak-package-info:0.0.1")
implementation("ru.auroraos.kmp:ak-path-info:0.0.1")
implementation("ru.auroraos.kmp:ak-player:0.0.1")
implementation("ru.auroraos.kmp:ak-sensors-info:0.0.1")
implementation("ru.auroraos.kmp:ak-share-data:0.0.1")
implementation("ru.auroraos.kmp:ak-shared-preferences:0.0.1")
implementation("ru.auroraos.kmp:ak-uri-launcher:0.0.1")
implementation("ru.auroraos.kmp:ak-vibration:0.0.1")
implementation("ru.auroraos.kmp:ak-wakelock:0.0.1")
implementation("ru.auroraos.kmp:ak-webview:0.0.1")
implementation("ru.auroraos.kmp:ak-window:0.0.1")
implementation("ru.auroraos.kmp:ak-workmanager:0.0.1")
}
}
}
}
Usage
The project includes the following modules: