Una biblioteca que escribí myLib
usos RemoteMessage
de Firebase
, la propia aplicación también utiliza Firebase
.
Usando gradle 4.7. También enfrentando esto en 4.4.1.
¿Como arreglarlo?
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'
}
Salida de error de testApp\myLib> gradle clean assembleDebug
ytestApp\app> gradle clean assembleDebug
Más de una variante del proyecto: myLib coincide con los atributos del consumidor:
- Configuración ': myLib: debugApiElements' variante android-aidl:
- Se encontró artifactType 'android-aidl' pero no era necesario.
- Se requiere com.android.build.api.attributes.BuildTypeAttr 'debug' y se encontró un valor compatible 'debug'.
- Se encontró com.android.build.api.attributes.VariantAttr 'debug' pero no era necesario.
- Se requiere com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' y se encontró el valor compatible 'Aar'.
- Se requiere org.gradle.usage 'java-api' y se encontró un valor compatible 'java-api'.
- Configuración ': myLib: debugApiElements' variantes de android-classes:
- Se encontró artifactType 'android-classes' pero no era necesario.
- Se requiere com.android.build.api.attributes.BuildTypeAttr 'debug' y se encontró un valor compatible 'debug'.
- Se encontró com.android.build.api.attributes.VariantAttr 'debug' pero no era necesario.
- Se requiere com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' y se encontró el valor compatible 'Aar'.
- Se requiere org.gradle.usage 'java-api' y se encontró un valor compatible 'java-api'.
- Configuración ': myLib: debugApiElements' variante android-manifest:
- Se encontró artifactType 'android-manifest' pero no era necesario.
- Se requiere com.android.build.api.attributes.BuildTypeAttr 'debug' y se encontró un valor compatible 'debug'.
- Se encontró com.android.build.api.attributes.VariantAttr 'debug' pero no era necesario.
- Se requiere com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' y se encontró el valor compatible 'Aar'.
- Se requiere org.gradle.usage 'java-api' y se encontró un valor compatible 'java-api'.
- Configuración ': myLib: debugApiElements' variante android-renderscript:
- Se encontró artifactType 'android-renderscript' pero no era necesario.
- Se requiere com.android.build.api.attributes.BuildTypeAttr 'debug' y se encontró un valor compatible 'debug'.
- Se encontró com.android.build.api.attributes.VariantAttr 'debug' pero no era necesario.
- Se requiere com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' y se encontró el valor compatible 'Aar'.
- Se requiere org.gradle.usage 'java-api' y se encontró un valor compatible 'java-api'.
- Configuración ': myLib: debugApiElements' variante jar:
- Se encontró artifactType 'jar' pero no era necesario.
- Se requiere com.android.build.api.attributes.BuildTypeAttr 'debug' y se encontró un valor compatible 'debug'.
- Se encontró com.android.build.api.attributes.VariantAttr 'debug' pero no era necesario.
- Se requiere com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' y se encontró el valor compatible 'Aar'.
- Se requiere org.gradle.usage 'java-api' y se encontró un valor compatible 'java-api'.
android
android-studio
gradle
android-gradle-plugin
El anónimo
fuente
fuente
Respuestas:
El
google-services
complemento de gradle está diseñado para funcionar con Google Play Services y Firebase15+
, pero lo está usando con la versión12.0.1
.La solución es:
15+
(tenga en cuenta que ahora tienen versiones diferentes)google-services
actualización a3.3.0
hasta que actualice a15+
, es decir, degradar el complemento de gradle a la versión3.2.1
.EDITAR 1 : Hay un problema conocido sobre el uso
google-services
3.3
en aplicaciones de varios módulos . Eso significa que la degradación agoogle-services
a3.2.1
puede ser su única opción hasta que se publique una nueva versión que corrija el error.EDITAR 2 : ¡El error mencionado anteriormente se ha corregido en la versión
4.0.1
delgoogle-services
complemento de gradle! (y la versión4.0.2
también corrige una NPE que ocurrió en algunos casos)Por cierto, deberías cambiarte a FCM. GCM dejará de funcionar en un futuro no muy lejano.
fuente
Recibí este error cuando uso los servicios de Google: 3.3.0.
Cambie a
classpath 'com.google.gms:google-services:3.2.1'
en su proyecto .gradle.Debería resolver el problema.
Actualización: probablemente no debería ocurrir en las versiones actuales.
fuente
Se enfrentó a un problema similar al actualizar a 3.3.1
Se corrigió degradando a 3.2.1
Podemos usar la versión de base de fuego> = 15 con 3.2.1
fuente
Los siguientes pasos funcionaron para mí ---
jcentre()
método.jcenter()
métodos al final dentro de su bloque.fuente
Enfrenté un problema similar en los últimos días con.
implementation 'com.google.android.gms:play-services-auth:15.0.0' implementation 'com.google.firebase:firebase-messaging:15.0.0'
La solución era bajar de categoría a
implementation 'com.google.android.gms:play-services-auth:12.0.1' implementation 'com.google.firebase:firebase-messaging:12.0.1'
o considere dejar los servicios de Google Cloud y actualizarse a FCM por completo
Tenga en cuenta que tienen diferentes números de versión, puede buscarlo aquí
fuente