Android Studio- Programmtyp bereits vorhanden: com.google.android.gms.internal.measurement.zzwp

89

Gestern hat meine App gut funktioniert.

Heute weiß ich nicht warum, die App wurde nicht mehr kompiliert, nachdem ich das Android Studio wieder geöffnet hatte.

Der angezeigte Fehler ist

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

Ich weiß wirklich nicht, was los ist, ich habe alles durchsucht und nichts hat funktioniert. Wenn mir jemand helfen könnte, würde ich mich sehr freuen. Ich ändere alle Abhängigkeiten und Bibliotheken, um zu versuchen, es zu lösen, aber nichts hat funktioniert.

Hier ist build.gradle Project

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
}

Und das ist mein build.gradle-Modul: 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'
Caio Araújo
quelle
2
Dies muss der Grund sein, warum Leute es nicht mögen, Abhängigkeiten automatisch zu aktualisieren ...
user253751
1
@immibis Hab dich nicht verstanden. Meinten Sie, dass Firebase automatisch aktualisiert wird, obwohl wir bestimmte Versionen erwähnt haben?
Rpattabi

Antworten:

95

Dieses Problem wurde behoben, nachdem ein Update firebase dependenciesauf das neueste aktualisiert wurde , z. B. com.google.firebase:firebase-core:15.0.0um die com.google.firebase:firebase-core:15.0.2 neueste Liste von hier abzurufen

Alle anderen in der folgenden Liste vorgenommenen Änderungen

  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) Aktualisieren Sie die Datei build.gradle auf oberster Ebene von classpath 'com.google.gms:google-services:3.1.1bisclasspath 'com.google.gms:google-services:3.2.1

MJM
quelle
5
Diese Lösung funktioniert. Firebase verteilt jetzt seine Pakete mit unabhängigen Versionsnummern. Stellen Sie sicher, dass alle Pakete auf build.gradle die neuesten sind.
Tri Nguyen
Es funktionierte. Vielen Dank. Ich habe versucht, Dinge zu aktualisieren, aber ich hätte nie gedacht, dass Firebase das ändert. Danke dir.
Caio Araújo
Es ist gut, dass Sie den zweiten Teil meiner Antwort bearbeitet und hinzugefügt haben, da Ihre Antwort akzeptiert wird;)
Ragaisis
Ich habe auch eine andere Art von Problem "Programmtyp bereits vorhanden: org.apache.http.io.HttpMessageParser Nachricht {kind = ERROR, text = Programmtyp bereits vorhanden: org.apache.http.io.HttpMessageParser, sources = [Unbekannte Quelle file], tool name = Optional.of (D8)}, "Ich verwende die neueste Version von firebase und die neueste Version der Unterstützung, Designbibliotheken. Außerdem enthält build.gradle meines Projekts den Klassenpfad 'com.android.tools.build:gradle:3.1 .2 'Klassenpfad' com.google.gms: google-services: 4.0.0 ', immer noch Problem auftritt ..
unveränderlich
1
Ich habe im Laufe der Zeit gesehen, dass die beste Lösung darin besteht, diese Abhängigkeiten auf die neueste Version zu aktualisieren, die auf IHRER WEBSITE erscheint, nicht auf die neueste, die in der Gradle-Datei erscheint
Razvan
21

Ich habe auch diesen Fehler und meine Lösung für dieses Problem

1) Aktualisieren Sie die Firbase-Version so, dass sie unabhängig von der Version der Google Play-Dienste ist

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

Sie können die neueste Version hier https://firebase.google.com/support/release-notes/android#latest_sdk_versions überprüfen

2) Aktualisieren Sie in der Datei build.gradle der obersten Ebene die Google-Dienste von 3.1.1 auf 3. 2 .1

buildscript {
    dependencies {

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

    }
 }
Ragaisis
quelle
12

Ich ändere mich einfach

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

zu

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

Es klappt.

Richard Hsieh
quelle
7

Firebase ist der Grund, warum sie Versionsnummern aktualisieren, als ob sie sich nicht um die Entwickler kümmern.

Das wichtigste zuerst. Aktualisieren Sie den Klassenpfad in Gradle auf Projektebene

dependencies {

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

    }

