选择 SDK 版本以达到最大人数

Khu*_*eel 1 eclipse sdk android

我是一个完整的 Android 开发初学者,刚刚下载了 Android SDK 以将其与 Eclipse 集成。

但是,我不知道我应该在 SDK Manager 中选择哪个 Android 版本,以允许最大数量的人下载和使用我的应用程序。

这是显示在我屏幕上的经理的屏幕截图。

SDK 管理器窗口

任何形式的帮助将非常感激。谢谢。

W0r*_*0le 5

事实上,您无需下载 OLD SDK 就可以让 OLD 设备使用您的应用程序。

这是通过目标 SDK 版本和最小 API 级别(AndroidManifest.xml 或 build.gradle)在您的项目设置中完成的。

定义受众

首先,为您的应用定义受众。

在这里您可以找到每个 Android 版本的市场份额(这可能因国家/地区而异,但可能会有所帮助)。

如果您查看该表,您会发现只有少数设备仍在使用 API 15 或更早版本。

在此处输入图片说明

所以,如果你支持 API<15,你只会多接触约 3% 的人。如果您可以在不丢失任何功能的情况下支持它们,那很好(并非所有 android 功能都支持/移植到所有版本)。但是,如果您可能需要禁用某个功能(例如您创建的那个特殊的浮动操作按钮)来访问这些设备,我认为这不值得。

因此,根据该表,您可以定义受众

以我为例,我喜欢使用 API_16 到 API_24 的 API 为设备构建应用程序。

通常,我们总是希望使用最大可用的 API。今天,24。

通过这种方式,我可以接触到约 97% 的 Android 用户。

但这是可选的...我可以选择最小 API 为 13... 或 14.. 或 4.. 这取决于您..

定义受众后

目标 SDK

我通常根据我想要支持的 MAX API 来设置目标 API。因此,例如,如果我要支持的 MAX API 是 API_24,这将是我的目标 API,并将下载 SDK v24 (7.0)。

通常,您总是会安装最新的 SDK,因为您总是希望达到最新的 android 版本并享受所有新功能。

最小API

现在,您还定义了要支持的最小 API 版本。因此,让我们以 API 16 为例(第一个 JB 版本)。

您将在项目文件 ( AndroidManifest.xml) 中进行设置。您无需因此而下载 SDK 16。

设置 Eclipse

正如我所说,min SDK 将在您的项目中设置。这将在您的 Android 清单中完成

在这里,可以看到targetSdk是24。这意味着我只需要下载SDK v24来构建这个项目。即便如此,我也可以在 API 16 或更高版本的设备中安装此应用程序。

Eclipse (AndroidManifest.xml)

<manifest>
    ....
    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="24" />
    ...
</manifest>
Run Code Online (Sandbox Code Playgroud)

Android Studio (build.gradle)

compileSdkVersion 24
buildToolsVersion "24.0.0"

minSdkVersion "16"
targetSdkVersion "24"
Run Code Online (Sandbox Code Playgroud)

minSdkVersion 不保证您的应用程序会运行

请注意,上述设置仅允许您的应用在 API>=16 或 API<=24 的设备中运行。但是,您的应用可能会崩溃或无法在该范围内的所有设备上运行。这通常是因为根据 API 版本添加或删除了某些视图组件或方法。

例如,Fragment仅在 API11 上添加。因此,如果您尝试在具有 APIv11 的手机中安装您的应用程序,它将起作用。但是,如果将其安装在带有 API4 的设备中,则会崩溃。

另一个例子是Fragment.onAttach(Context context)仅在 API 23 中添加的方法。

这就是我们使用支持库的原因

支持设计库它是一个由谷歌创建的库,它使开发人员能够在旧的 Android 版本中使用来自新 Android 版本的功能。

因此,例如,要添加与 API<11 的设备兼容的 Fragment,您应该Fragment从包中导入和使用类,android.support.v4.app.Fragment而不是 SDK ( android.app.Fragment) 中包含的默认版本。

这样,您的应用程序就不会崩溃。

当然,这是非常基本的例子。只是为了说明...

无论如何,我希望我能帮助你问候