【问题标题】:Android Manifest Error from Admob来自 Admob 的 Android 清单错误
【发布时间】:2012-01-24 19:43:19
【问题描述】:

我正在尝试集成 AdMob,但我不得不将此行添加到我的清单中,并且一直收到此错误。这是此链接中的示例http://code.google.com/mobile/ads/docs/android/fundamentals.html

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

错误:错误:不允许使用字符串类型(在 'configChanges' 处有值 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize')。

【问题讨论】:

    标签: java android admob


    【解决方案1】:

    您必须针对 API 13 (Android 3.2) 进行构建。您将在 Manifest 中保留 android:minSdkVersion 相同的内容,但您必须针对 3.2 进行构建。

    在 Eclipse(我假设?)中,右键单击项目 > 属性 > Android(在左侧)> 然后选择 3.2 并单击“确定”。

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

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

    【讨论】:

    • 对不起什么!?谢谢你的回复,这让我很意外。目前我的目标是1.6。这是eclipse中的错误吗?
    • 这不是 Eclipse 或任何东西的错误,就此而言。 configChanges 内部的一些属性是在 3.2 中引入的。而且您无法将它们从 configChanges 中删除,因为那样您的广告将不会展示。
    • 旧设备将忽略任何他们无法识别的configChanges,但这是一个编译错误。
    【解决方案2】:

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

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

    【讨论】:

    • 这意味着您的 Admob SDK 可能已经过时了。 code.google.com/mobile/ads/docs/android/fundamentals.html 的当前文档说“[确保]您至少针对 Android v3.2 进行编译(将 default.properties 中的目标设置为 android-13)。”
    • 是的。当前版本是 4.3.1。但我很确定您可以通过排除不受支持的选项来使其工作。
    • 我尝试在我的应用程序中这样做,然后当我在我的测试设备上运行它而不是显示广告时,它给了我一条消息,说明我需要和没有的清单选项。
    • No Frohnzie,它不起作用,最新的 SDK 抛出异常。
    【解决方案3】:

    在这里玩过之后,我发现正确的组合显然 adMob 需要一些设置。我正在使用 3.2 SDK 进行构建,但我已经对此进行了测试,它在 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
    

    然后将您的&lt;com.google.ads.AdView .../&gt; 添加到您的 XML 布局中或从代码中调用它,您应该可以开始工作了。

    【讨论】:

      【解决方案4】:

      您可以忽略最新的更改,而使用旧的更改

      configChanges="keyboard|keyboardHidden|orientation"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-14
        • 2015-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-09
        • 1970-01-01
        • 2014-06-29
        相关资源
        最近更新 更多