关于这个主题有很多有用的帖子,但都要求我使用比我编写应用程序更晚的sdk。为了尽可能使我的应用程序向后兼容,我选择使用Android 1.5(sdk)创建它v 3)。 使用建议用于声明清单的代码我在eclipse中遇到了一些问题,因为代码引用了以后在Android 1.5中不可用的sdk函数
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
/>
Eclipse告诉我,定位后的所有内容都是问题。
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize').
在清单的代码或如何为以后的目标编译时,有人可以指出我正确的方向吗?
干杯!!
好的.....这里是清单中的代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ohmywebdesign.trigsolver"
android:versionCode="5"
android:versionName="1.3" >
<uses-sdk android:minSdkVersion="8" />
<uses-sdk android:targetSdkVersion="8" />
<uses-sdk android:maxSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<meta-data android:value="YOURPUBIDHERE" android:name="ADMOB_PUBLISHER_ID" />
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<activity
android:name=".Splash"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 0 :(得分:0)
这样的事情:
<uses-sdk android:minSdkVersion="3" />
<uses-sdk android:targetSdkVersion="8" />
<uses-sdk android:maxSdkVersion="15" />
在你的清单中,你可以做你想做的事。
另外,请确保您拥有最新的AdMob SDK,即版本4.3.1 http://code.google.com/mobile/ads/download.html
并且包括
<meta-data android:value="YOURPUBIDHERE" android:name="ADMOB_PUBLISHER_ID" />
答案 1 :(得分:0)
正如MisterSquonk对该问题的评论所述,一些configChanges
值的API级别高于1.5。仅仅更改清单中的最小/目标/最大API级别的值不会解决您的问题,您必须确保构建对照声明这些值的SDK级别。
对于基于Ant的构建,这将需要在target
中更改project.properties
属性的值;我没有将Eclipse用于我的Android项目,所以我不是百分百肯定,但是这里的Eclipse/ADT documentation摘录似乎与您需要做的事情有关:
注意:您可以随时更改项目的构建目标:在包资源管理器中右键单击项目,选择属性,选择 Android ,然后检查所需的项目目标。
当然,如果这样做,您必须确保不要直接使用API级别高于最低级别的任何类/方法,否则在运行较低API级别的设备上运行时,您的应用程序将在运行时失败。
请记住,清单仅在运行时在设备上使用(以及大多数分销渠道,例如Android Market)。构建目标是完全独立的,在编译时使用。