[SOLVED] Dependency failing: com.google.android.gms:play-services-stats:15.0.1 -> com.google.android.gms:play-services-basement@[15.0.1], but play-services-basement version was 16.0.1.

ALTRO, SOLUZIONI

L’errore, da come si evince dal messaggio,  dipende da una incompatibilità di librerie che usano versioni diverse di play-services-basement.  Nel mio build.gradle ho identificato la libreria colpevole del problema in : implementation “com.google.android.gms:play-services-location:16.+”, ma ciò ovviamente non mi ha consentito di risolvere il problema perché utilizzando ionic cordova

dependencies {

implementation fileTree(dir: 'libs', include: '*.jar')

// SUB-PROJECT DEPENDENCIES START

implementation(project(path: ":CordovaLib"))

implementation "com.android.support:support-v4:27.+"

implementation "com.android.support:support-annotations:27.+"

implementation "com.android.support:support-v13:27.+"

implementation "me.leolin:ShortcutBadger:1.1.17@aar"

implementation "com.google.firebase:firebase-messaging:17.0.+"

implementation "com.google.android.gms:play-services-location:16.+"

// SUB-PROJECT DEPENDENCIES END

}
non è possibile modificare il build.gradle direttamente, perché nel momento in cui si lancia l’add della platform esso viene riscritto.
Lo sforzo, pertanto nel mio caso è stato quello di individuare i plugin che installavano ed utilizzavano la dipendenza com.google.android.gms:play-services-location e soprattuto quali fossero i plugin che utilizzavano  le due versioni differenti.
Ricercando un pò su internet ho letto di un tizio che rimuovendo il phonegap-plugin-push riusciva a compilare;
ionic cordova plugin rm phonegap-plugin-push --save

ed infatti così è stato anche per me, peccato che nella mia applicazione il phonegap-plugin-push fosse necessario.

Facendo una ricerca testuale tra tutti i file del progetto e dei plugin ho scoperto che il cordova-plugin-request-location-accuracy utilizza la stessa libreria di phonegap ma una versione differente.

A questo punto è stato sufficiente reinstallare phonegap-plugin-push

ionic cordova plugin add phonegap-plugin-push --save

rimuovere il plugin cordova-plugin-request-location-accuracy

ionic cordova plugin rm phonegap-plugin-push --save

e re-installarlo con la seguente sintassi.

ionic cordova plugin add cordova-plugin-request-location-accuracy --variable PLAY_SERVICES_LOCATION_VERSION=15.0.1 --save
ottenendo così la giusta configurazione del build.gradle.
dependencies {

implementation fileTree(dir: 'libs', include: '*.jar')

// SUB-PROJECT DEPENDENCIES START

implementation(project(path: ":CordovaLib"))

implementation "com.android.support:support-v4:27.+"

implementation "com.android.support:support-annotations:27.+"

implementation "com.android.support:support-v13:27.+"

implementation "me.leolin:ShortcutBadger:1.1.17@aar"

implementation "com.google.firebase:firebase-messaging:17.0.+"

implementation "com.google.android.gms:play-services-location:15.0.1"

// SUB-PROJECT DEPENDENCIES END

}

 

 

 

Se vuoi farmi qualche richiesta o contattarmi per un aiuto riempi il seguente form

    Comments