1.4 KiB
1.4 KiB
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:
- Open
android/in Android Studio. - Sync Gradle and build the project.
- Run the
appconfiguration 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 app’s 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 wiringbackend/— 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 app’s server URL to the mock address and run. The mock exposes /conversations, /messages, /sendMessage, /attachment, /updates and more.