构建apk时出错 - “多个dex文件定义Lcom / google / ads / Ad”

时间:2011-12-31 02:19:51

标签: java android eclipse dex

我一直在撕扯我的头发,过去3个小时我一直试图解决它,但一直无法解决。我已经创建了一个Android应用程序,我已经准备好把它放在Android市场上但是在尝试导出到apk时我遇到了这个错误。

  

无法执行dex:多个dex文件定义Lcom / google / ads / Ad;

我已经阅读了很多关于这个问题并尝试了很多解决方案,但似乎没有任何帮助。我已经清理并重建了,我删除了bin文件夹,我确保bin文件夹被排除在构建路径之外。什么都没有用。如果有人能帮助我,我会非常感激。

6 个答案:

答案 0 :(得分:9)

在“配置构建路径”的“order and export”部分中取消admob jar文件。

答案 1 :(得分:5)

在另一篇与你的问题类似的帖子中,你提到的唯一没有考虑的是更新Eclipse。我不知道你做了这些“修复”的顺序或顺序,但另一张海报提到,他立即删除了项目的bin目录,清理并重建了项目并重新启动了Eclipse。之后,错误消失了。

祝你好运 - Lijap

答案 2 :(得分:1)

对我来说,错误是由于意外包含了2个不同版本的AdMob SDK。 删除其中一个修复它。

答案 3 :(得分:1)

正如其他人所说,这个问题应该归功于应用版本中包含多个版本的Goodle广告SDK类。我还没看到的是,最新的Google Play服务库包含的类(至少)与admob sdk中的某些名称相同 - 例如,我遇到了这个错误,因为我试图使用admob sdk v.4.0.4和google-play-services_lib项目构建作为引用项目;后者包含google-play-services.jar,其中包含com.google.ads包和许多与admob sdk相同的类。因此,似乎谷歌播放服务lib和admob sdk不能在给定的应用程序中使用。我的解决方案是完全从构建中删除admob sdk。

答案 4 :(得分:0)

我有同样或类似的问题。我的问题是我的应用程序导入了一个使用不同版本的AdMob SDK的库。

我的问题详情:

  • 图书馆使用了AdMob SDK 6.3.0
  • 应用程序使用AdMob SDK 6.1.0

通过包含相同的版本来修复它。

答案 5 :(得分:0)

对我来说,我只需从构建路径中取出包含android-support-v4.jar的libs文件夹,它就可以了。