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.