android - 选择SDK版本达到最大人数

标签 android eclipse sdk

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

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

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

SDK Manager window

我们将不胜感激任何形式的帮助。 谢谢。

最佳答案

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

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

定义受众

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

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

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

enter image description here

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

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

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

通常,我们总是希望使用最大可用的 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 list 中完成

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

Eclipse (AndroidManifest.xml)

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

Android Studio(build.gradle)

compileSdkVersion 24
buildToolsVersion "24.0.0"

minSdkVersion "16"
targetSdkVersion "24"

minSdkVersion 不保证您的应用会正常运行

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

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

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

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

Support Design Library 它是由 Google 创建的库,它使开发人员能够在旧 Android 版本中使用新 Android 版本的功能。

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

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

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

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

关于android - 选择SDK版本达到最大人数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38664232/

相关文章:

android - 如何放置稳定标记(图像上的实心圆圈)。哪个将在下一帧相机的相同位置?

android - 如何设置 HTML 元视口(viewport)以 100% 宽度开始?

android - HttpClient 在 Android 5.0 Lollipop 中失败并显示 Handshake Failed

Android 支持库 appcompat v7 : cannot find actionModeShareDrawable resource

eclipse - 如何确保实用项目库依赖项打包到 Eclipse Galileo 的最终 EAR 中?

android - 错误 : failed to find target with hash string 'android-14' in:Open Android SDK Manager

ios - CGPathContainsPoint 在 iOS 12 中损坏了吗?是否有解决方法?

java - 如何在 Minecraft 源代码中分配更多内存

java - Eclipse 生成 equals 方法 : if ( obj == null ) vs. if ( null == obj )

iphone - iPhone avTouch示例代码-模拟器未显示音频电平表