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?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also nach einem Tag verloren in dieser Ausgabe, fand ich heraus, dass Sie die neueste version von
play-services-analytics
ist nicht die, die Sie veröffentlicht haben, in Ihre website. Es ist16.0.0
und nicht15.0.2
.Android Studio gesagt, dass ein Kollege wie eine Warnung, aber mir war unbekümmert darüber. So ist es hier, die Zeile, die alles verändert:
Fügte ich diese zu meinem build.gradle (application version) und es funktionierte:
Ich versuchte Rückkehr zu einem alten build, und es schien zu funktionieren, was ich fand, war, dass die
gradle-wrapper.properties
war mit und die ältere version (4.5) statt der 4,6 ich hatte in dem neueren Projekt. Ändern Sie diese sowie das zurücksetzen aufclasspath 'com.android.tools.build:gradle:3.2.0-alpha08'
aus alpha15 schien, den trick zu tun. Ich denke, dass Sie verwenden können, die alpha-15, wenn Sie mögen, aber um sicher zu sein können Sie dieclasspath 'com.android.tools.build:gradle:3.1.2'
.Zusammen mit all diesen änderungen die
firebase-core
und diegoogle-gms-services
sollte auf version 16.0.0.gradle-wrapper.properties
4,6-alle oder 4,7-alle, und ich hatte bereits dieclasspath 'com.android.tools.build:gradle:3.1.2'
, aber der Fehler ist immer noch da... ich bin versucht derzeit, ausschließenplay-services-measurement-base
aus allen Abhängigkeiten und importieren Sie es direkt. Für jetzt, funktioniert nicht.Leider google-play-Dienst wurde beendet
Diese Witwen msg erzeugt &nie ausführen jedem google-Dienst führt