如何支持1.6及更高版本的设备?

问题描述:

我刚开始开发android应用程序,我从一开始就想知道这个权利。 显然,如果您使用API​​ 13(3.2)并不重要,您仍然可以支持Android 1.6。真的吗?如何支持1.6及更高版本的设备?

是AdMob的工作,我不得不开始使用API​​ 13个工作,并建立

target=android-13 

有人请澄清这或点我的地方阅读。

在您的清单文件,你可以把你想要支持的最小SDK版本和你的目标SDK版本,它们可能会有所不同,支持1.6指定安卓的minSdkVersion =“4”如下

<manifest xmlns:android="http://schemas.android.com/apk/res/android"> 
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="13" /> 
+0

谢谢,我会选择你的答案,因为它很简单。对于深入的解释也要感谢@CommonsWare – 2012-02-11 22:57:58

显然,如果你使用API​​ 13(3.2),你仍然可以支持Android 1.6。真的吗?

这取决于您“使用API​​ 13”的含义。

如您稍后在您的问题中提到的那样,构建API Level 13的构建目标仅仅意味着您正在编译的Android SDK版本。您将能够引用API Level 13(及更早版本)上存在的类和方法。您的应用仍然可以在您需要的任何Android版本上运行。

但是:

  1. 你不能打电话的时候,你是不是一个API等级13设备上运行(并且对于API等级12,11,10等不至API等级13存在的方法)。

  2. 如果您希望支持Android 1.x,甚至无法引用VM中加载的类中设备上不存在的类或方法。

在那些情形,你会得到一个VerifyError,和你的应用程序将走“潮”。

有条件地使用较新的API的东西,使您可以避免尝试使用旧的API设备上的东西。或者,只要坚持使用旧的API,即使您不会在编译器的帮助下通知您意外使用更新的API,因为您使用的是更新的构建目标。

或者联系AdMob支持并找出他们为什么需要该构建目标。

+0

谢谢你,这是我一直在寻找的信息。 – 2012-02-11 22:56:40