Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions sdk/android/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// XID Android SDK -- build.gradle.kts
// MIT
plugins {
id("com.android.library") version "8.7.3"
id("org.jetbrains.kotlin.android") version "2.1.21"
id("org.jetbrains.kotlin.plugin.serialization") version "2.1.21"
id("com.android.library") version "9.3.1"
id("org.jetbrains.kotlin.android") version "2.4.10"
id("org.jetbrains.kotlin.plugin.serialization") version "2.4.10"
id("maven-publish")
}

Expand Down Expand Up @@ -49,38 +49,38 @@ android {

dependencies {
// Android platform core
implementation("androidx.core:core-ktx:1.16.0")
implementation("androidx.core:core-ktx:1.19.0")
implementation("androidx.appcompat:appcompat:1.7.0")

// Chrome Custom Tabs -- authorization browser session (PKCE S256 flow)
implementation("androidx.browser:browser:1.8.0")
implementation("androidx.browser:browser:1.10.0")

// Secure storage -- EncryptedSharedPreferences backed by Android Keystore AES-256-GCM
implementation("androidx.security:security-crypto:1.1.0-alpha06")
implementation("androidx.security:security-crypto:1.1.0")

// Biometric (optional extension point for Keystore unlock with biometrics)
implementation("androidx.biometric:biometric:1.2.0-alpha05")
implementation("androidx.biometric:biometric:1.4.0-alpha07")

// Coroutines -- async authorization and network requests
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.11.0")

// HTTP -- OkHttp (supports certificate pinning)
implementation("com.squareup.okhttp3:okhttp:4.12.0")
implementation("com.squareup.okhttp3:okhttp:5.4.0")

// JSON -- Kotlinx Serialization (KMP-friendly, no reflection)
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.11.0")

// JWT verification -- nimbus-jose-jwt (ES256/RS256 via standard Java crypto)
implementation("com.nimbusds:nimbus-jose-jwt:9.40")
implementation("com.nimbusds:nimbus-jose-jwt:10.9.1")

// Unit tests (JVM, no device required)
testImplementation("junit:junit:4.13.2")
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0")
testImplementation("com.squareup.okhttp3:mockwebserver:4.12.0")
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.11.0")
testImplementation("com.squareup.okhttp3:mockwebserver:5.4.0")

// Instrumented tests
androidTestImplementation("androidx.test.ext:junit:1.2.1")
androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
androidTestImplementation("androidx.test.ext:junit:1.3.0")
androidTestImplementation("androidx.test.espresso:espresso-core:3.7.0")
}

publishing {
Expand Down