From b19a39a7a7f08e12059f8b0bf308617dfbc7ef56 Mon Sep 17 00:00:00 2001 From: Kieran Osgood Date: Thu, 17 Sep 2026 14:43:37 +0100 Subject: [PATCH] Update Android dependencies ### Scope Third layer of the dependency-cleanup stack, based on the Ruby/CocoaPods layer. - Align the module and sample Android Gradle Plugin declarations on 8.13.2. - Update the Gradle wrapper from 8.14.1 to 8.14.5 and pin the official distribution checksum. - Update Jackson databind from 2.12.5 to 2.12.7.2; core and annotations resolve to 2.12.7. - Preserve the native Checkout SDK, React Native, Kotlin, SDK/NDK levels, and both React Native architectures. Only the two Android build files and wrapper properties change. No application code or tests are added or modified. ### Compatibility limit Jackson remains on its older-Android-compatible 2.12 line. This is a bounded patch update, not a claim that all remaining Jackson advisories are resolved. A modern Jackson migration needs separate compatibility work rather than silently raising the library's Android minimum or changing consuming-app requirements. ### Validation - Existing Android suite: 38 Debug and 38 Release tests pass with the new architecture enabled, and the same suites pass with it disabled. - ARM64 Debug APK assembly succeeds with both architectures, using Java 17 and Gradle 8.14.5. - Existing JavaScript suite: 135 tests across eight suites pass. - Module/sample type checking and lint, script-test lint, module build/API report, package snapshot, license headers, and whitespace checks pass. - CI runs separately on the published draft. Device interaction and minified Release-app validation remain part of the combined stack-tip sweep; unit tests and compilation are not substitutes for that sweep. ### Supersedes Closes #296 Closes #332 Closes #408 Closes #489 ### How to test **GIVEN** the Android sample is configured for a development storefront and an Android emulator or device is available **AND** `newArchEnabled` is **enabled** in `sample/android/gradle.properties` **WHEN** the reviewer builds and launches the sample, opens a product, adds it to the cart, opens checkout, and dismisses checkout **THEN** the sample builds and starts successfully, checkout opens and dismisses as on the base branch, and the cart remains usable without serialization errors Assisted-By: devx/d410d084-ca7b-490b-87be-85f7eac08cb6 --- **GIVEN** the Android sample is configured for a development storefront and an Android emulator or device is available **AND** `newArchEnabled` is **disabled** in `sample/android/gradle.properties` **WHEN** the reviewer builds and launches the sample, opens a product, adds it to the cart, opens checkout, and dismisses checkout **THEN** the legacy-architecture sample builds and starts successfully, checkout opens and dismisses as on the base branch, and the cart remains usable without serialization errors --- modules/@shopify/checkout-sheet-kit/android/build.gradle | 4 ++-- sample/android/build.gradle | 2 +- sample/android/gradle/wrapper/gradle-wrapper.properties | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/@shopify/checkout-sheet-kit/android/build.gradle b/modules/@shopify/checkout-sheet-kit/android/build.gradle index a8650ec4..cc6ecb89 100644 --- a/modules/@shopify/checkout-sheet-kit/android/build.gradle +++ b/modules/@shopify/checkout-sheet-kit/android/build.gradle @@ -5,7 +5,7 @@ buildscript { } dependencies { - classpath "com.android.tools.build:gradle:8.11.0" + classpath "com.android.tools.build:gradle:8.13.2" } } @@ -108,6 +108,6 @@ dependencies { // implementation("com.facebook.react:react-android:+") implementation("com.shopify:checkout-sheet-kit:${SHOPIFY_CHECKOUT_SDK_VERSION}") - implementation("com.fasterxml.jackson.core:jackson-databind:2.12.5") + implementation("com.fasterxml.jackson.core:jackson-databind:2.12.7.2") debugImplementation("com.shopify:checkout-sheet-kit:${SHOPIFY_CHECKOUT_SDK_VERSION}") } diff --git a/sample/android/build.gradle b/sample/android/build.gradle index d895aa1d..4383e07b 100644 --- a/sample/android/build.gradle +++ b/sample/android/build.gradle @@ -13,7 +13,7 @@ buildscript { mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.6.0") + classpath("com.android.tools.build:gradle:8.13.2") classpath("com.facebook.react:react-native-gradle-plugin") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") } diff --git a/sample/android/gradle/wrapper/gradle-wrapper.properties b/sample/android/gradle/wrapper/gradle-wrapper.properties index 002b867c..a4cf193f 100644 --- a/sample/android/gradle/wrapper/gradle-wrapper.properties +++ b/sample/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip +distributionSha256Sum=6f74b601422d6d6fc4e1f9a1ab6522f642c2fdcbc15ae33ebd30ba3d7198e854 +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.5-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME