AdMob无法显示广告,因为configChanges配置有问题。

28

可能重复:
Admob错误:android:configChanges中的Eclipse

我想在我的Android应用程序中显示AdMob广告。 我按照文档中的说明进行了所有必要的操作。 但是,当我在AndroidManifest.xml上的此行中出现错误时,无法运行我的应用程序:

<activity android:name="com.google.ads.AdActivity"
              android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
错误是:
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|
 screenLayout|uiMode|screenSize|smallestScreenSize').

但是,如果我删除某些值,我的应用程序仍在运行,但广告被替换为此文本:“您必须在AndroidManifest.xml中声明AdActivity,并进行configChanges配置。”

我不明白如何解决这个问题。

我正在使用Android SDK 2.1和最新的Google AdMob SDK 4.3.1。

谢谢

2个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
50
为了解决这个问题,您需要将项目构建目标设置为Android 3.2或更高版本,请参阅文档中的要求部分(Android选项卡)。

1
我不理解的是,在项目构建目标的属性中,选中的是Android 2.1。 如果我使用Android 3.2或更高版本构建我的项目,我的应用程序将无法在Android 2.1上访问。 - guillaume
19
不,那不正确。你正在使用编译目标版本编译你的应用程序,以便你的应用程序可以(但不一定要)使用所有新的API。但是你仍然可以在运行旧版Android系统的设备上运行你的应用程序。你可以在uses-sdk清单标签中指定能够运行你的应用程序的Android操作系统的最小版本(如果未指定,则minSdkVersion为1)。 - Tomik
2
谢谢,我现在更好地理解了所使用的 SDK 和 minSdkVersion 之间的关联 :) - guillaume
请检查您清单文件中的 android:minSdkVersion 属性。看起来您将其设置为14,如果要在Android 2.3上运行应用程序,请将其设置为10或更低。 - Tomik
我建议您将其作为一个新问题发布。评论不是合适的地方。 - Tomik
显示剩余3条评论

7
你也可以忽略新的configchanges设置,让它像旧版本一样:
configChanges="keyboard|keyboardHidden|orientation"

这是我在Admob广告活动中一直拥有的。新的东西可能是针对Android 3+的。


4
这对我没有起作用。当设置这个时,出现了带有红边框的黑色横幅。对我来说,唯一有效的解决方案是改变构建目标。 - sven
4
没错,除非使用旧版本的admob jar库,否则无法运行。 - Blundell
这对于新的admob jar不起作用。它适用于早期版本。 - Jay Mayu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,