Eclipse中的Admob错误:android:configChanges

Mar*_*ron 131 eclipse android admob

Eclipse在我的AndroidManifest.xml中的android:configChanges行上给出了一个错误:

<activity android:name="com.google.ads.AdActivity"
              android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"></activity>
Run Code Online (Sandbox Code Playgroud)

错误是:

error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize').
Run Code Online (Sandbox Code Playgroud)

如果我只留下keyboard|keyboardHidden|orientation没有错误,但是当我尝试构建时,编译器会要求剩下的4个.

我正在使用GoogleAdMobAdsSDK-4.3.1.

有任何想法吗?

编辑:我通过将project.properties(SDK的低于14的default.properties)文件更改为:

# Project target.
target=android-14
Run Code Online (Sandbox Code Playgroud)

在我的SDK Manager中安装了SDK平台Android 4.0 - Revision 14.

它也应该适用于SDK平台android 3.2 - 修订版13,所以你只需要将project.properties目标更改为android-13,如果是这样的话.基本上,您只需确保SDK版本为13或更高版本,并且您在SDK管理器中安装了该SDK,并且default/project.properties中的项目目标指向它.

Dax*_*Dax 86

简单的解决方案:(并且您不需要更改min-sdk值!!)

第1步: 更改"project.properties"文件

# Project target.
target=android-13
Run Code Online (Sandbox Code Playgroud)

第2步: 在Eclipse中

Project > Clean... > (select your project) > Clean projects selected below > OK
Run Code Online (Sandbox Code Playgroud)

有关真实示例的完整说明,请使用本教程http://www.monkeycoder.co.nz/Community/posts.php?topic=1121

干杯!


Hef*_*olf 74

简单回答:提到的配置更改在Android 2.1中不支持,请看这里:

http://developer.android.com/guide/topics/manifest/activity-element.html#config

例如,uiMode需要API级别8.

从官方AdMob文档:

要求

适用于Android的Google AdMob Ads SDK需要Android 1.5或更高版本.确保您拥有Android SDK的最新副本,并且您正在编译至少Android v3.2(将default.properties中的目标设置为android-13).

看看这里:https://developers.google.com/admob/android/quick-start

所以我认为你的工具版本至少没有更新到版本13.

  • screenSize和smallestScreenSize仅在API Level 13中受支持,这意味着Honeycomb,您确定需要它们吗?因为它们非常具体. (9认同)

Ton*_*han 18

对于那些使用Eclipse的人来说,有一种更简单的方法: 右键单击左侧"Package Explorer"窗格中的项目文件夹,然后单击Properties - > Android - >,然后在"Project Build Target"列表中选中API 13或更高版本.

注意:这与project.properties自动生成的编辑效果相同.

这将针对Android 3.2 SDK构建您的项目,其中包含以前无法识别的术语.

您可以在Manifest.xml中保留android:minSdkVersiontargetSdkVersion值相同.

但是要注意,如果你没有将你的设置设置targetSdkVersion为API 12或更低(或根本没有设置它),那么Android系统将假设android:configChangesscreenSizesmallestScreenSize(在API 13中引入的)被计算在内,因此将会允许销毁 - 重启您的活动.如果你想避免这种情况,你必须在其他<activity>标签中包含这些条款(这可能只是keyboard|keyboardHidden|orientation到目前为止).

但是,如果您的应用程序的目标是API级别12或更低,那么您的活动始终会自行处理此配置更改(即使在Android 3.2或更高版本的设备上运行,此配置更改也不会重新启动您的活动).

引用来自这里.