Eine Bibliothek, die ich myLib
geschrieben habe, verwendet RemoteMessage
von Firebase
, die App selbst verwendet ebenfalls Firebase
.
Verwenden von Gradle 4.7. Auch in 4.4.1.
Wie man es repariert?
project.gradle
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.1.2'
classpath 'com.google.gms:google-services:3.3.0'
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
mavenLocal()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
app.gradle
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 27
defaultConfig {
applicationId "com.test.app"
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
dexOptions {
preDexLibraries = false
jumboMode = false
javaMaxHeapSize "2048M"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
productFlavors {
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.google.Android.gms:play-services-gcm:12.0.1'
implementation 'com.google.Android.gms:play-services:12.0.1'
implementation 'com.google.firebase:firebase-core:12.0.1'
implementation 'com.google.firebase:firebase-messaging:12.0.1'
implementation 'com.google.firebase:firebase-crash:12.0.1'
implementation project(":myLib")
}
apply plugin: 'com.google.gms.google-services'
myLib.gradle
apply plugin: 'com.Android.library'
Android {
compileSdkVersion 27
defaultConfig {
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.2'
implementation 'com.j256.ormlite:ormlite-core:5.0'
implementation 'com.j256.ormlite:ormlite-Android:5.0'
implementation 'com.google.firebase:firebase-messaging:12.0.1'
}
Fehlerausgabe von testApp\myLib> gradle clean assembleDebug
und testApp\app> gradle clean assembleDebug
Mehr als eine Projektvariante: myLib entspricht der Verbraucherattribute:
- Konfiguration ': myLib: debugApiElements-Variante Android-aidl:
- ArtefaktTyp 'Android-Hilfsmittel' gefunden, wurde aber nicht benötigt.
- Erforderlich com.Android.build.api.attributes.BuildTypeAttr 'debug' und der kompatible Wert 'debug'.
- Gefunden com.Android.build.api.attributes.VariantAttr 'debug', wurde aber nicht benötigt.
- Erforderlich com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' und kompatibler Wert 'Aar' gefunden.
- Erforderliche org.gradle.usage 'Java-api' und kompatibler Wert 'Java-api' gefunden.
- Konfiguration ': myLib: debugApiElements Variante Android-Klassen:
- ArtefaktTyp 'Android-Klassen' gefunden, wurde aber nicht benötigt.
- Erforderlich com.Android.build.api.attributes.BuildTypeAttr 'debug' und der kompatible Wert 'debug'.
- Gefunden com.Android.build.api.attributes.VariantAttr 'debug', wurde aber nicht benötigt.
- Erforderlich com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' und kompatibler Wert 'Aar' gefunden.
- Erforderliche org.gradle.usage 'Java-api' und kompatibler Wert 'Java-api' gefunden.
- Konfiguration ': myLib: debugApiElements Variante Android-Manifest:
- ArtefaktTyp 'Android-Manifest' gefunden, wurde aber nicht benötigt.
- Erforderlich com.Android.build.api.attributes.BuildTypeAttr 'debug' und der kompatible Wert 'debug'.
- Gefunden com.Android.build.api.attributes.VariantAttr 'debug', wurde aber nicht benötigt.
- Erforderlich com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' und kompatibler Wert 'Aar' gefunden.
- Erforderliche org.gradle.usage 'Java-api' und kompatibler Wert 'Java-api' gefunden.
- Konfiguration ': myLib: debugApiElements-Variante Android-Renderer:
- ArtefaktTyp 'Android-Rendering-Skript' gefunden, wurde aber nicht benötigt.
- Erforderlich com.Android.build.api.attributes.BuildTypeAttr 'debug' und der kompatible Wert 'debug'.
- Gefunden com.Android.build.api.attributes.VariantAttr 'debug', wurde aber nicht benötigt.
- Erforderlich com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' und kompatibler Wert 'Aar' gefunden.
- Erforderliche org.gradle.usage 'Java-api' und kompatibler Wert 'Java-api' gefunden.
- Konfiguration ': myLib: debugApiElements-Variante jar:
- ArtifactType 'jar' wurde gefunden, wurde aber nicht benötigt.
- Erforderlich com.Android.build.api.attributes.BuildTypeAttr 'debug' und der kompatible Wert 'debug'.
- Gefunden com.Android.build.api.attributes.VariantAttr 'debug', wurde aber nicht benötigt.
- Erforderlich com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' und kompatibler Wert 'Aar' gefunden.
- Erforderliche org.gradle.usage 'Java-api' und kompatibler Wert 'Java-api' gefunden.
Das google-services
-Gradle-Plugin kann mit Google Play Services und Firebase 15+
zusammenarbeiten, aber Sie verwenden es mit der Version 12.0.1
.
Die Lösung ist entweder
15+
(Beachten Sie, dass sie jetzt unterschiedliche Versionen haben)google-services
-Upgrade auf 3.3.0
ab, bis Sie ein Upgrade auf 15+
durchführen, d. H. Das Gradle-Plugin auf Version 3.2.1
herabstufen.EDIT 1: Es gibt ein bekanntes Problem bei der Verwendung von google-services
3.3
in Multimodul-Apps . Das bedeutet, dass ein Downgrade auf google-services
auf 3.2.1
Ihre einzige Option sein kann, bis eine neue Version veröffentlicht wird, die den Fehler behebt.
EDIT 2: Der oben genannte Fehler wurde in der Version 4.0.1
des google-services
Gradle Plugins behoben! (und die Version 4.0.2
behebt auch eine in einigen Fällen aufgetretene NPE)
BTW, Sie sollten zu FCM wechseln.GCM funktioniert in nicht allzu ferner Zukunft nicht mehr.
Ich habe diese Fehlermeldung erhalten, wenn ich Google-Services verwende: 3.3.0.
Downgrade auf classpath 'com.google.gms:google-services:3.2.1'
in Ihrem Projektgrad.
Es sollte das Problem lösen.
Konfrontiert mit einem ähnlichen Problem beim Upgrade auf 3.3.1
Behebung des Problems durch Herabstufung auf 3.2.1
Wir können die Firebase-Version> = 15 mit 3.2.1 verwenden
Folgende Schritte haben für mich gearbeitet ---
jcentre()
-Methode. jcenter()
-Methoden innerhalb ihres Blocks nach unten. Ich hatte in den letzten Tagen ein ähnliches Problem mit.
implementation 'com.google.Android.gms:play-services-auth:15.0.0'
implementation 'com.google.firebase:firebase-messaging:15.0.0'
lösung war, entweder zu downgraden
implementation 'com.google.Android.gms:play-services-auth:12.0.1'
implementation 'com.google.firebase:firebase-messaging:12.0.1'
oder ziehen Sie in Betracht, Google Cloud Services zu verlassen und vollständig auf FCM zu aktualisieren
Beachten Sie, dass sie unterschiedliche Versionsnummern haben, die Sie nachschlagen können hier