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


89

Вчора мій додаток працював нормально.

Сьогодні, не знаю чому, додаток більше не компілювався після того, як я знову відкрив 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 оновлюється автоматично, навіть незважаючи на те, що ми згадали конкретні версії?
рпаттабі

Відповіді:


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 найновіші.
Трі Нгуєн

Це спрацювало. Щиро дякую. Я намагався оновити речі, але ніколи не думав, що Firebase це змінив. Дякую.
Кайо Араухо,

Добре, що ви відредагували та додали другу частину з моєї відповіді, тому що ваша відповідь прийнята;)
Рагайсіс

я теж маю інший тип проблеми "Тип програми вже присутній: org.apache.http.io.HttpMessageParser Message {kind = ПОМИЛКА, text = Тип програми вже присутній: org.apache.http.io.HttpMessageParser, sources = [Невідоме джерело файл], назва інструменту = Необов'язково.of (D8)}, "я використовую останню версію firebase і останню версію підтримки, бібліотеки проектування, а також мій проект build.gradle містить classpath 'com.android.tools.build:gradle:3.1 .2 'classpath' com.google.gms: google-services: 4.0.0 ', проблема все ще виникає ..
незмінна

1
З часом я переконався, що найкращим рішенням є оновлення цих залежностей до останньої версії, яка з’являється НА ЇХ САЙТІ, а не останньої, яка з’являється у файлі gradle
Razvan

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 є причиною того, що вони оновлюють номери версій, так як вони не дбають про розробників.

Насамперед. Оновіть шлях до класу у проекті рівня gradle

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. Сторінка mvn дуже заплутана зі своїми Centralта Springs Pluginsрозділами.
Себастьян,

5

Видаліть залежність, яка містить "com.google.android.gms", а потім спробуйте відновити проект ... вам потрібно зробити хіт n спробувати coz є якась залежність, яка там використовується двічі

Наприклад 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 потрібен для побудови crashlytics?
j2emanue

@ j2emanue Я особисто не використовую Crashlytics, тому я не можу підтвердити, але як 3.2.1, так і 3.3.0 перешкоджали компіляції інших залежностей.
найм
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.