-
Notifications
You must be signed in to change notification settings - Fork 32
Description
Summary
com.sumup.tap-to-pay:utopia-sdk cannot be packaged in the same Android App Bundle with another Tap to Pay SDK (Stripe Terminal Tap to Pay) because both include libagnos.so with different binary content.
This blocks a single-app architecture where users choose the provider at runtime.
Steps to Reproduce
- Add these dependencies:
dependencies {
implementation("com.sumup:merchant-sdk:6.0.0")
implementation("com.sumup.tap-to-pay:utopia-sdk:1.0.6")
implementation("com.stripe:stripeterminal-taptopay:5.2.0")
implementation("com.stripe:stripeterminal-core:5.2.0")
}- Build Android App Bundle:
./gradlew :app:bundleDebugExpected Behavior
The app bundle is generated successfully, allowing a single app to support both providers (only one active at runtime).
Actual Behavior
Build fails at bundle packaging:
Execution failed for task ':app:packageDebugBundle'.
A failure occurred while executing com.android.build.gradle.internal.tasks.PackageBundleTask$BundleToolWorkAction
Modules 'feature_stripe' and 'feature_sumup' contain entry 'lib/arm64-v8a/libagnos.so' with different content.
Android Version(s)
Observed at build/package time (AAB), so not tied to a specific runtime Android version.
Project config: minSdk 29, targetSdk 36, compileSdk 36.
Impacted Devices
Not device-specific (build-time issue before install/runtime).
Impacted Readers
Not reader-specific (build-time issue before reader connection).
Firmware Version(s)
N/A (issue occurs before runtime/reader usage).
Crash Log
N/A (no app/runtime crash, this is a Gradle bundle packaging failure).
Dependency Versions
- SumUp SDK:
com.sumup:merchant-sdk:6.0.0,com.sumup.tap-to-pay:utopia-sdk:1.0.6 - Kotlin:
2.2.20(plugin), stdlib forced to2.2.20 - Android Gradle Plugin:
8.13.2 - Gradle:
8.13
Video / Screenshot
Not attached yet. I can provide build output screenshots and a minimal repro project if needed.
Other Information
- I tested multiple SumUp Tap to Pay versions and compared AGNOS native hashes against Stripe Tap to Pay versions programmatically.
- No compatible binary pair found (
libagnos.sodiffers). pickFirst, excludes, R8/proguard, dynamic features, and separate process do not provide a clean/supported fix for one app bundle.- Request: is there an official SumUp-supported way to coexist with another Tap to Pay SDK in one app (for example, alternative artifact/packaging strategy for AGNOS, or a compatibility matrix)?