Android Studio: el tipo de programa ya está presente: com.google.android.gms.internal.measurement.zzwp

90

Ayer, mi aplicación funcionaba bien.

Hoy, no sé por qué, la aplicación ya no se compiló después de que volví a abrir Android Studio.

El error mostrado es

Program type already present: com.google.android.gms.internal.measurement.zzwp
Message{kind=ERROR, text=Program type already present: com.google.android.gms.internal.measurement.zzwp, sources=[Unknown source file], tool name=Optional.of(D8)}

Realmente no sé qué está pasando, he buscado todo y nada funcionó. Si alguien pudiera ayudarme, se lo agradecería mucho. Cambio todas las dependencias y bibliotecas para intentar resolverlo, pero nada funcionó.

Aquí está el proyecto build.gradle

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.1'
        classpath 'com.google.gms:google-services:3.2.1'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Y este es mi módulo build.gradle: aplicación

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.doctordirectory"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    maven { url "https://jitpack.io" }
}

dependencies {
    implementation fileTree(dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'

    implementation ('com.facebook.android:audience-network-sdk:4.28.0',{
        exclude group: 'com.google.android.gms'
    })
    implementation 'com.facebook.android:facebook-login:4.32.0'
    implementation 'com.android.support:multidex:1.0.3'

    implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'

    implementation 'com.android.support:support-v4:27.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.google.firebase:firebase-core:15.0.0'
    implementation 'com.google.firebase:firebase-database:15.0.0'
    implementation 'com.google.firebase:firebase-crash:15.0.0'
    implementation 'com.google.firebase:firebase-auth:15.0.0'
    implementation 'com.google.firebase:firebase-storage:15.0.0'
    implementation 'com.firebaseui:firebase-ui-database:3.3.1'

    implementation 'com.google.android.gms:play-services-auth:15.0.0'
    implementation 'com.google.android.gms:play-services-plus:15.0.0'
    implementation 'com.google.android.gms:play-services-location:15.0.0'

    implementation 'com.android.support:cardview-v7:27.1.0'
    implementation 'com.android.support:recyclerview-v7:27.1.0'

    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'

    implementation 'com.stepstone.apprating:app-rating:2.2.0'
    implementation 'com.android.support:design:27.1.0'
    implementation 'com.android.support:design:27.1.0'
    implementation 'com.github.lguipeng:BubbleView:1.0.1'

    implementation 'uk.co.chrisjenx:calligraphy:2.3.0'

    implementation 'com.miguelcatalan:materialsearchview:1.4.0'

    implementation 'com.github.MdFarhanRaja:SearchableSpinner:1.9'

    implementation 'com.github.sillebille:dynamic-calendar:1.0.1'

    implementation 'com.google.api-client:google-api-client:1.22.0'
    implementation 'com.google.api-client:google-api-client-android:1.22.0'
    implementation 'com.google.apis:google-api-services-people:v1-rev4-1.22.0'
}

apply plugin: 'com.google.gms.google-services'
Caio Araújo
fuente
2
Esta debe ser la razón por la que a la gente no le gustan las dependencias de actualización automática ...
user253751
1
@immibis No te entendí. ¿Quisiste decir que firebase se actualiza automáticamente a pesar de que mencionamos versiones específicas?
rpattabi

Respuestas:

95

Se resolvió este problema después de actualizar firebase dependenciesa uno más reciente, por ejemplo, com.google.firebase:firebase-core:15.0.0para com.google.firebase:firebase-core:15.0.2 obtener la lista más reciente desde aquí

Todos los demás cambios realizados en la siguiente lista

  dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support:customtabs:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.0'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

        implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'

        implementation 'com.facebook.android:audience-network-sdk:4.28.0'
        implementation 'com.facebook.android:facebook-login:4.32.0'
        implementation 'com.android.support:multidex:1.0.3'

        implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'

        implementation 'com.android.support:support-v4:27.1.1'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

        implementation 'com.google.firebase:firebase-core:15.0.2'
        implementation 'com.google.firebase:firebase-database:15.0.0'
        implementation 'com.google.firebase:firebase-crash:15.0.2'
        implementation 'com.google.firebase:firebase-auth:15.0.0'
        implementation 'com.google.firebase:firebase-storage:15.0.2'
        implementation 'com.firebaseui:firebase-ui-database:3.3.1'

        implementation 'com.google.android.gms:play-services-auth:15.0.0'
        implementation 'com.google.android.gms:play-services-plus:15.0.0'
        implementation 'com.google.android.gms:play-services-location:15.0.0'

        implementation 'com.android.support:cardview-v7:27.1.1'
        implementation 'com.android.support:recyclerview-v7:27.1.1'

        implementation 'com.squareup.picasso:picasso:2.5.2'
        implementation 'com.squareup.retrofit2:retrofit:2.3.0'
        implementation 'com.squareup.retrofit2:converter-gson:2.3.0'

        implementation 'com.stepstone.apprating:app-rating:2.2.0'
        implementation 'com.android.support:design:27.1.1'
        implementation 'com.github.lguipeng:BubbleView:1.0.1'

        implementation 'uk.co.chrisjenx:calligraphy:2.3.0'

        implementation 'com.miguelcatalan:materialsearchview:1.4.0'

        implementation 'com.github.MdFarhanRaja:SearchableSpinner:1.9'

        implementation 'com.github.sillebille:dynamic-calendar:1.0.1'

        implementation 'com.google.api-client:google-api-client:1.22.0'
        implementation 'com.google.api-client:google-api-client-android:1.22.0'
        implementation 'com.google.apis:google-api-services-people:v1-rev4-1.22.0'
    }

