diff --git a/android/build.gradle b/android/build.gradle index 1659cd5..c752b2a 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -55,12 +55,12 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_11 - targetCompatibility JavaVersion.VERSION_11 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = "11" + jvmTarget = "17" } } diff --git a/docs/advanced.md b/docs/advanced.md index 8b42362..1c700c8 100644 --- a/docs/advanced.md +++ b/docs/advanced.md @@ -67,13 +67,16 @@ Passkeys provide a seamless, passwordless login experience using WebAuthn and pl } ``` -3. Inside the `android` block, add the following to set Java 8 compatibility: +3. Inside the `android` block, set JVM 17 compatibility (required for React Native 0.80+ and AGP 8.x; use AGP 7.4+ if upgrading from older toolchains): ```groovy android { compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" } } ``` diff --git a/docs/getting-started.md b/docs/getting-started.md index 821b0e3..8a546f4 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -18,7 +18,7 @@ The Frontegg React Native SDK automatically handles token refresh behind the sce ### Supported platforms - iOS: Deployment target 14.0 or higher -- Android: Minimum SDK version 26 (Android 8.0) +- Android: Minimum SDK version 26 (Android 8.0); **JDK 17** and **AGP 7.4+** for the Android toolchain (required by React Native 0.80+ and AGP 8.x) - React Native: Version 0.63+ (recommended for best compatibility) - WebAuthn support (Passkeys): - iOS: Version 15+ required for platform-level support diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 7189372..928f0ab 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -108,6 +108,10 @@ android { buildFeatures { buildConfig = true } + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } buildTypes { debug { signingConfig signingConfigs.debug diff --git a/example/android/gradle.properties b/example/android/gradle.properties index 0dfffe8..b298a47 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -39,7 +39,7 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 # are providing them. newArchEnabled=false -# Allow JVM target mismatch between Kotlin (17) and Java (11) in dependencies +# Warn (do not fail) if a transitive dependency still uses a different JVM target kotlin.jvm.target.validation.mode=warning # Use this property to enable or disable the Hermes JS engine.