Java
The SDK is compiled to Java 17 classfiles. You must run it on JDK 17 or later.| JDK version | Supported |
|---|---|
| JDK 17 | Yes |
| JDK 18–24 | Yes |
| JDK 25 | Yes |
| JDK 16 and earlier | No |
java.net.http.HttpClient (introduced in Java 11) for all HTTP communication. No additional HTTP client dependency is required.
Kotlin / JVM
Kotlin on the JVM consumes Maven artifacts the same way Java does. Add the dependency to your Gradle or Maven build file and use the SDK from Kotlin code without any additional configuration:Frameworks
The SDK has no framework dependencies. It works in any JVM environment that meets the JDK requirement:Spring Boot
Declare
AppleMaps as a @Bean in a @Configuration class. The AutoCloseable implementation integrates cleanly with Spring’s DisposableBean lifecycle.Spring AI
Works as any other Maven dependency inside a Spring AI project. Inject the
AppleMaps bean into your AI tool implementations.Quarkus
Works as a plain Maven dependency. Declare a CDI
@ApplicationScoped producer that creates and disposes the client.Plain Java
No framework required. Instantiate
AppleMaps directly and close it when done.Android
The SDK usesjava.net.http.HttpClient, which is part of the Java SE standard library but is not included in the Android runtime. Attempting to use this library on Android will result in a NoClassDefFoundError or similar failure at runtime.
To support Android, the SDK would need to replace HttpClient with an Android-compatible HTTP client (such as OkHttp) and publish a separate Android artifact.
Kotlin Multiplatform / iOS
iOS targets in a KMP project use Kotlin/Native, which cannot consume JVM bytecode artifacts from Maven Central. This library is compiled to JVM bytecode only. To support iOS via KMP, the SDK would need to:- Rewrite HTTP communication using a multiplatform client such as Ktor.
- Publish a multiplatform artifact with
commonMain,jvmMain, andnativeMainsource sets.
Summary
| Environment | Supported | Notes |
|---|---|---|
| Java 17–25 (server) | Yes | Primary target |
| Kotlin/JVM | Yes | Same JDK requirement |
| Spring Boot | Yes | Works as a @Bean |
| Spring AI | Yes | Works as a @Bean |
| Quarkus | Yes | CDI producer pattern |
| Plain Java | Yes | No framework needed |
| Android | No | Missing java.net.http.HttpClient |
| Kotlin/Native (iOS) | No | Cannot consume JVM bytecode |
| Kotlin Multiplatform | No | No multiplatform artifact |