2) En el nivel superior, actualice el archivo build.gradle de classpath 'com.google.gms:google-services:3.1.1aclasspath 'com.google.gms:google-services:3.2.1

MJM
fuente
5
Esta solución funciona. Firebase ahora está distribuyendo sus paquetes con números de versión independientes, asegúrese de que todos los paquetes en build.gradle sean los más recientes.
Tri Nguyen
Funcionó. Muchas gracias. Intenté actualizar las cosas, pero nunca imaginé que la base de fuego cambiara eso. Gracias.
Caio Araújo
Es bueno que haya editado y agregado la segunda parte de mi respuesta, porque su respuesta es aceptada;)
Ragaisis
Yo también tengo otro tipo de problema "El tipo de programa ya está presente: org.apache.http.io.HttpMessageParser Mensaje {kind = ERROR, text = El tipo de programa ya está presente: org.apache.http.io.HttpMessageParser, sources = [Fuente desconocida file], nombre de la herramienta = Optional.of (D8)}, "estoy usando la última versión de firebase y la última versión de soporte, bibliotecas de diseño, también build.gradle de mi proyecto contiene classpath 'com.android.tools.build:gradle:3.1 0,2' ruta de clase 'com.google.gms: google-services: 4.0.0', se sigue produciendo tema ..
inmutables
1
He visto a lo largo del tiempo que la mejor solución es actualizar estas dependencias a la última versión que aparece EN SU SITIO, no a la última que aparece en el archivo gradle
Razvan
21

También tengo este error y mi solución a este problema

1) Actualice la versión de Firbase para que sea independiente de la versión de los servicios de Google Play

implementation "com.google.firebase:firebase-messaging:15.0.2"

Puede consultar la última versión aquí https://firebase.google.com/support/release-notes/android#latest_sdk_versions

2) En el archivo build.gradle de nivel superior, actualice los servicios de Google de 3.1.1 a 3. 2 .1

buildscript {
    dependencies {

        classpath 'com.google.gms:google-services:3.2.1'

    }
 }
Ragaisis
fuente
12

Yo solo cambio

implementation 'com.google.firebase:firebase-crash:15.0.0'

a

implementation 'com.google.firebase:firebase-crash:15.0.2'

funciona.

Richard Hsieh
fuente
7

Firebase es la razón por la que están actualizando los números de versión como si no les importaran los desarrolladores.

Lo primero es lo primero. Actualizar la ruta de clase en el nivel de proyecto gradle

dependencies {

        classpath 'com.google.gms:google-services:3.2.1'

    }

A continuación, sean cuales sean las herramientas que esté utilizando, como análisis, enlaces dinámicos, etc. Utilice la dependencia versionada adecuada.

https://firebase.google.com/support/release-notes/android

En mi caso, estaba usando pruebas A / B a través de la configuración remota, así que necesito actualizarlo desde

implementation 'com.google.firebase:firebase-config:15.0.0'

a

implementation 'com.google.firebase:firebase-config:15.0.2'

Esto debería funcionar sin ningún problema. Y también, publique este tipo de problemas en Firebase para que no hagan este tipo de cambios sin previo aviso o sin la documentación adecuada.

Ashok Kumar S
fuente
2
"Firebase es la razón por la que están actualizando los números de versión como si no les importaran los desarrolladores". Bien dicho 👌
Lenin Raj Rajasekaran
6

Actualiza las dependencias de tu base de fuego.

1. Nivel de proyecto build.gradle

Actualice la google.gmsversión a la última. Seguimiento del último lanzamiento . En el momento de la respuesta, el último es 4.1.0.

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:4.1.0' // google-services plugin
    }
}

allprojects {
    // ...
    repositories {
        // ...
        google() // Google's Maven repository
    }
}

2. Nivel de aplicación build.gradle

Actualice a continuación la dependencia si usa alguna. Tenga en cuenta que firebase tiene versiones individuales para cada dependencia ahora.

Utilice las últimas bibliotecas de Firebase . En el momento de la respuesta, las últimas versiones se encuentran a continuación.

