AdMob错误 "你必须在androidmanifest.xml中声明adactivity并使用configchanges"

10
我正在尝试在我的安卓应用中使用AdMob。当我启动模拟器时,它显示:

“你必须在androidmanifest.xml中声明adactivity,并进行configchanges设置”。

关于这个问题有很多主题,但没有一个可以解决它。

请帮帮我!

问候,Jasper....

4个回答

41

在 AndroidManifest 定义中,一个适当的 Admob Activity 应该长成这样:

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

你可能遗漏了android:configChanges部分。

请注意,所有的configChanges参数都是必需的。由于不是所有的参数都存在/在旧的SDK中被允许使用,因此您需要将更高版本的Android作为默认构建平台。如果您正确设置了minSdk并且不在代码中使用任何较新的API调用,则仍然可以针对旧的Android版本。


3
我将<uses-sdk放在<application上方来修复错误。但现在我正在模拟器中测试,为什么我看不到广告?大家都说需要等待,但已经过去一个小时了,广告还没有出现! - Jasper Meijrink

9

对我有用的是将Android SDK版本更改为13 并且在清单文件中扩展android:configChanges以包含所有参数:

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"

注意:configChanges内容区分大小写,因此请确保保留camelCase!(在开始时这个问题困扰了我)

大约一分钟左右,我开始收到广告。


2

1

将您的构建目标设置为最新版本(>=4),它会正常工作。您仍然可以根据需要设置minSdkVersion和targetSdkVersion。

广告将在一段时间后出现,请耐心等待 :)


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