18

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

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

该程序编译没有错误,但在运行时我收到消息java.lang.NoClassDefFoundError: com.google.ads.AdView。我在这里看到了对问题和解决方法的假设解释,但我看不出它如何适用于我的项目,因为我的项目中没有“lib”或“libs”目录。

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

4

10 回答 10

33

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

修复:
选择 project settings > Java Build Path,然后选择Order and export

在这里,检查GoogleAdMobAdsSdk -package。

这应该解决NoClassDefFoundError问题。

于 2012-05-17T08:23:22.317 回答
23

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

于 2012-04-27T15:39:01.487 回答
13
  1. 项目-> 清洁
  2. 项目设置 -> Java 构建路径。打开“订购和导出”选项卡。
  3. 检查 GoogleAdMobsAdsSDK。

它对我有用。

于 2012-07-11T12:54:21.547 回答
6

从 android 16 更新到 20 时出现此错误。

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

改回订单并没有破坏它。所以一定需要初始化一些设置。

于 2012-07-30T16:22:39.123 回答
1

我有这个问题,也有这个问题:

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

尽管遵循列出的所有解决方案很多小时,但我可以让我的应用正常工作的唯一方法是在此处使用 AdMob 横幅示例:

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

并围绕它重新构建我的项目,将我的文件复制到该项目中。如果你被卡住了,试试看。

不知道为什么它起作用了,但现在它起作用了。我的项目中的某些东西非常错误。现在我可以继续我的工作了。我喜欢谷歌/安卓,但真的是一团糟!

于 2014-06-10T11:14:35.567 回答
0

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

于 2014-05-08T16:02:54.493 回答
0

更新:

选择项目设置 > Java 构建路径,然后选择订购和导出。

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

这应该可以解决 NoClassDefFoundError 问题。

于 2014-02-10T16:02:05.413 回答
0

仅在 Java Build Path 中添加“GoogleAdMobAdsSdk-6.4.1.jar”是不够的,您应该切换到 table:Order 和 export。在此处查看“GoogleAdMobAdsSdk-6.4.1.jar”。

于 2014-02-08T08:58:40.497 回答
0

看到这个答案Android update 17似乎与外部罐子不兼容

您需要将所有 jars 放在libs的libs文件夹中。

于 2012-04-27T17:11:52.607 回答
0

就我而言,我需要单击“订购和导出”选项卡上的“Android 私人图书馆”

于 2014-04-21T07:59:07.837 回答