Firebase Core                com.google.firebase:firebase-core:16.0.3
Ads                          com.google.firebase:firebase-ads:15.0.1
Analytics                    com.google.firebase:firebase-analytics:16.0.3
App Indexing                 com.google.firebase:firebase-appindexing:16.0.1
Authentication               com.google.firebase:firebase-auth:16.0.3
Cloud Firestore              com.google.firebase:firebase-firestore:17.1.0
Cloud Functions              com.google.firebase:firebase-functions:16.1.0
Cloud Messaging              com.google.firebase:firebase-messaging:17.3.2
Cloud Storage   c            om.google.firebase:firebase-storage:16.0.2
Crash Reporting              com.google.firebase:firebase-crash:16.2.0
Crashlytics                  com.crashlytics.sdk.android:crashlytics:2.9.5
Dynamic Links                com.google.firebase:firebase-dynamic-links:16.1.1
Invites                      com.google.firebase:firebase-invites:16.0.3
In-App Messaging             com.google.firebase:firebase-inappmessaging:17.0.1
In-App Messaging Display     com.google.firebase:firebase-inappmessaging-display:17.0.1
ML Kit: Model Interpreter    com.google.firebase:firebase-ml-model-interpreter:16.2.0
ML Kit: Vision               com.google.firebase:firebase-ml-vision:17.0.0
ML Kit: Image Labeling       com.google.firebase:firebase-ml-vision-image-label-model:15.0.0
Performance Monitoring       com.google.firebase:firebase-perf:16.1.0
Realtime Database            com.google.firebase:firebase-database:16.0.2
Remote Config                com.google.firebase:firebase-config:16.0.0

3. No olvide el complemento de Google

Además, no olvide agregar apply plugin: 'com.google.gms.google-services'en la parte inferior del nivel de la aplicación build.gradle.

Sincronizar y compilar ...

Khemraj
fuente
1
Buenos consejos sobre cómo comprobar las últimas versiones. Prefiero usar bintray.com/android/android-tools/… para verificar la última versión de google-services. La página mvn es muy confusa con sus secciones Centraly Springs Plugins.
Sébastien
5

Elimine la dependencia que contiene "com.google.android.gms" y luego intente reconstruir el proyecto ... debe presionar y probar porque hay alguna dependencia que se usa dos veces allí

Por ejemplo com.android.support:designtwise añadido

Arul Harsh
fuente
4

Esto sucedió conmigo después de agregar la última versión de Firebase Analitycs, así

implementation "com.google.firebase:firebase-core:16.0.5"

cambiar la versión a 16.0.4 ayudó

implementation "com.google.firebase:firebase-core:16.0.4"
snersesyan
fuente
2

Para mí, el problema parecía ser causado por las herramientas de compilación de Android

Para solucionarlo, tuve que degradarlos en el build.gradlearchivo de nivel superior de proyectos mu

-        classpath 'com.android.tools.build:gradle:3.1.0'
+        classpath 'com.android.tools.build:gradle:3.0.1'

Soy consciente de que esta no es la mejor solución, pero hasta ahora es la única que funcionó para mí.

EDITAR: Alternativamente, agregue android.enableD8=falsea su gradle.propertiesarchivo de proyecto

RWIL
fuente
2

Comentar la siguiente dependencia solucionó el problema para mí:

implementation 'com.google.android.gms:play-services-analytics::16.0.7'
Patrick Goley
fuente
2
allprojects {
    repositories {
    //start here
    configurations.all {
 resolutionStrategy.eachDependency { DependencyResolveDetails details ->
   def requested = details.requested
       if (requested.group == 'com.google.android.gms') {
          details.useVersion '12.0.1'
       }
       if (requested.group == 'com.google.firebase') {
          details.useVersion '12.0.1'
         }
       }
     }
    //end
     jcenter()
       maven {
         url "https://maven.google.com"
       }
     }
 }
lakshman bodduluru
fuente
1

Ok, espera un segundo. Verifiqué que no todas las bibliotecas de Firebase necesitan esa versión. Las versiones ahora están desalineadas. De hecho, en la página oficial se informa que algunos están en 15.1.0 en lugar de 15.0.2;

Quizás vea directamente aquí si puede ser útil:

https://firebase.google.com/docs/android/setup

AlexPad
fuente
0

Si tiene otros problemas que bloquean la compilación, intente actualizar la dependencia de los servicios de Google a 3.2.0 . Para mí, al menos, 3.2.1 y 3.3.0 estaban causando problemas y 3.2.0 fue el que funcionó.

najm
fuente
pero pensé que se requiere 3.2.1 para construir crashlytics.
j2emanue
@ j2emanue Personalmente no estoy usando Crashlytics, así que no puedo confirmarlo, pero tanto 3.2.1 como 3.3.0 impedían la compilación de otras dependencias.
najm