无法执行dex:多个dex文件定义Lcom / google / android / gms / analytics / internal / Command

时间:2015-05-01 11:41:03

标签: java android eclipse google-analytics

我昨晚(31.4)更新了我的Android SDK,然后我再次编译我的应用程序了。 我收到这个错误:

[2015-05-01 14:36:24 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/google/android/gms/analytics/internal/Command$1;
[2015-05-01 14:36:24 - SoFit] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/google/android/gms/analytics/internal/Command$1;

我的罐子里没有任何改变。 这是我的libs结构: enter image description here

我试过:   - 清洁项目。   - 重启eclipse。   - 删除bin文件夹。   - 删除私人图书馆。

我还试图删除谷歌分析师jar,因为我从最近的谷歌播放服务更新,他们把分析师放在lib里面。 但由于缺少类,它也不会编译。

我猜这个谷歌游戏服务的东西是错的,但我找不到。

4 个答案:

答案 0 :(得分:19)

尝试从目录库中删除“libGoogleAnalyticsServices.jar”并更新代码因为v2不再支持。然后清洁并运行。一切都会好起来的。

答案 1 :(得分:6)

谷歌分析师v2不再受支持了... 我必须使用谷歌服务中包含的v4。

答案 2 :(得分:6)

从您的版本中删除libGoogleAnalyticsServices.jar并添加Google Play服务。

所需的最低配置:

compile 'com.google.android.gms:play-services-base:7.5.0'
compile 'com.google.android.gms:play-services-analytics:7.5.0'

答案 3 :(得分:0)

部分答案是WhiteHorse:在我的案例中,问题出现了,因为我更新了Google Play服务库,现在它提供了最新的(v4)版本的Google Analytics。然而,移除旧罐子不够,因为分析的v4与前一个(在我的情况下为v2)不完全相同。我必须做的是

  1. 从依赖项和libs /
  2. 中删除libAnaliticsV2.jar
  3. 创建一个新的EasyTracker类:​​查看here
  4. 在我的应用中快速更改对EasyTracker的引用