【问题标题】:cordova - Multiple dex files define Lcom/google/android/gms/iid/zzccordova - 多个 dex 文件定义 Lcom/google/android/gms/iid/zzc
【发布时间】:2017-08-18 14:31:02
【问题描述】:

我正在尝试为 android 编译一个 cordova 应用程序,但出现此错误。有任何想法吗? 这是我得到的错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':transformClassesWithDexForArmv7Debug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/iid/zzc;

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

我尝试在最后添加 --stacktrace --debug,但我得到了同样的错误。有什么想法吗?

【问题讨论】:

  • 我今天早上也随机开始收到此错误(昨天使用相同版本的应用程序运行良好)。我的解决方案是将我的插件之一 - phonegap-plugin-push - 升级到最新版本 1.10.5。我不知道为什么这为我解决了问题,因此为什么我没有将其作为答案提交。旁注:这发生在我由 Phonegap Build 构建时。
  • @BenJ 你拯救了我的一天!
  • @BenJ 任何线索是什么导致了这个问题? phonegap-plugin-push 插件也发生在我身上。

标签: cordova cordova-plugins


【解决方案1】:

此问题是由两个或多个插件指定的 Google Play 服务库版本不匹配引起的。

我的解决方案是将我的一个插件 - phonegap-plugin-push - 升级到最新版本 1.10.5。

这很有效,因为phonegap-plugin-push@1.10.5 包含a commit,它将固定版本从10.2+ 更改为11+

您的项目中很可能有另一个插件指定com.google.android.gms:*:+,它目前也将解析为v11,因为这目前是latest release

更新

因为我自己也遇到过这个问题,所以我刚刚创建了一个插件,其中包含一个 Gradle 解决方法,用于包含 Play Services 库版本冲突的插件:cordova-android-play-services-gradle-release。您应该能够将它添加到有问题的项目中,并且它应该修复构建:

cordova plugin add cordova-android-play-services-gradle-release

【讨论】:

【解决方案2】:

解决办法是只升级phonegap-plugin-push@1.10.5。

没有必要更新任何其他东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-01
    • 2018-01-15
    • 2017-08-14
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    相关资源
    最近更新 更多