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

时间:2012-04-27 15:30:00

标签: java android eclipse admob

我正在尝试在我的应用中加入admob广告。到目前为止,我已添加以下代码 在我的应用程序的主要活动的onCreate方法...

    adView = new AdView(this,AdSize.BANNER,"my code number");
    adView.loadAd(new AdRequest());

程序编译时没有错误,但在运行时我收到消息java.lang.NoClassDefFoundError: com.google.ads.AdView。我已经看到了问题的解释和治愈here,但我看不出它是如何适用于我的项目的,因为我的项目中没有“lib”或“libs”目录。

根据eclipse的SDK管理器,我拥有我使用的所有内容的最新版本。

10 个答案:

答案 0 :(得分:33)

我有类似的问题,但没有添加libs文件夹;我尝试了,但没有成功,然后在我意识到我刚忘记导出包含的Jar存档时删除了它们。

  

<强>修正:
  选择项目设置&gt; Java Build Path,然后订购和导出

     

在此处,查看 GoogleAdMobAdsSdk -package。

这应解决 NoClassDefFoundError -issue。

答案 1 :(得分:23)

只需手动创建“libs”文件夹,然后在那里添加库。默认情况下,它们不存在

答案 2 :(得分:13)

  1. 项目 - &GT;清洁
  2. 项目设置 - &gt; Java构建路径。打开“订购和导出”标签。
  3. 查看GoogleAdMobsAdsSDK。
  4. 这对我有用。

答案 3 :(得分:6)

将此错误从Android 16更新为20。

通过转到Java Build Path,Order and Export选项卡解决,检查并移动了我的源代码下的GoogleAdMobAdsSdk。出于某种原因修复了它。

更改订单并没有破坏它。因此必须初始化一些设置。

答案 4 :(得分:1)

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

Multiple dex files define Lcom/google/ads/AdRequest$ErrorCode and Multiple dex files define Lcom/google/ads/AdRequest$ErrorCode

尽管列出了所有解决方案的许多小时,但我可以让我的应用运行的唯一方法是在此处使用AdMob横幅示例:

https://github.com/googleads/googleads-mobile-ios-examples/tree/master/admob/SmartBannerExample

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

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

答案 5 :(得分:0)

请参阅此答案Android update 17 seems incompatible with external Jars

您需要将所有jar放在 lib libs 文件夹中。

答案 6 :(得分:0)

仅仅在Java Build Path中添加“GoogleAdMobAdsSdk-6.4.1.jar”是不够的,那么你应该切换到表:Order and export。在这里检查“GoogleAdMobAdsSdk-6.4.1.jar”。

答案 7 :(得分:0)

更新:

选择项目设置&gt; Java Build Path,然后是Order and export。

在这里,查看google-play-services.jar。

这应解决NoClassDefFoundError问题。

答案 8 :(得分:0)

在我的情况下,我需要点击“订购和导出”标签上的“Android私人图书馆”

答案 9 :(得分:0)

转到属性 - Java构建路径 - 订购和导出并检查每个Checkmark!这对我的项目起了作用。