Eine Bibliothek, die ich geschrieben habe, myLib
verwendet RemoteMessage
von Firebase
, die App selbst verwendet auch Firebase
.
Gradle verwenden 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
undtestApp\app> gradle clean assembleDebug
Mehr als eine Projektvariante: myLib entspricht den Verbraucherattributen:
- Konfiguration ': myLib: debugApiElements' Variante android-aidl:
- Artefakttyp 'android-aidl' gefunden, aber nicht erforderlich.
- Erforderlich com.android.build.api.attributes.BuildTypeAttr 'debug' und kompatibler Wert 'debug' gefunden.
- Com.android.build.api.attributes.VariantAttr 'debug' gefunden, aber nicht erforderlich.
- Erforderlich com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' und gefundener kompatibler Wert 'Aar'.
- Erforderlich org.gradle.usage 'java-api' und gefundener kompatibler Wert 'java-api'.
- Konfiguration ': myLib: debugApiElements' Variante Android-Klassen:
- Artefakttyp 'Android-Klassen' gefunden, aber nicht erforderlich.
- Erforderlich com.android.build.api.attributes.BuildTypeAttr 'debug' und kompatibler Wert 'debug' gefunden.
- Com.android.build.api.attributes.VariantAttr 'debug' gefunden, aber nicht erforderlich.
- Erforderlich com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' und gefundener kompatibler Wert 'Aar'.
- Erforderlich org.gradle.usage 'java-api' und gefundener kompatibler Wert 'java-api'.
- Konfiguration ': myLib: debugApiElements' Variante android-manifest:
- Artefakttyp 'Android-Manifest' gefunden, aber nicht erforderlich.
- Erforderlich com.android.build.api.attributes.BuildTypeAttr 'debug' und kompatibler Wert 'debug' gefunden.
- Com.android.build.api.attributes.VariantAttr 'debug' gefunden, aber nicht erforderlich.
- Erforderlich com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' und gefundener kompatibler Wert 'Aar'.
- Erforderlich org.gradle.usage 'java-api' und gefundener kompatibler Wert 'java-api'.
- Konfiguration ': myLib: debugApiElements' Variante android-renderscript:
- Artefakttyp 'android-renderscript' gefunden, aber nicht erforderlich.
- Erforderlich com.android.build.api.attributes.BuildTypeAttr 'debug' und kompatibler Wert 'debug' gefunden.
- Com.android.build.api.attributes.VariantAttr 'debug' gefunden, aber nicht erforderlich.
- Erforderlich com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' und gefundener kompatibler Wert 'Aar'.
- Erforderlich org.gradle.usage 'java-api' und gefundener kompatibler Wert 'java-api'.
- Konfiguration ': myLib: debugApiElements' Variante jar:
- Artefakttyp 'jar' gefunden, aber nicht erforderlich.
- Erforderlich com.android.build.api.attributes.BuildTypeAttr 'debug' und kompatibler Wert 'debug' gefunden.
- Com.android.build.api.attributes.VariantAttr 'debug' gefunden, aber nicht erforderlich.
- Erforderlich com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' und gefundener kompatibler Wert 'Aar'.
- Erforderlich org.gradle.usage 'java-api' und gefundener kompatibler Wert 'java-api'.
android
android-studio
gradle
android-gradle-plugin
theAnonymous
quelle
quelle
Antworten:
Das
google-services
Gradle-Plugin funktioniert mit Google Play Services und Firebase15+
, Sie verwenden es jedoch mit der Version12.0.1
.Die Lösung ist entweder:
15+
(beachten Sie, dass sie jetzt unterschiedliche Versionen haben).google-services
Upgrade auf ab,3.3.0
bis Sie ein Upgrade auf15+
das Gradle-Plugin auf die Version durchführen3.2.1
.BEARBEITEN 1 : Es ist ein Problem bei der Verwendung
google-services
3.3
in Multimodul-Apps bekannt . Das bedeutet, dass ein Downgrade aufgoogle-services
auf3.2.1
möglicherweise Ihre einzige Option ist, bis eine neue Version veröffentlicht wird, die den Fehler behebt.EDIT 2 : Der oben erwähnte Fehler wurde in der Version
4.0.1
desgoogle-services
Gradle Plugins behoben! (und die Version4.0.2
behebt auch eine NPE, die in einigen Fällen aufgetreten ist)Übrigens sollten Sie zu FCM wechseln. GCM wird in nicht allzu ferner Zukunft nicht mehr funktionieren.
quelle
Ich habe diesen Fehler erhalten, wenn ich Google-Dienste verwende: 3.3.0.
Downgrade auf
classpath 'com.google.gms:google-services:3.2.1'
in Ihrem Projekt .gradle.Es sollte das Problem lösen.
Update: Es sollte wahrscheinlich nicht in den aktuellen Versionen auftreten.
quelle
Beim Upgrade auf 3.3.1 mit ähnlichen Problemen konfrontiert
Es wurde durch Downgrade auf 3.2.1 behoben
Wir können die Firebase-Version> = 15 mit 3.2.1 verwenden
quelle
Die folgenden Schritte haben bei mir funktioniert ---
jcentre()
Methode.jcenter()
Methoden innerhalb des Blocks nach unten.quelle
Ich hatte in den letzten Tagen ein ähnliches Problem mit.
Lösung war entweder ein Downgrade auf
oder verlassen Sie Google Cloud Services und führen Sie ein vollständiges Upgrade auf FCM durch
Beachten Sie, dass sie unterschiedliche Versionsnummern haben. Sie können sie hier nachschlagen
quelle