0
votes

I tried to add Stripe sdk to my Android project and I started getting this error

FAILURE: Build failed with an exception.

  • What went wrong: Failed to capture snapshot of input files for task ':MyApp:checkDebugClasspath' property 'compileClasspath' during up-to-date check.

    In project 'MyApp' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[1. 3.1,2.3]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown. Dependency failing: com.nimbusds:nimbus-jose-jwt:7.2.1 -> net.minidev:json-smart@[1.3.1,2.3], but json-smart version was 2.3. The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art ifact with the issue. -- Project 'MyApp' depends onto com.stripe:[email protected] For extended debugging info execute Gradle from the command line with ./gradlew --info :MyApp:assembleDebug to see the dependency paths to the artifact. This error message came from the google-services Gradle plugin, report issues at https
    ://github.com/google/play-services-plugins and disable by adding "googleServices { disableVersionCheck = false }" to you r build.gradle file.

I am not able to understand how to fix this especially since we aren't allowed to make changes in the support library versions unless absolutely required. I tried updating the google play libs to the latest but still got the error. These are my gradle dependencies.

dependencies {
    implementation project(':ratemyapp')
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.mcxiaoke.volley:library:1.0.18'
    implementation 'com.android.support:multidex:1.0.3'
    implementation files('libs/gcm.jar')
    // Facebook SDK Core only (Analytics)
    implementation 'com.facebook.android:facebook-core:4.33.0'
    // Facebook Login only
    implementation 'com.facebook.android:facebook-login:4.33.0'
    implementation 'com.braintreepayments.api:braintree:2.14.2'
    implementation 'com.braintreepayments.api:drop-in:3.4.0'
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:customtabs:27.1.1'
    implementation 'com.android.support:animated-vector-drawable:27.1.1'
    /**
     * Google
     */
    implementation 'com.google.android.gms:strict-version-matcher-plugin:1.1.0'
    implementation 'com.google.android.gms:play-services-auth:16.0.1'
    implementation 'com.google.android.gms:play-services-base:16.1.0'
    implementation 'com.google.android.gms:play-services-maps:16.1.0'
    implementation 'com.google.android.gms:play-services-identity:16.0.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    implementation 'com.google.android.gms:play-services-places:16.1.0'
    implementation 'com.google.android.gms:play-services-nearby:16.0.0'
    implementation 'com.google.android.gms:play-services-gcm:16.1.0'
    implementation 'com.android.support:mediarouter-v7:27.1.1'
    implementation 'com.google.android:flexbox:0.3.2'
    //compile files('libs/splunk-mint-4.2.1.jar')
    implementation 'com.android.support:design:27.1.1'
    // CardView
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.pixplicity.multiviewpager:library:1.0'
    implementation 'com.github.aakira:expandable-layout:1.4.1@aar'
    implementation 'me.everything:overscroll-decor-android:1.0.4'
    implementation 'org.apache.httpcomponents:httpmime:4.5.2'
    implementation 'commons-net:commons-net:3.3'
    implementation 'com.android.support:percent:27.1.1'
    /*For Request Server*/
    implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1'
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.3.0'
    implementation 'com.artemzin.rxjava:proguard-rules:1.1.6.0'
    /**
     * Animation.
     */
    implementation 'com.nineoldandroids:library:2.4.0'
    implementation 'com.daimajia.easing:library:1.0.1@aar'
    implementation 'com.daimajia.androidanimations:library:1.1.3@aar'
    implementation 'net.soulwolf.widget:ratiolayout:1.0.0'
    implementation 'com.jakewharton:butterknife:8.5.1'
    kapt 'com.jakewharton:butterknife-compiler:8.5.1'
    /**
     * Event Bus.
     */
    implementation 'org.greenrobot:eventbus:3.0.0'
    implementation 'com.wefika:flowlayout:0.4.1'
    /**
     * Ring capcha
     */
    implementation 'com.thrivecom:ringcaptcha:1.0.11@aar'
    /**
     * Zendesk
     */
    implementation 'com.zopim.android:sdk:1.3.7.1'
    implementation 'com.zendesk:support:2.0.0'
    implementation('com.twitter.sdk.android:twitter:3.3.0@aar') {
        transitive = true
    }
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.3@aar') {
        transitive = true
    }
    implementation('io.fabric.sdk.android:fabric:1.3.12@aar') {
        transitive = true
    }
    implementation 'io.branch.sdk.android:library:3.2.0'
    implementation 'com.mixpanel.android:mixpanel-android:5.+'
    implementation 'com.yqritc:android-scalablevideoview:1.0.4'
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.google.dagger:dagger:2.12'
    kapt 'com.google.dagger:dagger-compiler:2.11'
    implementation 'com.google.dagger:dagger-android-support:2.11'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    kapt 'com.google.dagger:dagger-android-processor:2.11'
    // ViewModel and LiveData
    implementation 'android.arch.lifecycle:extensions:1.1.1'
    kapt "android.arch.lifecycle:compiler:1.1.1"
    // Room
    implementation 'android.arch.persistence.room:runtime:1.1.1'
    kapt "android.arch.persistence.room:compiler:1.1.1"
    // Paging
    implementation 'android.arch.paging:runtime:1.0.1'
    implementation 'com.jakewharton.timber:timber:4.6.0'
    // Test helpers for LiveData
    testImplementation 'android.arch.core:core-testing:1.1.1'
    // Test helpers for Room
    testImplementation 'android.arch.persistence.room:testing:1.1.1'
    implementation 'org.apache.commons:commons-lang3:3.6'
    implementation 'com.github.bumptech.glide:glide:4.5.0'
    kapt 'com.github.bumptech.glide:compiler:4.4.0'
    implementation 'com.github.rubensousa:gravitysnaphelper:1.5'
    implementation 'me.everything:overscroll-decor-android:1.0.4'
    implementation 'com.github.bumptech.glide:recyclerview-integration:4.4.0'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.8'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'android.arch.persistence.room:runtime:1.1.1'
    implementation 'android.arch.persistence.room:rxjava2:1.1.1'
    implementation 'android.arch.lifecycle:reactivestreams:1.1.1'
    implementation 'com.github.zcweng:switch-button:0.0.3@aar'
    implementation 'com.shuhart.bubblepagerindicator:bubblepagerindicator:1.0.6'
    implementation 'com.iarcuschin:simpleratingbar:0.1.5'
    implementation 'co.omise:omise-android:2.6.4'
    implementation 'com.airbnb.android:lottie:2.5.4'
    implementation 'com.adjust.sdk:adjust-android:4.13.0'
    implementation 'com.android.installreferrer:installreferrer:1.0'
    implementation 'io.card:android-sdk:5.5.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'android.arch.persistence.room:testing:1.1.1'
    androidTestImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test:rules:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.2'
    androidTestImplementation 'org.mockito:mockito-core:2.7.19'
    androidTestImplementation 'org.mockito:mockito-android:2.7.19'
    implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
    implementation project(':menu')
    implementation project(':base')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.google.firebase:firebase-perf:16.2.0'
    implementation 'com.google.firebase:firebase-core:16.0.4'
    implementation 'com.google.firebase:firebase-analytics:16.0.4'
    implementation 'com.google.firebase:firebase-appindexing:16.0.2'
    implementation 'com.google.firebase:firebase-messaging:17.3.4'
    implementation 'com.google.android.instantapps:instantapps:1.1.0'
    implementation 'com.romandanylyk:pageindicatorview:1.0.2'
    implementation 'com.airbnb.android:lottie:2.5.4'
    implementation 'me.grantland:autofittextview:0.2.+'
    //OTP
    implementation 'com.poovam:pin-edittext-field:1.1.2'
    implementation 'jp.wasabeef:glide-transformations:4.0.1'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'de.hdodenhof:circleimageview:3.0.0'
    implementation 'com.braintreepayments.api:data-collector:2.22.0'

    //Applozic
    implementation 'com.applozic.communication.uiwidget:mobicomkitui:5.33'
    //Places SDK
    implementation ('com.google.android.libraries.places:places:1.1.0'){
        exclude group: 'com.android.volley'
    }

    //Freshchat SDK
    implementation 'com.github.freshdesk:freshchat-android:2.6.0'

    //Freshdesk font
    implementation 'uk.co.chrisjenx:calligraphy:2.1.0'

    //Stripe
    implementation 'com.stripe:stripe-android:9.3.5'
}

Would appreciate any suggestions or help, thanks!

2
I recommend upgrading to the latest Android Stripe SDK version, v10.1.0mshafrir

2 Answers

3
votes

I solved it updating Android Gradle Plugin to 3.4.1, Gradle to 5.1.1, and, if you use Kotlin, to 1.3.10. And don´t forget add this to gradle: apply plugin: 'com.google.gms.google-services'

For Stripe, I use implementation 'com.stripe:stripe-android:9.3.5', and I had to change some functions in the code, like: Card card = new Card(...) to Card card = Card.create(...) and token.getCard().getType() to token.getCard().getBrand()

1
votes

It's not one of your play store dependencies. Your error message clearly is blaming the Stripe Payments library. That library has an internal reference to a specific play services version. Most likely solution is your play services are too new for it. I could check their download site for a new version at the least. It's a pretty common issue for programmers to forget that the version check they are doing should allow newer versions, and sometimes it's on purpose to force you to update just in case of incompatibilites.