Android Studio- Tipo di programma già presente: com.google.android.gms.internal.measurement.zzwp


90

Ieri la mia app funzionava bene.

Oggi, non so perché, l'app non si è più compilata dopo aver riaperto Android Studio.

L'errore mostrato è

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

Non so davvero cosa stia succedendo, ho cercato tutto e niente ha funzionato. Se qualcuno potesse aiutarmi, lo apprezzerei davvero. Ho cambiato tutte le dipendenze e le librerie per provare a risolverlo, ma non ha funzionato nulla.

Ecco il progetto 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
}

E questo è il mio modulo build.gradle: 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'


2
Questo deve essere il motivo per cui alle persone non piacciono le dipendenze con aggiornamento automatico ...
user253751

1
@immibis Non ti ho capito. Volevi dire che Firebase si aggiorna automaticamente anche se abbiamo menzionato versioni specifiche?
rpattabi

Risposte:


95

È stato risolto questo problema dopo aver aggiornato firebase dependenciesa uno più recente, ad esempio com.google.firebase:firebase-core:15.0.0per com.google.firebase:firebase-core:15.0.2 ottenere l'elenco più recente da qui

Tutte le altre modifiche apportate nell'elenco seguente

  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) Nell'aggiornamento del file build.gradle di primo livello da classpath 'com.google.gms:google-services:3.1.1aclasspath 'com.google.gms:google-services:3.2.1


5
Questa soluzione funziona. Firebase sta ora distribuendo i propri pacchetti con numeri di versione indipendenti, assicurarsi che tutti i pacchetti su build.gradle siano gli ultimi.
Tri Nguyen

Ha funzionato. Grazie mille Ho provato ad aggiornare le cose, ma non avrei mai immaginato che Firebase lo avesse cambiato. Grazie.
Caio Araújo

È positivo che tu abbia modificato e aggiunto la seconda parte della mia risposta, perché la tua risposta è stata accettata;)
Ragaisis

Anch'io ho un altro tipo di problema "Tipo di programma già presente: org.apache.http.io.HttpMessageParser Message {kind = ERROR, text = Tipo di programma già presente: org.apache.http.io.HttpMessageParser, sources = [Unknown source file], tool name = Optional.of (D8)}, "m utilizzando l'ultima versione di Firebase e l'ultima versione del supporto, librerie di progettazione, inoltre il build.gradle del mio progetto contiene classpath 'com.android.tools.build:gradle:3.1 .2 "classpath" com.google.gms: google-services: 4.0.0 ", il problema persiste ..
immutabile

1
Ho visto nel tempo che la soluzione migliore è aggiornare queste dipendenze all'ultima versione che appare SUL LORO SITO, non l'ultima che appare nel file gradle
Razvan

21

Ho anche questo errore e la mia soluzione a questo problema

1) Aggiorna la versione di Firbase per essere indipendente dalla versione dei servizi di Google Play

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

Puoi controllare l'ultima versione qui https://firebase.google.com/support/release-notes/android#latest_sdk_versions

2) Nel file build.gradle di primo livello aggiorna google-services da 3.1.1 a 3. 2 .1

buildscript {
    dependencies {

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

    }
 }

12

Mi limito a cambiare

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

per

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

Funziona.


7

Firebase è il motivo per cui stanno aggiornando i numeri di versione come se non si preoccupassero degli sviluppatori.

Cominciando dall'inizio. Aggiorna il percorso di classe in gradle a livello di progetto

dependencies {

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

    }

Successivamente, qualunque sia gli strumenti che potresti utilizzare come analisi, collegamenti dinamici e così via. Utilizzare la dipendenza con versione appropriata.

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

Nel mio caso, stavo usando il test A / B tramite configurazione remota, quindi ho bisogno di aggiornarlo da

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

per

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

Questo dovrebbe funzionare senza alcun problema tecnico. Inoltre, pubblica questo tipo di problemi su Firebase in modo che non apporti questo tipo di modifiche senza preavviso o senza una documentazione adeguata.


2
"Firebase è il motivo per cui stanno aggiornando i numeri di versione come se non si preoccupassero degli sviluppatori". Ben detto 👌
Lenin Raj Rajasekaran

6

Aggiorna le tue dipendenze Firebase.

1. Build.gradle a livello di progetto

Aggiorna la google.gmsversione all'ultima. Tieni traccia dell'ultima versione . Al momento della risposta, l'ultima è 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. Livello app build.gradle

Aggiorna sotto la dipendenza se ne usi. Tieni presente che Firebase ha versioni individuali per ogni dipendenza ora.

Usa le ultime librerie Firebase . Al momento della risposta le ultime versioni sono di seguito.

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. Non dimenticare il plugin di Google

Inoltre, non dimenticare di aggiungere apply plugin: 'com.google.gms.google-services'in fondo al livello dell'app build.gradle.

Sincronizza e crea ...


1
Ottimi suggerimenti per controllare le ultime versioni. Preferisco usare bintray.com/android/android-tools/… per controllare l'ultima versione di google-services. La pagina mvn è molto confusa con le sue sezioni Centrale Springs Plugins.
Sébastien

5

Rimuovi la dipendenza che contiene "com.google.android.gms" e poi prova a ricostruire il progetto ... devi premere e provare perché c'è una dipendenza che usa due volte lì

Ad esempio, com.android.support:designtwise aggiunto



4

Questo è successo con me dopo aver aggiunto Firebase Analitycs l'ultima versione, come questa

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

cambiare la versione alla 16.0.4 ha aiutato

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

2

Per me il problema sembrava essere causato dagli strumenti di build di Android

Per risolvere il problema, ho dovuto eseguire il downgrade di questi nel build.gradlefile di primo livello dei progetti mu

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

Sono consapevole che questa non è la soluzione migliore, ma finora l'unica cosa che ha funzionato per me.

EDIT: in alternativa, aggiungi android.enableD8=falseal gradle.propertiesfile del tuo progetto


2

Commentare la seguente dipendenza ha risolto il problema per me:

implementation 'com.google.android.gms:play-services-analytics::16.0.7'

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

1

Ok, aspetta un secondo. Ho verificato che non tutte le librerie Firebase necessitano di quella versione. Le versioni ora sono disallineate. Infatti sulla pagina ufficiale si riporta che alcuni sono a 15.1.0 invece che a 15.0.2;

Magari vedi direttamente qui se può essere utile:

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



0

Se riscontri altri problemi che bloccano la compilazione, prova ad aggiornare la dipendenza dei servizi Google a 3.2.0 . Per me, almeno, 3.2.1 e 3.3.0 stavano causando problemi e 3.2.0 era quello che funzionava.


ma ho pensato che 3.2.1 è necessario per creare crashlytics?
j2emanue

@ j2emanue Personalmente non sto usando Crashlytics quindi non posso confermare ma sia 3.2.1 che 3.3.0 impedivano la compilazione di altre dipendenze.
najm
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.