stripe-android icon indicating copy to clipboard operation
stripe-android copied to clipboard

[BUG] Duplicate class com.sumsub.sns:idensic-mobile-sdk

Open AnnaBitsUK opened this issue 1 year ago • 1 comments

Summary

Hello, I have a compatibility issue with other libs in the app. Multiple libs depend transitively on the same lib with different versions I resolved the conflict towards the stripe, but I have a crash on one of the sumsub screens.

Installation method

gradle dependency

Dependency Versions

com.stripe:stripe-android:18.2.0 com.sumsub.sns:idensic-mobile-sdk:1.27.1

kotlin: 1.8.21 stripe-android: 18.2.0 Android Gradle Plugin: 8.3.1 Gradle: gradle-8.4-bin.zip

Other information

Sumsub com.sumsub.sns:idensic-mobile-sdk:1.27.1 com.sumsub.sns:idensic-mobile-sdk-ui:1.27.1 com.sumsub.sns:idensic-mobile-sdk-internal-core:1.27.1 org.jmrtd:jmrtd:0.7.34 org.bouncycastle:bcutil-jdk18on:1.71

Stripe com.stripe:stripe-android:18.2.0 com.stripe:payments-core:18.2.0 com.stripe:stripe-3ds2-android:6.1.2 org.bouncycastle:bcprov-jdk15to18:1.69

Without resolving the conflict, I can't build a project with an error

bcprov-jdk15to18:1.69 and jetified-bcprov-jdk18on-1.71 (org.bouncycastle:bcprov-jdk18on:1.71) Duplicate class org.bouncycastle.math.ec.custom.sec.SecP224K1Field found in modules jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69) and jetified-bcprov-jdk18on-1.71 (org.bouncycastle:bcprov-jdk18on:1.71)

And many other classes

Current resolution

configurations.all { c -> c.resolutionStrategy.eachDependency { DependencyResolveDetails dependency -> println dependency.requested.group if (dependency.requested.group == 'org.bouncycastle') { dependency.useTarget 'org.bouncycastle:bcprov-jdk15to18:1.69' } } }

Stripe works but I have a crash on one of the Sumsub screens.

Do you have a solution for sumsub compatibility? Thank you

AnnaBitsUK avatar Apr 05 '24 09:04 AnnaBitsUK

It looks like org.bouncycastle:bcprov-jdk15to18 and org.bouncycastle:bcprov-jdk18on can't co-exist. I'm not sure if com.sumsub.sns:idensic-mobile-sdk:1.27.1 can use the same org.bouncycastle:bcprov-jdk15to18:1.69 that Stripe SDK uses. but you can try excluding org.bouncycastle:bcutil-jdk18on from com.sumsub.sns:idensic-mobile-sdk and see if it solves your problem.

dependencies {
    implementation('com.sumsub.sns:idensic-mobile-sdk:1.27.1') {
        exclude group: 'org.bouncycastle', module: 'bcutil-jdk18on'
    }
}

seanzhang-stripe avatar Apr 11 '24 09:04 seanzhang-stripe

@AnnaBitsUK closing down since we haven't heard back, but please reopen if you're still having issues.

jaynewstrom-stripe avatar May 24 '24 19:05 jaynewstrom-stripe