【问题标题】:Execution failed for task ':packageAllDebugClassesForMultiDex'任务“:packageAllDebugClassesForMultiDex”执行失败
【发布时间】:2015-05-27 13:32:16
【问题描述】:

我正在尝试对项目使用新的 android multidex 支持。我对这个异常有一些问题:

错误:任务 ':shineV3:packageAllDebugClassesForMultiDex' 执行失败。

java.util.zip.ZipException:重复条目:com/google/android/gms/analytics/internal/Command$1.class

关于问题。我使用 2 个不同的 jar 包作为依赖项,并且某些类将在 classes.dex 中重复,因为两个 jar 都包含它们。任何想法? 提前致谢

【问题讨论】:

  • @JonasB 你解决了吗?
  • @Deepak Jangir 你是怎么解决这个问题的?
  • @Sree 是的,我在我的项目文件夹中删除了 facebook 库,然后它工作了。我认为完整的清理和构建也有帮助。

标签: android android-studio android-multidex


【解决方案1】:

对于那些参与其中的人,我弄清楚了为什么会发生这种情况。对我来说,我正在编译 Google Analytics V2 jar 以及完整的播放服务。谷歌允许您分解您的应用真正需要的播放服务并编译这些单独的项目。检查他们here。我排除了目前在 V4 上的 Google Play Analytics,它可以正常工作

【讨论】:

    【解决方案2】:

    如果您在应用中集成Google Analytics V2Google play services,则需要在您的gradle 文件中执行以下操作:

    dependencies {
        compile 'com.google.android.gms:play-services:4.0.30'
        compile files('libs/libGoogleAnalyticsServices.jar')
    }
    

    它对我有用。希望它也适用于其他人。 :)

    【讨论】:

    • @MehulSantoki,很高兴它对你有用。欢迎:)
    【解决方案3】:

    将此添加到您的 grdale compile "com.google.android.gms:play-services:7.5.+" 意味着添加所有播放服务,包括分析、地图、vcm .. 等,您可以添加

    如指南所述:

    在 6.5 之前的 Google Play 服务版本中,您必须编译 整个 API 包到您的应用程序中。在某些情况下,这样做会使 在您的应用程序中保持方法的数量变得更加困难(包括 65,536 下的框架 API、库方法和您自己的代码) 限制。

    从 6.5 版开始,您可以选择性地编译 Google Play 服务 API 到您的应用程序中。例如,仅包含 Google Fit 和 Android Wear API,在您的 build.gradle 文件:

    使用这些行编译“com.google.android.gms:play-services:7.5.0”:

    编译 'com.google.android.gms:play-services-fitness:7.5.0' 编译 'com.google.android.gms:play-services-wearable:7.5.0'

    https://developers.google.com/android/guides/setup

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-19
      • 2020-03-07
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 2018-08-20
      • 2016-05-02
      相关资源
      最近更新 更多