Android:如何保持特定版本与最新Android版本之间的兼容性

时间:2014-01-13 09:41:02

标签: android

作为一个新手我不知道如何确保我的应用程序在某些Android版本范围之间工作。 According to latest statistics,似乎2.3.3(姜饼)仍然在那里大量使用(除了ICS和JB)。但是现在Kitkat已经取得了成功,许多应用程序也会更新以支持它,同时仍然保持与旧版Android的兼容性。

基本上什么是支持最新版本的android以及指定的最小旧版本的一般指导原则。例如,如何确保我的应用程序从2.3.3(姜饼)到最新的4.4 kitkat开始工作?

还可以使用模拟器来确保应用程序在指定范围内工作吗?

PS:我知道可以通过应用程序清单文件指定,但这不是我的问题我只是在寻找如何在两个版本之间实现app 兼容

感谢您的建议和有用的想法:)

4 个答案:

答案 0 :(得分:2)

您有不同的方法来实现这一目标。
第一件事:     尽管你想支持min sdk,你应该总是使用最新的sdk来构建你的应用程序。 此时,选择要支持的min sdk并在清单中声明它。 如果你正在使用带有lint的eclipse,那么在这一点上很容易发现你是否在该平台级别使用不支持的api。

如果您想使用新的API并使其仅在较新的设备上可用,您基本上有两种方法:

  1. 使用反射(气馁)

  2. 对使用新api和call的方法使用@TargetApi注释 这些方法仅适用于那些api可用的设备

    if(Integer.valueOf(android.os.Build.VERSION.SDK)>whatlevelyouwant){
        callMethodWithNewAPI();
    }
    

答案 1 :(得分:1)

您可以在Google的“支持不同版本”网站上找到大量信息:http://developer.android.com/training/basics/supporting-devices/platforms.html

一般来说,你应该支持90%的设备(这意味着你可以省略Android 2.2,但应该从2.3开始)。

然而,一些新的应用程序不是从2.3开始,而是从4.0开始。这使得生活在测试方面变得更加容易。

答案 2 :(得分:1)

在ADT中,您可以使用ADV生成不同的模拟器,每个模拟器对应您要支持和测试的每个Android版本。 它不如真实设备好,但却是一个有用的起点

答案 3 :(得分:-1)

您可以在清单文件中定义MinSdk and maxSdk。这将定义您的应用程序将支持哪个Android Versions

android:minSdkVersion
An integer designating the minimum API Level required for the application to run. 

android:maxSdkVersion
An integer designating the maximum API Level on which the application is designed to run.

因此,如果您希望您的应用与2.3兼容,您可以在清单文件中定义最新版本:

 <uses-sdk
        android:minSdkVersion="8" />

如果你没有指定maxSdkVersion,它将采用最新发布的Android版本。所以这一行暗示你的应用程序与所有具有android 2.3或更高版本的设备兼容..