多个dex文件定义Lcom/google/android/gms/internal/measurement/zzabn

Posted

技术标签:

【中文标题】多个dex文件定义Lcom/google/android/gms/internal/measurement/zzabn【英文标题】:Multiple dex files define Lcom/google/android/gms/internal/measurement/zzabn 【发布时间】:2018-10-15 09:41:03 【问题描述】:

从今天早上开始,我无法构建我的 android 应用程序,因为我收到了这个错误

出了什么问题:任务 ':app:transformDexArchiveWithDexMergerForDebug' 执行失败。 com.android.build.api.transform.TransformException: com.android.dex.DexException: 多个dex文件定义 Lcom/google/android/gms/internal/measurement/zzabn;

我已尝试将 Firebase 版本相应地调整为 15.0.2,但随后又出现另一个错误...

Task :app:processDebugGoogleServices 找到 com.google.android.gms:play-services-maps:15.0.0,但版本是 15.0.2 需要 google-services 插件。

com.google.android.gms:play-services-maps:15.0.2 还没有发布?

我有一个构建要推送到生产环境,构建应用的最佳方式是什么?

【问题讨论】:

"Firebase Android SDKs now have independent version numbers, allowing for more frequent, flexible updates." 见Multiple dex files define 我已将版本相应地更新为 15.0.2(-ads 除外,它仍然是 15.0.0)但构建仍然中断,因为 google 插件正在寻找 google-maps 15.0.2 而不是尚未发布 检查这个:***.com/questions/50149266/… @PeterHaddad bingo 更新此类路径 'com.google.gms:google-services:3.3.0' 有效 【参考方案1】:

请将google-service 插件更新为:

classpath 'com.google.gms:google-services:3.3.0'

能够使用最新版本的 Firebase 并避免错误。

阅读以下内容了解更多信息:

https://android-developers.googleblog.com/2018/05/announcing-new-sdk-versioning.html

Compilation failed to complete:Program type already present: com.google.android.gms.internal.measurement.zzabn

【讨论】:

【参考方案2】:

(代表问题作者发布解决方案)

删除我的 build.build 底部的 com.google.gms.google-services 使其工作。

【讨论】:

这是错误的,请参阅上面的 cmets,这是正确的解决方案:@PeterHaddad bingo 更新此类路径 'com.google.gms:google-services:3.3.0' 有效 这是问题作者@Peter 发布的,他们说这对他们有用。 是的,我知道,但之后我将他与解决他问题的另一个答案联系起来 是的,构建通过了,但 Firebase 在应用启动时崩溃了

以上是关于多个dex文件定义Lcom/google/android/gms/internal/measurement/zzabn的主要内容,如果未能解决你的问题,请参考以下文章

无法执行dex:多个dex文件定义了Lorg/apache/cordova/App$1

多个 dex 文件定义 Lcom/google/firebase/FirebaseException

如何修复将字节码转换为 dex 的错误原因:com.android.dex.DexException:多个 dex 文件定义 Lorg/apache/http/conn/ssl/AbstractVer

多个dex文件定义Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat

多个 dex 文件定义 Lorg/apache/cordova/BuildHelper

多个dex文件定义<my package>/BuildConfig,找不到原因: