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 Module: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 '18

1
@immibis没得到你。即使我们提到了特定版本,您是否表示Firebase正在自动更新?
rpattabi

Answers:


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.1classpath 'com.google.gms:google-services:3.2.1


5
此解决方案有效。Firebase现在使用独立的版本号分发其软件包,请确保build.gradle上的所有软件包都是最新的。
阮三

有效。非常感谢。我试图进行更新,但是我从未想象过Firebase会改变这一点。谢谢。
阿拉奥乔(CaioAraújo)'18年

很好,您已经编辑并从我的答案中添加了第二部分,因为您的答案已被接受;)
Ragaisis

也有另一种问题“程序类型已经存在:org.apache.http.io.HttpMessageParser消息{种类=错误,文本=程序类型已经存在:org.apache.http.io.HttpMessageParser,sources = [未知源文件],工具名称= Optional.of(D8)},“ m使用最新版本的Firebase和最新版本的支持,设计库,同时我项目的build.gradle包含类路径'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-services从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是他们更新版本号的原因,就像他们不在乎开发人员一样。” 说好听👌
列宁拉吉Rajasekaran

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.不要忘记谷歌插件

另外,请不要忘记apply plugin: 'com.google.gms.google-services'在应用程序级别build.gradle的底部添加。

同步和构建...


1
关于检查最新版本的好技巧。我更喜欢使用bintray.com/android/android-tools/…检查最新版本google-services。mvn页面的CentralSprings Plugins部分非常混乱。
塞巴斯蒂安'18

5

删除包含“ com.google.android.gms”的依赖项,然后尝试重建项目...您必须点击n尝试,因为有一些依赖项在其中使用了两次

例如com.android.support:design加twise



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构建工具引起的

要修复,我不得不在mu项目的顶级build.gradle文件中将其降级

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



0

如果您遇到其他阻碍编译的问题,请尝试将Google Services依赖项升级到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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.