searchSDK for Android / Kotlin
Android API 26+. Normalized search through your application's HTTPS gateway.
On this page
Install from source
Package: dev.searchsdk:searchsdk-android, version 0.1.0-alpha.1. This is an alpha source/local-artifact installation. No public registry release or release tag is assumed.
git clone https://github.com/Belweave/searchSDK.git
cd searchSDK
# Record this revision with your application's dependency lock.
git rev-parse HEADcd packages/android
./gradlew publishReleasePublicationToVerificationRepository --no-daemon --max-workers=2Use JDK 21 and Android SDK 36 for the build. Add the generated packages/android/build/repository as a Maven repository in your app, then implementation("dev.searchsdk:searchsdk-android:0.1.0-alpha.1"). This is a local AAR with explicit coroutine and OkHttp dependencies, not a Maven Central release.
Call your application gateway
First deploy an application-owned gateway. searchsdk.dev hosts a demonstration playground and documentation MCP service; neither is an application gateway for these SDKs.
import dev.searchsdk.android.SearchClient
import dev.searchsdk.android.SearchRequest
suspend fun searchExample(
endpoint: String,
applicationToken: suspend () -> String?
) {
val search = SearchClient(endpoint = endpoint, accessToken = applicationToken)
try {
val response = search.search(
SearchRequest("SQLite write concurrency", limit = 3)
)
for (result in response.results) println(result.url)
} finally {
search.close()
}
}Invoke from an application-owned coroutine with your exact HTTPS endpoint and application-token callback. In a UI, reuse a client for its owning component's lifetime and close it when that component is finished.
Supported surface and limits
Normalized search through your application's HTTPS gateway.
- Gateway only; retries, fallback and provider-native operations remain on the server.
- Minimum-API and physical-device runtime coverage are not claimed. Coroutine cancellation follows Kotlin's structured concurrency.
Preserve result order, provider-native scores and source provenance. Unknown usage is not zero cost. Cancellation and deadlines cannot undo a request already accepted by a remote system or guarantee exactly-once effects.
Verify without provider keys
cd packages/android
./gradlew testReleaseUnitTest assembleRelease lintRelease publishReleasePublicationToVerificationRepository --no-daemon --max-workers=2
./gradlew -p consumer testReleaseUnitTest assembleRelease --no-daemon --max-workers=229 SDK tests, installed AAR/Maven consumer and three HTTPS instrumentation cases on an Android 16 emulator.
These are deterministic contract and artifact checks. They do not establish live-provider or account-entitlement verification. Read the package README for precise commands, dependencies and runtime coverage.