com.google.ads.AdView无法实例化

时间:2012-05-04 11:21:27

标签: android xml admob

我使用过admob sdk并添加为外部jar。在xml中我指定了

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TextView android:id="@+id/headerfield"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
<ListView android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

<com.google.ads.AdView 
    android:id="@+id/ad"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    ads:adSize="BANNER"    
    ads:adUnitId="Publisher Id"
    ads:loadAdOnCreate="true" />    
</LinearLayout>

清单

<activity android:name="com.google.ads.AdActivity"
    android:configChanges="keyboard|keyboardHidden|orientation"/>

但是在图形模式下它给我一个错误日志:

com.google.ads.AdView - the following class could not be instantiated. 

在程序内部显示

您必须在AndroidManifest.xml中使用configChanges声明AdActivity。

3 个答案:

答案 0 :(得分:5)

documentation开始,您需要在活动中包含其他configChanges(假设您使用的是4.3.1或更高版本):

<activity android:name="com.google.ads.AdActivity"
          android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

如果遇到无法识别screenSize和smallestScreenSize的问题,则必须编译aganist Android 3.2或更高版本。查看此migration blog post以获取有关将4.1.1升级到更新版本的更多信息(同样适用于移至6.0.0)。

答案 1 :(得分:2)

您是否也导出了AdMob库?

进入项目属性&gt; Java构建路径&gt;订单和出口

检查admob.jar旁边的小方框是否已选中;如果没有,就这样做。

答案 2 :(得分:0)

如果有人仍在查看此线程,请检查您呈现视图的API级别是否低于17.对我而言,它在17处工作。您可以使用图形布局上方的小型机器人来更改它。 / p>