多个dex文件定义Lcom / google / ads / AdRequest $ ErrorCode
最新的ADT,最新的SDK工具(22.3)。
我试过:
我的所有项目现在都以API lvl 19为目标。
我不知道该怎么做。
由于
答案 0 :(得分:53)
多个dex文件错误只是告诉您包含来自不同来源的同一个类文件。因此,重新启动Eclipse或使用Ant构建将无济于事,因为您的项目设置无效。
由于您没有指定您正在使用的罐子,因此无法确定发生了什么。
然而,最新的Google Play图书馆包含广告,我的猜测是您包括显然包含相同课程的Admob和Google Play服务。在这种情况下,您应该迁移代码以使用Google Play服务广告并从项目中删除admob jar。
答案 1 :(得分:13)
*右键单击项目名称,然后选择构建路径。
*然后选择配置构建路径。
*从Java Build Path中选择Order and Export。
选项卡*取消选中.jar库。
错误通常是由于库中的多样性造成的。
答案 2 :(得分: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)
EDIT2:
好的,现在我解决了我的问题。我是个白痴...... 好吧,我在服务库中集成了AdMob SDK ...我删除了它,一切都很棒了!所以删除services_lib,下载它并再次导入,我想这应该工作。祝好运!
答案 3 :(得分:2)
从我的项目中删除“GoogleAdMobAdsSdk-6.4.1.jar”后工作正常。 不要忘记将Google Play服务作为库添加到您的应用中。 此致!
答案 4 :(得分:2)
这是因为Google Play服务中包含Google广告。 这就是你有多个dex错误的原因。
http://developer.android.com/reference/com/google/android/gms/ads/AdRequest.html
答案 5 :(得分:1)
如果您也在使用Google Play服务,则会发生冲突。
答案 6 :(得分:0)
Eclipse项目属性 - &gt; Java构建路径 - &gt;订单和导出
取消选中Android私有库。
不要在项目中使用google play service lib的jar文件和库项目。