92 votes

Android Studio- Type de programme déjà présent : com.google.Android.gms.internal.measurement.zzwp

Hier, mon application fonctionnait bien.

Aujourd'hui, je ne sais pas pourquoi, l'application n'a plus compilé après avoir rouvert Android Studio.

L'erreur affichée est

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)}

Je ne sais vraiment pas ce qui se passe, j'ai tout cherché et rien n'a fonctionné. Si quelqu'un pouvait m'aider, j'apprécierais vraiment. J'ai changé toutes les dépendances et bibliothèques pour essayer de le résoudre, mais rien n'a fonctionné.

Voici le projet 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
}

Et voici mon build.gradle Module:app

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'

0 votes

2 votes

Cela doit être la raison pour laquelle les gens n'aiment pas les mises à jour automatiques des dépendances...

1 votes

@immibis Je ne vous ai pas compris. Voulez-vous dire que Firebase se met à jour automatiquement même si nous avons mentionné des versions spécifiques ?

95voto

MJM Points 3407

Ce problème a été résolu après la mise à jour d'une firebase dependencies au dernier en date, par exemple com.google.firebase:firebase-core:15.0.0 a com.google.firebase:firebase-core:15.0.2 Obtenez la dernière liste ici

Toutes les autres modifications apportées dans la liste ci-dessous

  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) Dans le fichier build.gradle de niveau supérieur, mettez à jour de classpath 'com.google.gms:google-services:3.1.1 a classpath 'com.google.gms:google-services:3.2.1

5 votes

Cette solution fonctionne. Firebase distribue maintenant ses paquets avec des numéros de version indépendants, assurez-vous que tous les paquets sur build.gradle sont les plus récents.

0 votes

Ça a marché. Merci beaucoup. J'ai essayé de mettre à jour les choses, mais je n'avais jamais imaginé que firebase avait changé cela. Merci.

0 votes

C'est bien que vous ayez modifié et ajouté la deuxième partie de ma réponse, car votre réponse est acceptée ;)

21voto

Ragaisis Points 1850

J'ai eu cette erreur aussi et ma solution à ce problème

1) Mettre à jour la version de Firbase pour qu'elle soit indépendante de la version des services Google Play

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

Vous pouvez vérifier la dernière version ici https://firebase.google.com/support/release-notes/Android#latest_sdk_versions

2) Dans le fichier build.gradle de niveau supérieur, mettez à jour google-services de 3.1.1 à 3. 2 .1

buildscript {
    dependencies {

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

    }
 }

12voto

Richard Hsieh Points 131

Je change juste

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

à

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

ça marche.

7voto

Ashok Kumar S Points 136

Firebase est la raison pour laquelle ils mettent à jour les numéros de version comme s'ils ne se souciaient pas des développeurs.

Chaque chose en son temps. Mettez à jour le classpath au niveau du projet gradle

dependencies {

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

    }

Ensuite, quels que soient les outils que vous utilisez, comme les analyses, les liens dynamiques, etc. Utilisez la dépendance versionnée appropriée.

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

Dans mon cas, j'utilisais le test A/B par le biais d'une configuration à distance, je dois donc la mettre à jour à partir de

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

à

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

Cela devrait fonctionner sans problème. Et aussi, s'il vous plaît, postez ce genre de problèmes à Firebase afin qu'ils ne fassent pas ce genre de changements sans avertissement ou sans une documentation appropriée.

2 votes

"Firebase est la raison pour laquelle ils mettent à jour les numéros de version comme s'ils ne se souciaient pas des développeurs." Bien dit

5voto

Arul Harsh Points 120

Supprimez la dépendance qui contient "com.google.Android.gms" et essayez ensuite de reconstruire le projet ... vous devez faire un hit n try parce qu'il y a une certaine dépendance qui utilise deux fois là.

Par exemple com.android.support:design ajouté twise

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X