已存在的程序类型:com.google.android.gms.common.api.internal.zzbs

时间:2018-06-07 13:00:34

标签: android admob

生成签名应用程序输出时出现此错误。

implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.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.onesignal:OneSignal:[3.8.3, 3.99.99]'
implementation 'com.google.android.gms:play-services-ads:15.0.0'






dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        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
    }

错误消息:

Program type already present: com.google.android.gms.common.api.internal.zzbs
Message{kind=ERROR, text=Program type already present: com.google.android.gms.common.api.internal.zzbs, sources=[Unknown source file], tool name=Optional.of(D8)}

我正在使用:

  

Android Studio 3.1 JRE:1.8.0_152-release-1024-b02 amd64 JVM:OpenJDK   JetBrains s.r.o Windows 10 10.0的64位服务器VM

2 个答案:

答案 0 :(得分:1)

相反

implementation 'com.google.android.gms:play-services-ads:15.0.0'

尝试使用

implementation 'com.google.android.gms:play-services-ads:12.0.1'

<强>为什么

库OneSignal在你的android gms依赖项上使用版本12.0.1,而你使用版本15.0.0,版本是不兼容的,可能是问题的原因。请参阅代码here

答案 1 :(得分:0)

这是问题

implementation 'com.onesignal:OneSignal:[3.8.3, 3.99.99]'
implementation 'com.google.android.gms:play-services-ads:15.0.0'

为什么库OneSignal已经具有依赖项com.google.android.gms.common.api.internal.zzbs,看到github lib我们可以看到它是在最后一次提交时添加的。请尝试删除implementation 'com.google.android.gms:play-services-ads:15.0.0'