Android说重复输入,但事实并非如此

标签 android android-gradle-plugin admob google-play-services

我正在将项目从 Eclipse 转换到 Android Studio。这并不容易。我尝试放置 AdMob 横幅,但出现了这样的错误。

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/ads/identifier/AdvertisingIdClient$zza.class

项目中只有1个AdvertisingIdClient$zza.class文件。
为什么会出现此错误?
我在这上面花了很多时间,但没有任何线索。
有谁能帮帮我吗?


感谢所有回复。这是我的 gradle 文件。

应用程序等级>>>>

apply plugin: 'com.android.application'

android {
    compileSdkVersion 13
    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId "sw.ko.aaaaa.bbbbb"
        minSdkVersion 9
        targetSdkVersion 9
        multiDexEnabled true
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles 'proguard.cfg'
        }
    }
}

dependencies {
    compile files('libs/activation.jar')
    compile files('libs/additionnal.jar')
    compile files('libs/commons-email-1.2.jar')
    compile files('libs/commons-net-2.0.jar')
    compile files('libs/google-play-services.jar')
    compile files('libs/mail.jar')
    compile files('libs/twitter4j-core-android-2.2.5.jar')
}

apply plugin: 'com.google.gms.google-services'

另一个gradle文件是...

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

外部库...

Android API 13 Platform
1.8
firebase-analytics-9.0.0
firebase-analytics-impl-9.0.0
firebase-common-9.0.0
firebase-core-9.0.0
firebase-iid-9.0.0
multidex-1.0.1
multidex-instrumentation-1.0.1
play-services-base-9.0.0
play-services-basement-9.0.0
play-services-tasks-9.0.0
support-v4-23.0.0

最佳答案

删除所有对 Google Play 服务的引用(JAR 文件和其他 Gradle 行)

Admob 添加这个

dependencies {
    ...

    compile 'com.google.android.gms:play-services-ads:10.0.1'
}

other Google 添加更多依赖项或 Firebase服务。


我宁愿这样做以保持所有版本相同。

ext {
    // Variables to keep libraries consistent
    googlePlayServicesVersion = '10.0.1'
}

dependencies {
    ...

    compile "com.google.android.gms:play-services-ads:${googlePlayServicesVersion}"
}

关于Android说重复输入,但事实并非如此,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42131844/

相关文章:

java - 如何从 ListView 和 SharedPreferences 中删除特定项目?

flutter - 导航到下一页时如何隐藏横幅广告?

android - 如何将android应用程序添加到Admob

android - 将 String 转换为 Double,不包括部分字符串

Android Kotlin Retrofit + SimpleXMLConverter ElementList 无法正确解析

JavaScript 控制台库

android - 适用于 Android 项目的 GitLab.com CI 共享运行器

android - app:dexDebug在build.gradle Android Studio中出错

android - 无法在应用程序中引用库模块的 Activity

java - 如何在 x 次操作后加载插页式广告