构建apk时出错 - "Multiple dex files define Lcom/google/ads/Ad"



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

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

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

在"configure build path"的"order and export"部分取消admob jar文件。

在另一篇与你的问题类似的文章中,提到的唯一一件你还没有考虑的事情是更新Eclipse。我不知道你是如何或以什么顺序完成这些"修复"的,但另一个帖子提到,他一下子删除了他的项目的bin目录,清理并重建了项目,并重新启动了Eclipse。之后错误消失。

Good Luck- Lijap

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

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

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

我的问题的细节:

    库使用AdMob SDK 6.3.0
  • 应用程序使用AdMob SDK 6.1.0

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

最新更新