Skip to content

Android SDK

ResolveKit Android SDK provides runtime orchestration, tool calling, and chat UI surfaces for Kotlin apps.

Requirements

Current module constraints in source:

  • Min SDK: 26 (Gradle module config)
  • Compile SDK: 36
  • JDK target: 17
  • Kotlin: 1.9.22 in project versions

Published package coordinates:

  • app.resolvekit:sdk:1.0.1
  • app.resolvekit:authoring:1.0.1
  • app.resolvekit:ksp:1.0.1

Installation (Maven)

kotlin
dependencies {
    implementation("app.resolvekit:sdk:1.0.1")
}

With annotation + KSP function authoring:

kotlin
plugins {
    id("com.google.devtools.ksp")
}

dependencies {
    implementation("app.resolvekit:sdk:1.0.1")
    implementation("app.resolvekit:authoring:1.0.1")
    ksp("app.resolvekit:ksp:1.0.1")
}

Modules

  • sdk: umbrella facade for default runtime + UI
  • core: JSON/value types, function contracts, registry, errors
  • networking: REST + SSE clients
  • ui: runtime + Compose view + Activity/Fragment surfaces
  • authoring: @ResolveKit + ResolveKitFunction
  • ksp: codegen processor for tool adapters

Minimum Integration

kotlin
val runtime = ResolveKitRuntime(
    configuration = ResolveKitConfiguration(
        baseUrl = "http://10.0.2.2:8000",
        apiKeyProvider = { "iaa_your_api_key" },
        functions = listOf(GetCurrentTime)
    ),
    context = applicationContext
)

Use in Compose:

kotlin
ResolveKitChatView(runtime = runtime)

Configuration Fields

ResolveKitConfiguration:

  • baseUrl: String = "https://agent.example.com"
  • apiKeyProvider: () -> String?
  • deviceIdProvider: (() -> String?)?
  • llmContextProvider: () -> JSONObject
  • availableFunctionNamesProvider: (() -> List<String>)?
  • localeProvider: (() -> String?)?
  • preferredLocalesProvider: (() -> List<String>)?
  • functions: List<AnyResolveKitFunction>
  • functionPacks: List<ResolveKitFunctionPack>

Released under AGPL-3.0 (Backend) and MIT (SDKs)