如何支持1.6及以上的设备?

时间:2012-02-11 22:41:45

标签: android api

我刚刚开始开发Android应用程序,我从一开始就想知道这个问题。 显然,如果你使用API​​ 13(3.2)并不重要,你仍然可以支持Android 1.6。真的吗?

要让AdMob工作,我必须开始使用API​​ 13并设置

target=android-13

有人请澄清这一点或指点我阅读它。

2 个答案:

答案 0 :(得分:3)

  

显然,如果您使用API​​ 13(3.2)并不重要,您仍然可以支持Android 1.6。这是真的吗?

这取决于您的意思"使用API​​ 13"。

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

然而:

  1. 当您未在API Level 13设备上运行时,您无法调用API Level 13中不存在的方法(同样适用于API级别12,11,10等)。

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

  3. 在其中任何一种情况下,您都会得到一个VerifyError,而您的应用将会进入&#34;繁荣&#34;。

    有条件使用新API的策略,可以避免尝试在旧的API设备上使用这些东西。或者,一开始就坚持使用旧的API,即使你没有获得编译器帮助,也可以在你意外使用更新的API时告诉你,因为你正在使用更新的构建目标。 / p>

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

答案 1 :(得分:1)

在你的清单文件中你可以把你想要支持的最小sdk版本和你的目标sdk版本,它们可以不同,支持1.6指定android:minSdkVersion =“4”如下

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