2011-12-20 37 views
2

我正在尝试整合AdMob,并且我已经到了必须将此行添加到清单并且不断收到此错误的地步。这是典范从这个链接http://code.google.com/mobile/ads/docs/android/fundamentals.html来自Admob的Android清单错误

<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').

回答

7

你必须建立针对API 13(Android 3.2的)。您将在您的Manifest中保留android:minSdkVersion,但您必须根据3.2进行构建。在Eclipse中(我假设?),右键单击项目>属性> Android(在左侧)>然后选择3.2并单击'确定'。

这不会导致问题 - 您的应用在旧设备上仍能正常运行。但要小心,并确保不要为旧设备使用新代码。

我通常会做的这一点很简单,就是在导出到发布之前,我将目标切换回最小值,确保没有编译错误,然后将其切换回3.2 - 只是一个提示。

+0

对不起什么!谢谢你的回复,这让我感到吃惊。目前我的目标是1.6。这是日食中的错误吗? – Somk 2011-12-20 21:59:59

+0

对于这个问题,这不是Eclipse的错误或任何错误。 3.2中引入了一些属于“configChanges”的属性。你不能从'configChanges'中删除它们,因为那时你的广告就不会显示。 – Jakar 2011-12-20 22:09:00

+1

旧设备将忽略任何他们无法识别的'configChanges',但这是一个编译错误。 – Hounshell 2011-12-22 10:17:26

1

我在清单中使用以下内容。目标Android SDK是版本8.使用AdMob SDK 4.1.1。

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

这意味着您的Admob SDK可能已过时。 http://code.google.com/mobile/ads/docs/android/fundamentals.html上的当前文档声称“[确保]您至少要针对Android v3.2进行编译(在default.properties中设置目标到android-13)“。 – Jakar 2011-12-21 04:57:51

+0

是的。目前的版本是4.3.1。但是我非常肯定你可以通过排除不支持的选项来实现它。 – Frohnzie 2011-12-21 13:57:16

+0

我试图在我的应用中这样做,然后当我在测试设备上运行它而不是显示广告时,它给了我一条消息,说明我需要的和没有的清单选项。 – Jakar 2011-12-21 14:00:13

0

在这里玩了一遍后,我发现正确的组合显然adMob需要一些设置。我正在使用3.2 SDK进行构建,但我已经测试过它,它仅在FYI运行在2.3.3上。

AndroidManifest.xml中

<uses-sdk 
    android:minSdkVersion="10" 
    android:maxSdkVersion="16" 
    android:targetSdkVersion="13"/> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

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

然后我default.properties必须

target=android-10 

另外,project.properties不得不

target=android-13 

添加您<com.google.ads.AdView .../>到您的XML布局或从代码调用它,你应该在业务中。

0

可以忽略的最新变化,并使用较老的一个,而不是

configChanges =“键盘| keyboardHidden |方向”