Ich erhalte eine Fehlermeldung, nachdem Sie 'com.firebaseui: firebase-ui-auth: 1.0.0' zur Abhängigkeit hinzugefügt haben. Der Fehler verschwindet, wenn ich 'com.firebaseui: firebase-ui-auth: 1.0.0' aus dem Gradle lösche. Code und Bild unten enthaltenHilfe bitte
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.example.a.chatapp"
minSdkVersion 22
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
compile 'com.Android.support:appcompat-v7:25.3.0'
compile 'com.firebaseui:firebase-ui:0.3.1'
compile 'com.Android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
Das Problem ist, dass Sie zwei (oder mehr) verschiedene Versionen derselben Abhängigkeit verwenden. Die erste ist in Ihrer Gradle-Datei angegeben, und die anderen Abhängigkeiten werden von der Bibliothek verwendet, die Sie verwenden (in diesem Fall wahrscheinlich Firebase-ui).
Sie haben hier mehr Möglichkeiten. Zuerst sollten Sie versuchen, die Abhängigkeit von Firebase-Ui zu aktualisieren. Sie halten ihre Support-Abhängigkeiten in der Regel auf dem neuesten Stand, so dass sie wahrscheinlich dieselbe Version der Support-Bibliotheken wie Sie in ihrem aktuellen Master-Zweig verwenden (ich denke, Sie verwenden die neueste 'com.Android.support:appcompat'-Version, oder?) Wenn die letzte Version von firebase-auth nicht die aktuelle Version der Unterstützungsbibliotheken verwendet, können Sie entweder die Version der Unterstützungsbibliotheken herabstufen, sodass sie mit der entsprechenden Version übereinstimmt. Sie können auch einen eigenen Zweig von firebase-auth erstellen und diese auf dem neuesten Stand halten besitzen.
Hier gibt es einen Fehler!
compile 'com.Android.support:appcompat-v7:25.3.1'
Alle com.Android.support-Bibliotheken müssen exakt dieselbe Versionsspezifikation verwenden (das Mischen von Versionen kann zu Laufzeitabstürzen führen). Gefundene Versionen 25.3.1, 25.3.0. Beispiele umfassen 'com.Android.support:animated-vector-drawable: 25.3.0' und 'com.Android.support:mediarouter-v7:24.0.0'
Sehen Sie sich diese Beispiele an Include 'com.Android.support:animated-vector-drawable:25.3.0'
und 'com.Android.support:mediarouter-v7:24.0.0'
Fügen Sie diese Codes einfach in Abhängigkeiten hinzu und stellen Sie sicher, dass die Versionen identisch sind.
Aktualisieren Sie einfach die build.gradle
-Datei mit dieser: -
compile 'com.Android.support:animated-vector-drawable:25.3.1'
compile 'com.Android.support:mediarouter-v7:25.3.1'
Was Sie tun müssen, ist zu überprüfen, in welcher Version der Bibliotheksabhängigkeit ein Konflikt besteht. Sie können diese Bibliothek mit Ausführen von androidDependancies wie: verfolgen
und finden Sie diese widersprüchliche Abhängigkeit, und fügen Sie diese Abhängigkeiten mit aktualisierten Versionen in Ihre Gradel-Datei ein.
Fügen Sie am Ende diese Codezeile in Ihre build.gradle (Module:app)
-Datei ein:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.Android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '27.1.1'
}
}
}
}
Sie müssen useVersion
von '25 .3.1 'in Ihre aktuelle Version des Kompilierungs-/Implementierungs-SDKs ändern.
HINWEIS:
Wenn Sie weiterhin compile
in Ihrer build.gradle-Datei verwenden, ersetzen Sie sie durch implementation
oder api
, da die Unterstützung beim Kompilieren Ende 2018 offiziell beendet wird.
Für weitere Details verweisen Sie auf:
Fehler: wenn ich kompilieren mit Implementierung in Gradle (Abhängigkeit) ersetze
Was ist der Unterschied zwischen Implementierung und Kompilierung in Gradle
putten
// noinspection GradleCompatible
Mein Problem gelöst