Als Nächstes unabhängig von den Tools, die Sie möglicherweise verwenden, z. B. Analysen, dynamische Links usw. Verwenden Sie die entsprechende versionierte Abhängigkeit.

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

In meinem Fall habe ich A / B-Tests über die Remote-Konfiguration verwendet, daher muss ich sie von aktualisieren

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

zu

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

Dies sollte ohne Störungen funktionieren. Bitte senden Sie diese Art von Problemen auch an Firebase, damit diese Art von Änderungen nicht ohne Heads-up oder ohne ordnungsgemäße Dokumentation vorgenommen werden.

Ashok Kumar S.
quelle
2
"Firebase ist der Grund, warum sie Versionsnummern aktualisieren, als ob sie sich nicht um die Entwickler kümmern." Schön gesagt Len
Lenin Raj Rajasekaran
6

Aktualisieren Sie Ihre Firebase-Abhängigkeiten.

1. build.gradle auf Projektebene

Aktualisieren Sie die google.gmsVersion auf den neuesten Stand. Verfolgen Sie die neueste Version . Zum Zeitpunkt der Antwort ist spätestens 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. App-Ebene build.gradle

Aktualisieren Sie die unten stehende Abhängigkeit, falls Sie eine verwenden. Beachten Sie, dass Firebase jetzt für jede Abhängigkeit individuelle Versionen hat.

Verwenden Sie die neuesten Firebase-Bibliotheken . Zum Zeitpunkt der Antwort sind die neuesten Versionen unten aufgeführt.

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. Vergessen Sie nicht das Google Plugin

Vergessen Sie auch nicht, apply plugin: 'com.google.gms.google-services'build.gradle am Ende der App-Ebene hinzuzufügen.

Synchronisieren und erstellen ...

Khemraj
quelle
1
Nette Tipps zum Überprüfen der neuesten Versionen. Ich bevorzuge die Verwendung von bintray.com/android/android-tools/… , um die neueste Version von zu überprüfen google-services. Die MVN-Seite ist sehr verwirrend mit ihren Centralund Springs PluginsAbschnitten.
Sébastien
5

Entfernen Sie die Abhängigkeit, die "com.google.android.gms" enthält, und versuchen Sie dann, das Projekt neu zu erstellen

Zum Beispiel com.android.support:designTwise hinzugefügt

Arul Harsh
quelle
4

Dies geschah bei mir, nachdem ich die letzte Version von firebase analitycs hinzugefügt hatte

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

Das Ändern der Version auf 16.0.4 hat geholfen

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

Für mich schien das Problem durch die Android Build Tools verursacht zu werden

Um dies zu beheben, musste ich diese in der Top-Level- build.gradleDatei von mu-Projekten herunterstufen

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

Ich bin mir bewusst, dass dies nicht die beste Lösung ist, aber bisher das einzige, was für mich funktioniert hat.

EDIT: Alternativ fügen Sie android.enableD8=falsezu einem Projekt - gradle.propertiesDatei

RWIL
quelle
2

Das Auskommentieren der folgenden Abhängigkeit hat das Problem für mich behoben:

implementation 'com.google.android.gms:play-services-analytics::16.0.7'
Patrick Goley
quelle
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
quelle
1

Ok, warte eine Sekunde. Ich habe überprüft, dass nicht alle Firebase-Bibliotheken diese Version benötigen. Die Versionen sind jetzt falsch ausgerichtet. In der Tat auf der offiziellen Seite berichtet, dass einige bei 15.1.0 statt 15.0.2 sind;

Vielleicht sehen Sie hier direkt, ob es nützlich sein kann:

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

AlexPad
quelle
0

Wenn Sie auf andere Probleme stoßen, die die Kompilierung blockieren, aktualisieren Sie die Google Services-Abhängigkeit auf 3.2.0 . Zumindest für mich verursachten 3.2.1 und 3.3.0 Probleme, und 3.2.0 funktionierte.

Najm
quelle
aber ich dachte, 3.2.1 ist erforderlich, damit Crashlytics erstellt werden können?
j2emanue
@ j2emanue Ich persönlich verwende Crashlytics nicht, daher kann ich nicht bestätigen, aber sowohl 3.2.1 als auch 3.3.0 haben das Kompilieren anderer Abhängigkeiten verhindert.
Najm