Android Studio - тип программы уже присутствует: com.google.android.gms.internal.measurement.zzwp


91

Вчера мое приложение работало нормально.

Сегодня я не знаю, почему приложение больше не компилировалось после того, как я повторно открыл Android Studio.

Показанная ошибка

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

Я действительно не знаю, что происходит, я все обыскал и ничего не помогло. Если бы кто-то мог мне помочь, я был бы очень признателен. Я меняю все зависимости и библиотеки, чтобы попытаться решить эту проблему, но ничего не помогло.

Вот проект 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
}

А это мой модуль 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
Наверное, поэтому людям не нравится автоматическое обновление зависимостей ...
user253751

1
@immibis Не понял. Вы имели в виду, что firebase обновляется автоматически, хотя мы упоминали конкретные версии?
rpattabi

Ответы:


95

Решили эту проблему после обновления firebase dependenciesдо последней com.google.firebase:firebase-core:15.0.0версии, например, чтобы com.google.firebase:firebase-core:15.0.2 получить последний список отсюда.

Все остальные изменения внесены в список ниже

  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) В обновлении файла build.gradle верхнего уровня с classpath 'com.google.gms:google-services:3.1.1наclasspath 'com.google.gms:google-services:3.2.1


5
Это решение работает. Firebase теперь распространяет свои пакеты с независимыми номерами версий, убедитесь, что все пакеты в build.gradle являются самыми последними.
Tri Nguyen

Это сработало. Большое вам спасибо. Я пытался что-то обновить, но никогда не думал, что Firebase изменит это. Спасибо.
Кайо Араужо

Хорошо, что вы отредактировали и добавили вторую часть моего ответа, потому что ваш ответ принят;)
Рагайсис

m тоже имеет другую проблему "Тип программы уже присутствует: org.apache.http.io.HttpMessageParser Сообщение {kind = ERROR, text = Тип программы уже присутствует: org.apache.http.io.HttpMessageParser, sources = [Неизвестный источник file], имя инструмента = Optional.of (D8)}, "m использую последнюю версию firebase и последнюю версию поддержки, библиотеки дизайна, а также build.gradle моего проекта содержит путь к классам com.android.tools.build:gradle:3.1 .2 'classpath' com.google.gms: google-services: 4.0.0 ', проблема все еще возникает ..
immutable

1
С течением времени я видел, что лучшим решением является обновление этих зависимостей до последней версии, которая появляется НА ИХ САЙТЕ, а не последней, которая появляется в файле gradle
Разван

21

У меня тоже есть эта ошибка, и мое решение этой проблемы

1) Обновите версию Firbase, чтобы она не зависела от версии сервисов Google Play.

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

Вы можете проверить последнюю версию здесь https://firebase.google.com/support/release-notes/android#latest_sdk_versions

2) В верхнем уровне обновление build.gradle файл Google-услуги от 3.1.1 до 3. 2 .1

buildscript {
    dependencies {

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

    }
 }

12

Я просто меняю

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

к

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

оно работает.


7

Firebase - это причина, по которой они обновляют номера версий, как будто им наплевать на разработчиков.

Перво-наперво. Обновите путь к классам в градиенте уровня проекта

dependencies {

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

    }

Затем, какие бы инструменты вы ни использовали, например, аналитику, динамические ссылки и т. Д. Используйте соответствующую версионную зависимость.

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

В моем случае я использовал A / B-тестирование через удаленную конфигурацию, поэтому мне нужно обновить его из

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

к

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

Это должно работать без сбоев. А также, пожалуйста, опубликуйте подобные проблемы в Firebase, чтобы они не вносили такие изменения без предупреждения или без надлежащей документации.


2
«Firebase - это причина, по которой они обновляют номера версий, как будто им наплевать на разработчиков». Красиво сказано 👌
Ленин Радж Раджасекаран

6

Обновите зависимости firebase.

1. Уровень проекта build.gradle

Обновите google.gmsверсию до последней. Следите за последним выпуском . На момент ответа последний 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

Обновите ниже зависимость, если вы ее используете. Обратите внимание, что теперь у firebase есть отдельные версии для каждой зависимости.

Используйте новейшие библиотеки Firebase . На момент ответа ниже представлены последние версии.

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. Не забывайте плагин Google

Также не забудьте добавить apply plugin: 'com.google.gms.google-services'build.gradle внизу уровня приложения.

Синхронизация и сборка ...


1
Хорошие советы по проверке последних версий. Я предпочитаю использовать bintray.com/android/android-tools/… для проверки последней версии google-services. Страница МВН очень запутанным со своими Centralи Springs Pluginsразделами.
Себастьен

5

Удалите зависимость, содержащую "com.google.android.gms", а затем попробуйте перестроить проект ... вам нужно нажать n попробовать, потому что есть некоторая зависимость, которая используется дважды.

Например com.android.support:designдобавил твиз



4

Это случилось со мной после добавления последней версии firebase analitycs, вот так

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

помогла смена версии на 16.0.4

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

2

Для меня проблема, казалось, была вызвана инструментами сборки Android

Чтобы исправить это, мне пришлось понизить их в build.gradleфайле верхнего уровня проектов mu

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

Я понимаю, что это не лучшее решение, но пока единственное, что у меня сработало.

РЕДАКТИРОВАТЬ: в качестве альтернативы добавьте android.enableD8=falseв gradle.propertiesфайл проекта


2

Комментарий к следующей зависимости устранил проблему для меня:

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

Хорошо, подожди секунду. Я убедился, что не всем библиотекам Firebase нужна эта версия. Версии теперь не выровнены. Фактически на официальной странице сообщается, что у некоторых стоит 15.1.0 вместо 15.0.2;

Возможно, посмотрите прямо здесь, если это может быть полезно:

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


1

У меня была аналогичная ситуация с этой ошибкой:

Тип программы уже присутствует: com.google.android.gms.internal. *

Я использовал собственные карты OneSignal и React одновременно, я исключил gms из обоих и включил его на верхнем уровне.

См. Раздел устранения неполадок здесь: https://github.com/react-native-community/react-native-maps/blob/master/docs/installation.md#troubleshooting


0

Если вы столкнулись с другими проблемами, блокирующими компиляцию, попробуйте обновить зависимость служб Google до версии 3.2.0 . Для меня, по крайней мере, 3.2.1 и 3.3.0 вызывали проблемы, а 3.2.0 был той, которая работала.


но я думал, что для создания крашлитика требуется 3.2.1?
j2emanue

@ j2emanue Я лично не использую Crashlytics, поэтому не могу подтвердить, но и 3.2.1, и 3.3.0 препятствовали компиляции других зависимостей.
najm
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.