12

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

最新的 ADT、最新的 SDK 工具 (22.3)。

我试过了 :

  1. 清理/重建
  2. 更新 Eclipse
  3. 删除 bin 和 gen 文件夹
  4. 重启 Eclipse
  5. 使用 Ant 手动构建
  6. 加上一些其他的东西

我所有的项目现在都针对 API lvl 19。

我不知道该怎么做。

谢谢

4

7 回答 7

53

多个 dex 文件错误只是告诉您您包含来自不同来源的相同类文件。因此,重新启动 Eclipse 或使用 Ant 构建将无济于事,因为您的项目设置只是无效的。

由于您没有指定正在使用的 jar,因此无法确定发生了什么。

但是,最新的 Google Play 库包含广告,我猜您将同时包含 Admob 和 Google Play 服务,它们显然包含相同的类。在这种情况下,您应该迁移您的代码以使用 Google Play 服务广告并从您的项目中删除 admob jar。

于 2013-11-02T13:43:58.357 回答
13

*右键单击项目名称并选择构建路径。

*然后选择配置构建路径。

*从 Java Build Path 中选择选项卡 Order and Export。

*取消选中 .jar 库。

该错误通常是由于库中的多样性造成的。

于 2014-04-24T15:14:04.683 回答
7

你检查过你的xml文件吗?我有同样的问题(还没有解决),我忘了改变 adView 属性:

<com.google.ads.AdView
    android:id="@+id/adView"

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"

那么你也应该检查你的

xmlns:ads="http://schemas.android.com/apk/lib/com.google.android.gms.ads"

(不知道这是否正确……)

编辑:发现这个:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:ads="http://schemas.android.com/apk/res-auto"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
  <com.google.android.gms.ads.AdView android:id="@+id/adView"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         ads:adUnitId="MY_AD_UNIT_ID"
                         ads:adSize="BANNER"/>
</LinearLayout>

(来源:https ://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals )

编辑2:

好的,现在我解决了我的问题。我真是个白痴……好吧,我将 AdMob SDK 集成到了服务库中……我删除了它,一切又好了!所以删除 services_lib,下载它并再次导入我猜应该可以工作。祝你好运!

于 2013-11-02T13:27:33.317 回答
2

这是因为 Google Play 服务中有 google Ads。这就是为什么你有多个 dex 错误。

http://developer.android.com/reference/com/google/android/gms/ads/AdRequest.html

于 2013-11-10T14:12:28.110 回答
2

从我的项目中删除“GoogleAdMobAdsSdk-6.4.1.jar”后工作正常。不要忘记将 Google Play 服务作为库添加到您的应用程序中。问候!

于 2013-11-04T18:27:08.427 回答
1

如果您也使用 google play 服务,则存在冲突。

于 2013-11-02T12:21:25.250 回答
0

Eclipse项目属性->Java构建路径->排序和导出

取消选中 Android 私有库。

不要在项目中同时使用 google play service lib 的 jar 文件和库项目。

于 2015-04-14T09:54:40.060 回答