选择SDK版本达到最大人数

Choosing SDK version to reach maximum number of people

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

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

这是我屏幕上显示的管理器的屏幕截图。

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

事实上,您不需要下载旧版 SDK 就可以让旧版设备使用您的应用程序。

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

定义受众

首先,定义应用的受众。

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

如果您检查 table,您可以看到只有少数设备仍在使用 API 15 或更早版本。

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

因此,根据 table,您定义受众

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

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

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

但这是可选的...我可以 select 分钟 API 为 13... 或 14.. 或 4.. 这取决于您..

定义受众后

目标SDK

我一般是根据我要支持的MAXAPI设置目标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 Manifest

中完成

这里可以看到targetSdk是24,也就是说我只需要下载SDK v24就可以构建这个项目了。即使那样,我也可以在 API 16 或更高版本的设备上安装此应用程序。

日食 (AndroidManifest.xml)

<manifest>
    ....
    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="24" />
    ...
</manifest>

Android 工作室 (build.gradle)

compileSdkVersion 24
buildToolsVersion "24.0.0"

minSdkVersion "16"
targetSdkVersion "24"

minSdkVersion 不保证您的应用程序正常工作

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

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

另一个例子是 Fragment.onAttach(Context context) 方法,它仅在 API 23.

中添加

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

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

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

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

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

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