多个 dex 文件定义 Lcom/google/ads/AdRequest$ErrorCode
最新的 ADT、最新的 SDK 工具 (22.3)。
我试过了 :
- 清理/重建
- 更新 Eclipse
- 删除 bin 和 gen 文件夹
- 重启 Eclipse
- 使用 Ant 手动构建
- 加上一些其他的东西
我所有的项目现在都针对 API lvl 19。
我不知道该怎么做。
谢谢
多个 dex 文件定义 Lcom/google/ads/AdRequest$ErrorCode
最新的 ADT、最新的 SDK 工具 (22.3)。
我试过了 :
我所有的项目现在都针对 API lvl 19。
我不知道该怎么做。
谢谢
多个 dex 文件错误只是告诉您您包含来自不同来源的相同类文件。因此,重新启动 Eclipse 或使用 Ant 构建将无济于事,因为您的项目设置只是无效的。
由于您没有指定正在使用的 jar,因此无法确定发生了什么。
但是,最新的 Google Play 库包含广告,我猜您将同时包含 Admob 和 Google Play 服务,它们显然包含相同的类。在这种情况下,您应该迁移您的代码以使用 Google Play 服务广告并从您的项目中删除 admob jar。
*右键单击项目名称并选择构建路径。
*然后选择配置构建路径。
*从 Java Build Path 中选择选项卡 Order and Export。
*取消选中 .jar 库。
该错误通常是由于库中的多样性造成的。
你检查过你的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,下载它并再次导入我猜应该可以工作。祝你好运!
这是因为 Google Play 服务中有 google Ads。这就是为什么你有多个 dex 错误。
http://developer.android.com/reference/com/google/android/gms/ads/AdRequest.html
从我的项目中删除“GoogleAdMobAdsSdk-6.4.1.jar”后工作正常。不要忘记将 Google Play 服务作为库添加到您的应用程序中。问候!
如果您也使用 google play 服务,则存在冲突。
Eclipse项目属性->Java构建路径->排序和导出
取消选中 Android 私有库。
不要在项目中同时使用 google play service lib 的 jar 文件和库项目。