question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Upgrade cardinal commerce to androidx

See original GitHub issue

General information

  • SDK/Library version: cardinal commerce 2.2.3-2 (UPDATE: also 2.2.4-1)
  • Environment: Sandbox
  • Android Version and Device: Android Emulator, API 30
  • Braintree dependencies:
    com.braintreepayments.api:drop-in:5.0.0
    +--- com.braintreepayments.api:braintree:3.14.1
    |    +--- com.braintreepayments.api:google-payment:3.3.1
    |    +--- com.braintreepayments.api:core:3.14.1
    |    |    \--- com.braintreepayments:browser-switch:1.1.2 -> com.libon.android.braintreepayments:browser-switch:1.1.0-1+a8f62b9
    |    \--- com.paypal.android.sdk:paypal-one-touch:3.14.1
    |         +--- com.braintreepayments.api:core:3.14.1 (*)
    |         \--- com.paypal.android.sdk:data-collector:3.14.1
    +--- com.braintreepayments:card-form:5.0.0
    \--- com.braintreepayments.api:three-d-secure:3.14.1
         \--- org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.3-2
    

Issue description

I finally removed (what I thought was) the last library in my project which still used the deprecated support library. So, I disabled jetifier by making this change to my gradle.properties file:

-android.enableJetifier=true
+android.enableJetifier=false

My app compiled and installed fine, but when calling ThreeDSecure.performVerification(), the app crashed:

java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/content/ContextCompat;
        at com.cardinalcommerce.shared.cs.f.h.<init>(Unknown Source:27)
        at com.cardinalcommerce.shared.cs.f.c.a(Unknown Source:2)
        at com.cardinalcommerce.shared.cs.f.c.<init>(Unknown Source:17)
        at com.cardinalcommerce.shared.cs.f.g.a(Unknown Source:2)
        at com.cardinalcommerce.shared.cs.a.b.a(Unknown Source:11)
        at com.cardinalcommerce.cardinalmobilesdk.a.a.a.a(Unknown Source:124)
        at com.cardinalcommerce.cardinalmobilesdk.Cardinal.configure(Unknown Source:24)
        at com.braintreepayments.api.ThreeDSecure.configureCardinal(ThreeDSecure.java:391)
        at com.braintreepayments.api.ThreeDSecure.access$100(ThreeDSecure.java:47)
        at com.braintreepayments.api.ThreeDSecure$4.onConfigurationFetched(ThreeDSecure.java:220)
        at com.braintreepayments.api.BraintreeFragment$14.run(BraintreeFragment.java:886)
        at com.braintreepayments.api.BraintreeFragment.postOrQueueCallback(BraintreeFragment.java:809)
        at com.braintreepayments.api.BraintreeFragment.waitForConfiguration(BraintreeFragment.java:878)
        at com.braintreepayments.api.ThreeDSecure.performVerification(ThreeDSecure.java:185)

This indicates that the cardinal commerce library still hasn’t migrated to androidx. It would be great if they could, so we could disable jetifier (one less build phase is always welcome).

Thanks!

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:15
  • Comments:11 (6 by maintainers)

github_iconTop GitHub Comments

5reactions
calvarez-ovcommented, Apr 6, 2021

Just for info, this is still a problem with version 2.2.5-2 of the library.

4reactions
sarahkoopcommented, Apr 6, 2022

We have released a new version of the SDK that includes full support for AndroidX and removes the requirements for Jetifier 🥳 . Please upgrade to 4.10.0.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Cardinal Mobile SDK - Confluence
Step 1 - Update the Gradle Build Properties to Integrate Cardinal Mobile SDK ... In Android Studio, open the app directory (which can...
Read more >
Cardinal Mobile SDK – The answer to the new mobile world
The Cardinal Mobile SDK is for all merchants who value simplicity when it comes to setting up 3DS through an iOS or Android...
Read more >
Cardinal Frequently Asked Questions, FAQs
CardinalCommerce, a Visa Solution, is a global leader in authenticating digital transactions. For over two decades, we've been bringing ...
Read more >
Cardinal Mobile SDK and the changing digital landscape
Not only has the native app (iOS and Android) experience been improved by the introduction of a formal SDK, the browser experience has...
Read more >
Certification and What's New with the Card Networks
CardinalCommerce is a Visa Solution. ... both issuers and merchants, as well as offer two SDK's (Android and iOS versions) for in-app authentication....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found