Private
Public Access
1
0
Files
Kordophone/android

Kordophone Android Client

Android client for the Kordophone iMessage bridge. This app connects to a running Kordophone server over HTTP/JSON and streams updates.

Note: This client currently implements its own API layer in Kotlin and does not yet use the shared Rust core library.

Build & Run

Requirements:

  • Android Studio (AGP 8.x)
  • JDK 8+ toolchain (project uses Java 8 bytecode)

Steps:

  1. Open android/ in Android Studio.
  2. Sync Gradle and build the project.
  3. Run the app configuration on an emulator or device.

The app targets minSdk 30, targetSdk 33 and uses Jetpack Compose.

Configure Server

Set the server host and optional Basic Auth from the apps Settings screen.

  • Server URL for local mock (emulator): http://10.0.2.2:5738
  • Server URL for local mock (device): http://<your-host-ip>:5738
  • Credentials: match the server if auth is enabled (mock supports --auth).

Settings are persisted using EncryptedSharedPreferences.

Modules

  • app/ — UI (Compose), DI (Hilt), app wiring
  • backend/ — Kotlin API client, DB/cache (Realm), models, tests

Testing with the Mock Server

Start the mock server in the repo root:

cd mock
go run ./...          # or: make; ./kordophone-mock

Set the apps server URL to the mock address and run. The mock implements the Kordophone server API; see centralized API documentation (planned under api/).