Android Studio - typ programu już obecny: com.google.android.gms.internal.measurement.zzwp


90

Wczoraj moja aplikacja działała poprawnie.

Dziś nie wiem dlaczego, po ponownym otwarciu Android Studio aplikacja nie była już kompilowana.

Wyświetlany błąd to

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

Naprawdę nie wiem, co się dzieje, przeszukałem wszystko i nic nie działało. Gdyby ktoś mógł mi pomóc, byłbym wdzięczny. Zmieniam wszystkie zależności i biblioteki, aby spróbować to rozwiązać, ale nic nie działało.

Oto projekt 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
}

A to jest mój moduł build.gradle: aplikacja

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
To musi być powód, dla którego ludzie nie lubią zależności automatycznej aktualizacji ...
— user253751

1
@immibis Nie rozumiem. Czy chodziło Ci o to, że Firebase aktualizuje się automatycznie, mimo że wspomnieliśmy o konkretnych wersjach?
— rpattabi

Odpowiedzi:


95

Rozwiązano ten problem po zaktualizowaniu firebase dependenciesdo najnowszego, na przykład w com.google.firebase:firebase-core:15.0.0celu com.google.firebase:firebase-core:15.0.2 pobrania najnowszej listy stąd

Wszystkie inne zmiany wprowadzone na poniższej liście

  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) Na najwyższym poziomie aktualizacja pliku build.gradle z classpath 'com.google.gms:google-services:3.1.1doclasspath 'com.google.gms:google-services:3.2.1


5
To rozwiązanie działa. Firebase rozprowadza teraz swoje pakiety z niezależnymi numerami wersji, upewnij się, że wszystkie pakiety na build.gradle są najnowszymi.
— Tri Nguyen

Zadziałało. Dziękuję bardzo. Próbowałem coś zaktualizować, ale nigdy nie wyobrażałem sobie, że Firebase to zmieni. Dziękuję Ci.
— Caio Araújo

Dobrze, że zredagowałeś i dodałeś drugą część mojej odpowiedzi, ponieważ twoja odpowiedź została zaakceptowana;)
— Ragaisis

m też ma inny rodzaj problemu "Typ programu już obecny: org.apache.http.io.HttpMessageParser Wiadomość {kind = BŁĄD, tekst = Typ programu już obecny: org.apache.http.io.HttpMessageParser, sources = [Nieznane źródło file], nazwa narzędzia = Optional.of (D8)}, "m korzystam z najnowszej wersji firebase i najnowszej wersji wsparcia, bibliotek projektowych, a także build.gradle mojego projektu zawiera ścieżkę klasy 'com.android.tools.build:gradle:3.1 .2 „classpath” com.google.gms: google-services: 4.0.0 ”, nadal występuje problem ..
— niezmienny

1
Z biegiem czasu zauważyłem, że najlepszym rozwiązaniem jest zaktualizowanie tych zależności do najnowszej wersji, która pojawia się NA ICH WITRYNIE, a nie najnowszej, która pojawia się w pliku gradle
— Razvan

21

Mam również ten błąd i moje rozwiązanie tego problemu

1) Zaktualizuj wersję Firbase, aby była niezależna od wersji usług Google Play

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

Możesz sprawdzić najnowszą wersję tutaj https://firebase.google.com/support/release-notes/android#latest_sdk_versions

2) W aktualizacji pliku build.gradle najwyższego poziomu usługi Google z wersji 3.1.1 do 3. 2 .1

buildscript {
    dependencies {

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

    }
 }

12

Po prostu się zmieniam

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

do

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

to działa.


7

Firebase jest powodem, dla którego aktualizują numery wersji, tak jakby nie dbali o programistów.

Najpierw najważniejsze. Zaktualizuj ścieżkę klas w gradacji na poziomie projektu

dependencies {

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

    }

Następnie, niezależnie od narzędzi, których możesz używać, takich jak analityka, linki dynamiczne i tak dalej. Użyj odpowiedniej zależności z wersjami.

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

W moim przypadku używałem testów A / B przez zdalną konfigurację, więc muszę go zaktualizować z

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

do

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

To powinno działać bez żadnych usterek. Prosimy również o publikowanie tego rodzaju problemów w Firebase, aby nie wprowadzali tego rodzaju zmian bez uprzedzenia lub bez odpowiedniej dokumentacji.


2
„Firebase jest powodem, dla którego aktualizują numery wersji, jakby nie dbali o programistów”. Ładnie powiedziane 👌
— Lenin Raj Rajasekaran

6

Zaktualizuj zależności Firebase.

1. Build.gradle na poziomie projektu

Zaktualizuj google.gmswersję do najnowszej. Śledź najnowsze wydanie . W chwili odpowiedzi najnowszy jest 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. Build.gradle na poziomie aplikacji

Zaktualizuj poniżej zależność, jeśli używasz dowolnego. Pamiętaj, że Firebase ma teraz indywidualne wersje dla każdej zależności.

Używaj najnowszych bibliotek Firebase . W chwili udzielenia odpowiedzi najnowsze wersje znajdują się poniżej.

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. Nie zapomnij o wtyczce Google

Nie zapomnij również dodać apply plugin: 'com.google.gms.google-services'build.gradle na dole poziomu aplikacji.

Synchronizuj i buduj ...


1
Niezłe wskazówki dotyczące sprawdzania najnowszych wersji. Wolę używać bintray.com/android/android-tools/…, aby sprawdzić najnowszą wersję google-services. Strona mvn jest bardzo myląca z jej sekcjami Centrali Springs Plugins.
— Sébastien

5

Usuń zależność zawierającą „com.google.android.gms”, a następnie spróbuj odbudować projekt ... musisz nacisnąć i spróbować, bo jest tam pewna zależność, która używa dwukrotnie

Na przykład com.android.support:designdodany twise



4

Stało się to ze mną po dodaniu ostatniej wersji firebase analitycs, w ten sposób

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

pomogła zmiana wersji na 16.0.4

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

2

Dla mnie problem wydawał się być spowodowany przez narzędzia do budowania Androida

Aby to naprawić, musiałem obniżyć te w projektach mu do najwyższego poziomu build.gradle pliku

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

Zdaję sobie sprawę, że to nie jest najlepsze rozwiązanie, ale jak dotąd jedyna rzecz, która działała na mnie.

EDYCJA: Alternatywnie dodaj android.enableD8=falsedo gradle.propertiespliku projektu


2

Skomentowanie następującej zależności rozwiązało problem:

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, chwileczkę. Po sprawdzeniu, że nie wszystkie biblioteki Firebase potrzebują tej wersji. Wersje są teraz źle wyrównane. W rzeczywistości na oficjalnej stronie donosi, że niektórzy mają 15.1.0 zamiast 15.0.2;

Może zobacz bezpośrednio tutaj, czy może to być przydatne:

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



0

Jeśli napotkasz inne problemy, które blokują kompilację, spróbuj zaktualizować zależność usług Google do wersji 3.2.0 . Dla mnie przynajmniej 3.2.1 i 3.3.0 powodowały problemy, a 3.2.0 był tym, który działał.


ale myślałem, że 3.2.1 jest wymagane do kompilacji crashlytics?
— j2emanue

@ j2emanue Osobiście nie używam Crashlytics, więc nie mogę potwierdzić, ale zarówno 3.2.1, jak i 3.3.0 zapobiegały kompilacji innych zależności.
— najm
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.