Android 将Google Play游戏与Firebase混合使用

Android 将Google Play游戏与Firebase混合使用,android,firebase,admob,google-play-services,google-play-games,Android,Firebase,Admob,Google Play Services,Google Play Games,我使用谷歌游戏api为我的android游戏添加了排行榜。现在我想使用Android Studio的Firebase“向导”添加横幅广告。它构建得很好,但当我尝试创建apk时,会出现以下错误: 错误:将字节码转换为索引时出错: 原因:com.android.dex.DexException:多个dex文件定义Lcom/google/android/gms/internal/zzqv 使用向导后,我的build.gradle文件如下所示: apply plugin: 'com.androi

我使用谷歌游戏api为我的android游戏添加了排行榜。现在我想使用Android Studio的Firebase“向导”添加横幅广告。它构建得很好,但当我尝试创建apk时,会出现以下错误:

错误:将字节码转换为索引时出错: 原因:com.android.dex.DexException:多个dex文件定义Lcom/google/android/gms/internal/zzqv

使用向导后,我的build.gradle文件如下所示:

    apply plugin: 'com.android.application'

    android {
        compileSdkVersion 22
        buildToolsVersion "22.0.1"
        defaultConfig {
        applicationId "xxx"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
     }
     buildTypes {
         release {
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
         }
     }
  }

  dependencies {

       compile fileTree(dir: 'libs', include: ['*.jar'])


       compile project(':BaseGameUtils')

       androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',     {
    exclude group: 'com.android.support', module: 'support-annotations'
})

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

      testCompile 'junit:junit:4.12'
   }


   apply plugin: 'com.google.gms.google-services'
我尝试/阅读了所有与多个dex文件问题相关的内容,但没有任何效果。有人给我一个提示吗?我是否也必须在排行榜上使用Firebase?找不到如何

谢谢你的帮助/提示
佩特森

多亏了克莱顿·威尔金森的评论,我可以解决我的问题。 问题在于BaseGameUtils仍在使用/引用较旧版本的play服务。添加了正确的版本,现在可以使用了。我想我会在下一个项目中省略BaseGameUtils


非常感谢

当然,有些冲突。。。但是,问题是,如果你说的是一般术语,我的意思是,你使用compile'com.google.android.gms:play services:X.X.X',就完成了。

我也有同样的错误,只是启用了proguard(将false改为true):


我无法使用类似的build.gradle文件重现该问题。请发布您的顶级(项目)build.gradle。另外,您是否尝试过“清理”您的项目?检查gradle文件中的BaseGameUtils-我猜您有多个版本的play services-*被包括在内。BaseGameUtils的价值不再有限,您可能只想将其中的两个静态方法直接复制到您的项目中。
buildTypes {
    release {
        minifyEnabled true //Here change false to true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt')
    }
}