多个dex文件定义Lcom / google / ads / AdRequest $ ErrorCode和多个dex文件定义Lcom / google / ads / AdRequest $ ErrorCode

时间:2014-04-09 09:56:14

标签: android admob adsense

我创建了android应用程序并尝试向其添加admob。但它不起作用。任何人都可以帮我解决这个错误。

[2014-04-09 15:16:51 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/google/ads/AdRequest$ErrorCode;
[2014-04-09 15:16:51 - Aurudhu_App] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/google/ads/AdRequest$ErrorCode;

这是应用程序架构。

enter image description here

12 个答案:

答案 0 :(得分:22)

google-pay-services.jar和GoogleAdMobAdsSdk.jar具有相同的AdMob类名。可能是由于这个原因你得到多个.dex文件。

请使用google-pay-services.jar代替GoogleAdMobAdsSdk.jar,按照AdMob this sample code link的文档步骤进行操作。

希望它会对你有所帮助,但是你有任何问题,请告诉我......

答案 1 :(得分:7)

我有这个错误。

确保google-play-service.jar 添加两次(即使在不同的模块中......就像我的情况一样)。调试这些错误需要很长时间。

答案 2 :(得分:4)

Eclipse项目属性 - > Java构建路径 - >订单和导出

取消检查Android私有库。

答案 3 :(得分:3)

您已导入google-play-services并用作库。您还添加了google-play-services外部jar文件。如此含糊不清。不要将google-play-services用作库。

答案 4 :(得分:2)

我在添加google-play-services后遇到了这个问题,但它是在一个没有使用sdk for AdMob的项目上。在进行干净重建后,我停止收到此错误。因此,如果您遇到这种情况,但未使用AdMob或仍无法解决任何原因,请尝试执行项目清理重建。这对我有用。

答案 5 :(得分:1)

我遇到了这个问题,因为我在我的libs文件夹中有google-play-services.jar,而在build.gradle中包含了这样的播放服务:

dependencies {
  ...
  compile 'com.google.android.gms:play-services:5.0.89'
  ...
}

所以我从libs文件夹中删除了google-play-services.jar,该应用程序再次正常运行

答案 6 :(得分:0)

我遇到了这个问题,这个问题也是如此:

java.lang.NoClassDefFoundError: com.google.ads.AdView

尽管列出了所有解决方案的许多小时,但我能让我的应用运行的唯一方法是使用AdMob banner示例here

围绕它重新构建我的项目,将我的文件复制到该项目中。如果你遇到困难,试试吧。

不知道它为什么会起作用,但现在确实如此。我项目中的某些内容非常错误。现在我可以继续我的工作了。我爱Google/Android,但真的很乱!

答案 7 :(得分:0)

选择项目 Rigth点击项目 - >构建路径 - >配置构建路径 - >选择库 - >取消选中googleplaylib,然后清理。 并运行,我希望它会工作, 我可以使用这种方法解决我的问题。尝试

答案 8 :(得分:0)

通过编写cordova插件删除google play服务插件,删除com.google.playservices  并通过编写cordova插件添加[你的admob插件名称]来添加cordova admob插件。

答案 9 :(得分:0)

转到Eclipse,Project - >建立所有

为我解决了这个问题。我没有添加Admob lib,但是遇到了这个问题。清洁构建和BUILDING ALL为我修复了它。

答案 10 :(得分:0)

在我的情况下,当我搬到firebase时出现问题。

当删除旧的" GoogleAdMobAdsSdk"时,问题就消失了。 sdk来自" app \ libs"文件夹中。

答案 11 :(得分:0)

只需单击alt + enter进入属性,然后转到java build path。然后取消对魔术的私人依赖以及您的错误