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) { allVariants {
withDependencies { deps ->
deps.each { dep ->
if {
allVariants {
withDependencies { deps ->
deps.each { dep ->
if (dep.group == 'net.minidev' && dep.name =='json-smart') { |
dep { prefer dep.because
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' |