Root Cause: Google started using nimbus library dependencies in its play services with version 4.3.0 ('com.google.gms:google-services:4.3.0') this is causing conflicts with anyone using nimbus library dependencies, google is using net.minidev:json-smart:1.3.1 where the latest version of nimbus library uses 2.3 this is causing conflict when merchants integrating CardinalMobile SDK with required dependencies ( 'com.nimbusds', name: 'nimbus-jose-jwt', version: '7.0.1', 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.61'). There are couple of ways to resolve this issue which are mentioned below. Solution 1 : When you face conflicts in using dependencies version you can configure the Android Studio project to use a specific version. Add below code to use 2.3 version of json-smart (if you want to use 1.3.1 replace prefer value to 1.3.1) Code Block |
---|
| components.all {
allVariants {
withDependencies { deps ->
deps.each { dep ->
if (dep.group == 'net.minidev' && dep.name =='json-smart') {
dep.version {
prefer "2.3"
}
dep.because "resolving dependencies issue"
}
}
}
}
} |
Solution 2: The other solution is using an old version of google play service which doesn't use nimbus library which is 'com.google.gms:google-services:4.1.0' |