-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Duplicate class from another library makes my build fail #14
Comments
👋 stripe-android developer here, happy to help debug as well.
R8 is enabled by default in Android Gradle Plugin 3.4.0 [0], and while R8 should generally work for you, some libraries do bytecode rewriting that is incompatible with R8 [1]. What version of Gradle are you using? You can find this in We had to add the following in our 3DS2 SDK's
Would you be able to share your dependencies configuration? [0] https://developer.android.com/studio/releases/gradle-plugin#3-4-0 |
Hi @GorG1993, first of all, 2.1.0-rc04 is currently the correct version to use. Regarding your issue: my first assumption is that there's an issue with conflicting classes from Proguard / R8. It seems like both our Adyen SDK and @mshafrir-stripe, thanks for your help to debug here! But did you confuse this with the Stripe SDK? 😅 Cheers, |
@timon-langlotz oh man! I was checking out the Issues in your repo to see if there were any common issues that your users were seeing. Totally thought this was a question about integrating both Stripe and Adyen. 🤦♂ 🤦♂🤦♂ |
I'm working with @GorG1993 on this and have been trying to figure this out. @timon-langlotz I think you are right about both SDKs minifying to the same naming scheme. When I look at the aar of either of these SDKs they both have these Does a proguard rule need to be added to keep whatever library that originated from? The full log details all of the conflicting classes:
|
Hi @GorG1993,
I'm unfortunately not aware of the a Proguard rule / config that would transform existing classnames an additional time to potentially resolve this issue on your side. But I will look into it! The problem is that we don't know which dependencies our merchants will have in their projects, so we cannot know how to transform the classes, since anything might in theory conflict. But that is also something I can look into. Cheers, |
Hi @GorG1993 and @peterzoosk, we've just published a new release that should fix this issue. Cheers, |
in modules jetified-agora-rtc-sdk.jar (agora-rtc-sdk.jar) and jetified-full-sdk-3.0.0-runtime.jar (io.agora.rtc:full-sdk:3.0.0) i used agora sdk for vedio calling and these type of error i shown what can i do? |
hey @parshwa1596 , you should update the 3DS2 SDK to at least version |
@timon-langlotz I was wondering how you eventually solved it in code, as I'm also an SDK developer facing the same issues, if you could give me a hand here/direction, that would be fabulous! |
We ended up using the |
Thanks, that helped me and solved my problem! |
Hi,
I also wrote an email to your support team regarding this but I thought it will a good idea to open an issue as well.
While trying to add the 3DS2 Android SDK to my project via maven repository, my build fails with the following errors:
Caused by: com.android.builder.dexing.DexArchiveBuilderException Caused by: com.android.builder.dexing.DexArchiveBuilderException: Error while dexing. Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete Caused by: com.android.tools.r8.utils.AbortException: Error: Type org.a.a.d is referenced as an interface from org.a.a.a.
I am using version 2.1.0-rc04 of your library and my Gradle version is 3.3.2. While updating my Gradle version to 3.5.0 I was able to get a more explicit error message and it seems there is a conflict with another library I am using,
com.applovin.mediation.sdks.fyber:ia-video-kit-release:7.1.7
. The more detailed error is the following:Duplicate class org.a.b.a.a found in modules classes.jar (:ia-video-kit-release-7.1.7:) and classes.jar (com.adyen.threeds:adyen-3ds2:2.1.0-rc04)
I would also like to mention that if I downgrade to
adyen-3ds2:0.9.6
my build is successful.I also noticed that the only difference between
adyen-3ds2:0.9.6
andadyen-3ds2:2.1.0-rc04
regarding dependencies is this library called io.michaelrocks.paranoid-core and I tried excluding this one but my build still fails.So my question is, is there a module from 3ds2-2.1.0-rc04 that I can exclude in order to make my build successful or should I revert to 3ds2-2.1.0-0.9.6?
Thank you,
Georgian
The text was updated successfully, but these errors were encountered: