6

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

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

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

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

4

3 回答 3

9

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

于 2015-06-16T16:15:15.623 回答
2

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

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

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

于 2016-06-03T10:13:05.970 回答
1

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

如指南所述:

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

从 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

于 2015-06-22T09:59:52.057 回答