Wie zu beheben alle google play-Dienste-Abhängigkeiten mit gradle?

Situation

Heute, nach dem berühren nichts von dem Projekt, mein gradle schrie mich an und würde nicht kompilieren Sie das Projekt. Es konnte keine Lösung firebase-iid, firebase-common, play-services-analytics-impl, play-services-auth-api-phone, und play-services-auth-base. Also ein ziemliches Durcheinander nach dem Wochenende.

So dass ich überprüft die Versionen der verschiedenen APIs und aktualisiert diejenigen, die Bedarf aktualisieren, fand heraus, dass Google Hinzugefügt hatte eine zwingende Abhängigkeit zu firebase-core Hinzugefügt, dann aktualisiert mein google-services plugin, und sogar Hinzugefügt, eine play-services-base Abhängigkeit. Ich habe auch aktualisiert firebase-messaging version 17.0.0, und crashlytics auf version 2.9.3.

Aber immer noch, das build nicht kompiliert, mit dieser Fehlermeldung:

Die Bibliothek com.google.android.gms:play-Leistungen-Messung-Basis beantragt wird, von verschiedenen anderen Bibliotheken in [[15.0.2,15.0.2], [15.0.4,15.0.4]], aber löst 15.0.4. Deaktivieren Sie das plugin und überprüfen Sie Ihre Abhängigkeiten Baum mittels ./gradlew :app:Abhängigkeiten.

Gradle-Dateien

Hier ist mein Gradle-Datei (zeigt Abhängigkeiten zum Teil nur), nachdem mein versuchter fixes:

apply plugin: 'com.android.application'

...
dependencies {
    implementation project(':library')
    implementation project(':otherlibrary')
    implementation 'com.android.volley:volley:1.1.0'
    implementation('org.apache.httpcomponents:httpmime:4.3.6') {
        exclude module: 'httpclient'
    }
    implementation 'org.apache.httpcomponents:httpclient-android:4.3.5'
    implementation 'com.google.android.gms:play-services-base:15.0.1'
    implementation 'com.google.android.gms:play-services-analytics:15.0.2'
    implementation 'com.google.android.gms:play-services-location:15.0.1'
    implementation('com.google.android.gms:play-services-ads:15.0.1') {
        exclude group: 'com.android.support', module: 'customtabs'
    }
    implementation 'com.google.android.gms:play-services-identity:15.0.1'
    implementation 'com.google.android.gms:play-services-auth:15.0.1'
    implementation 'com.google.android.gms:play-services-drive:15.0.1'
    implementation 'com.google.firebase:firebase-core:16.0.0'
    implementation 'com.google.firebase:firebase-messaging:17.0.0'

    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.nineoldandroids:library:2.4.0'
    implementation 'com.daimajia.slider:library:1.1.5@aar'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:mediarouter-v7:27.1.1'
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:exifinterface:27.1.1'
    implementation 'com.android.support:support-v13:27.1.1'
    //https://mvnrepository.com/artifact/com.darwinsys/hirondelle-date4j
    implementation group: 'com.darwinsys', name: 'hirondelle-date4j', version: '1.5.1'
    //For RxAndroid and RxJava
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
//Because RxAndroid releases are few and far between, it is recommended you also
//explicitly depend on RxJava's latest version for bug fixes and new features.
//(see https://github.com/ReactiveX/RxJava/releases for latest 2.x.x version)
    implementation 'io.reactivex.rxjava2:rxjava:2.1.12'

    //Crashlytics
    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'

    //CSV with outputstream writer
    implementation 'com.opencsv:opencsv:4.1'

    //Gson
    implementation 'com.google.code.gson:gson:2.8.5'

    debugImplementation 'com.android.support.test:runner:1.0.2'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test:rules:1.0.2'
    androidTestImplementation 'org.hamcrest:hamcrest-library:1.3'
    androidTestImplementation 'junit:junit:4.12'
}

apply plugin: 'com.google.gms.google-services'

- Und mein Projekt-weit gradle enthalten diese Zeilen:

...
repositories {
    maven {
       url 'https://maven.google.com/'
       name 'Google'
    }
    ...
}
dependencies {
    ...
    classpath 'com.google.gms:google-services:4.0.1'
}
...

Offizielle Lösung funktioniert nicht

Ich schon versucht zu beheben, die version, die Anzahl von mehreren Bibliotheken nach den offizielle FB-Dokumentation, das ist mehr oder weniger das gleiche wie diese Frage.

Wie Sie Lesen können, die in den offiziellen link zur Dokumentation, wie der 2. Mai 2018, bot Sie eine Möglichkeit zur Behebung dieser Art von Problem, aber die Nummern der Versionen in Frage, sind nicht die gleichen, und ich habe bereits versucht, die gegebenen fix (mit einigen Herabstufungen jetzt), ohne Erfolg.

Offizielle Dokumentation:
Wenn Ihre app hat eine Abhängigkeit auf com.google.FB:FB-Kern:15.0.0 sowie eine der folgenden Bibliotheken:

com.google.android.gms:play-services-analytics
com.google.android.gms:play-services-appinvite
com.google.android.gms:play-services-tagmanager
com.google.firebase:firebase-analytics
com.google.firebase:firebase-crash
com.google.firebase:firebase-dynamic-links
com.google.firebase:firebase-messaging

Aktualisieren Sie die version des letzteren in Abhängigkeit von
15.0.2. Diese befasst sich mit der Frage, wo die version 3.3.0 von den Google-Services, Gradle plugin meldet: Die Bibliothek
com.google.android.gms:play-Leistungen-Messung-base wird
angefordert von verschiedenen anderen Bibliotheken in der [[15.0.0,15.0.0],
[15.0.2,15.0.2]], sondern wird zu 15.0.2...

Also, wie kann ich diese Konflikte aufzulösen von Versionen, um für meinen build zu kompilieren mal wieder richtig?

InformationsquelleAutor OroshiX | 2018-05-28
Schreibe einen Kommentar