Gradle冲突游戏服务:使用GoogleAdMobAdsSdk 4.0.30

时间:2013-11-10 22:13:24

标签: android gradle

我正在使用带有Gradle构建的Android Studio 0.3.4。 我在构建项目时收到此错误消息:

Gradle:任务执行失败>无法调用IncrementalTask​​.taskAction()

这是因为Google Play服务和GoogleAdMobAdsSdk-6.4.1存在冲突。我的build.gradle有这个条目:

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.android.support:support-v13:13.0.0'
    compile 'com.google.android.gms:play-services:4.0.30'
    compile files('libs/GoogleAdMobAdsSdk-6.4.1.jar')

当我删除GoogleAdMobAdsSdk时,它构建正常。我该如何解决这个问题?

这是错误:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/google/ads/AdRequest$Err
orCode;
        at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:12
3)

感谢

1 个答案:

答案 0 :(得分:4)

适用于Android的Google移动广告SDK现已作为Google Play服务4.0的一部分提供。更多信息http://googleadsdeveloper.blogspot.com.es/2013/10/upgrade-to-new-google-mobile-ads-sdk.html

正如您所说,您的build.gradle应该没有Google移动广告SDK库:

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.android.support:support-v13:13.0.0'
    compile 'com.google.android.gms:play-services:4.0.30'
}

但Google移动广告SDK尚不支持适用于移动应用的DFP广告管理系统,Ad Exchange或搜索广告。他们说很快就会得到支持。如果是这种情况,请使用以前版本的Play服务与Google移动广告SDK结合使用:

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.android.support:support-v13:13.0.0'
    compile 'com.google.android.gms:play-services:3.2.65'
    compile files('libs/GoogleAdMobAdsSdk-6.4.1.jar')
}