推荐的最低 Android 应用 SDK

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/24441178/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-20 08:09:19  来源:igfitidea点击:

Recommended Minimum Android App SDK

androidsdk

提问by Vaibhav Aggarwal

I am making an android app, and am wondering what the industry's thoughts are on supporting older android versions like GingerBread and FroYo. Should a developer like me take the extra step to make my app compatible with those older versions, or are they obsolete? I am speaking in terms of the market in 2014.

我正在制作一个 android 应用程序,我想知道业界对支持 GingerBread 和 FroYo 等较旧的 android 版本的想法是什么。像我这样的开发人员应该采取额外措施使我的应用程序与那些旧版本兼容,还是它们已经过时?我说的是2014年的市场。

Increasing my minimum SDK version opens up some more APIs, so which option should I pick, compatibility or APIs and features?

增加我的最低 SDK 版本会打开更多的 API,那么我应该选择哪个选项,兼容性还是 API 和功能?

回答by Martin

Most of the Android devices are above the Gingerbread level. But there are still a decent number of those devices out there. You, as a developer, must decide if the number of users who would potentially download your app for those versions of Android is worth the level of effort in developing the app for those versions. For the past year, both companies I've worked at have begun to work on 4.0 and above only and have forsaken the lower versions.

大多数 Android 设备都在 Gingerbread 级别以上。但是仍然有相当数量的这些设备。作为开发人员,您必须决定可能为这些 Android 版本下载您的应用程序的用户数量是否值得为这些版本开发应用程序。在过去的一年里,我工作过的两家公司都开始只在 4.0 及更高版本上工作,并且已经放弃了较低版本。

To get the current information on what the ecosystem looks like for Android, check out Google's dashboard

要获取有关 Android 生态系统的最新信息,请查看Google 的仪表板

As I write this comment, Gingerbread and below is around 15% of the total population.

在我写这篇评论时,姜饼及以下的人约占总人口的 15%。

2019 UPDATE:Google's dashboardstates that only 0.2% of Android users are running Gingerbread (Android 2.3). Around 3% are using Jelly Bean (Android 4.1/4.2/4.3), and 7.6% are running KitKat (Android 4.4).

2019 年更新:Google 的仪表板指出,只有 0.2% 的 Android 用户在运行 Gingerbread (Android 2.3)。大约 3% 使用 Jelly Bean (Android 4.1/4.2/4.3),7.6% 使用 KitKat (Android 4.4)。

Generally, companies target a minimum version of KitKat, or SDK 19, for new endeavors. For personal projects, we usually choose Lollipop, or SDK 21, as it brings a number of improvements to the table, such as improved build times.

通常,公司将最低版本的 KitKat 或 SDK 19 用于新的尝试。对于个人项目,我们通常选择 Lollipop 或 SDK 21,因为它为表带来了许多改进,例如缩短了构建时间。

回答by Basil Mariano

[2020 UPDATE]You need to base on Android Pie Chart. It is always updated.

[2020 更新]您需要基于 Android饼图。它总是更新。

here's the link of the dash board:

这是仪表板的链接:

https://developer.android.com/about/dashboards/index.html

https://developer.android.com/about/dashboards/index.html

回答by jsa

For those who are looking for an opinion to refer to, @minSdkVersionupdates their Twitter account when they deem it appropriate to start using a higher minimum SDK version. They claim

对于那些正在寻找参考意见的人,@minSdkVersion在他们认为开始使用更高的最低 SDK 版本合适时更新他们的 Twitter 帐户。他们声称

The minimum SDK version for the practical, rational developer.

实用、理性的开发者的最低 SDK 版本。

As others have mentioned, it's also worth checking the Android platform distribution.

正如其他人所提到的,检查Android 平台发行版也很值得。

回答by Jin

I'm a developer myself. I would look into this from multiple point of view and I would use several factors to begin a project with a particular sdk as minimum.

我自己是一名开发人员。我会从多个角度来研究这个问题,我会使用几个因素来开始一个至少使用特定 sdk 的项目。

Beside the chart, that Google is kind enough to publish, which is really helpful and informative and i believe it represents devices around the world.

除了图表之外,谷歌发布的信息非常有用,而且信息量很大,我相信它代表了世界各地的设备。

These are the factors I would take under consideration:

这些是我会考虑的因素:

  1. What's my app all about? What kind of people and what kind of age range would attract. Young people tend to keep their gadgets up-to-date.

  2. In which country I'm going to release my app? Not all countries have the same mainstream when it comes to technology.

  3. Does the minimum sdk affects the time or the resources that are going to be used in the app? If having a high sdk as minimum is inversely proportional with the time and the struggle my developers would face in order to make everything compatible, then I would choose a higher sdk, even if I have to exclude a small proportion of users. Let's face it, this is 2016. Technology is running faster than light. Releasing early really matters. In the other hand, if it really doesn't affect that much, then just choose a version that covers most devices.

  4. Security matters as well. Everyday new issues are being patched. Newer version is more secure.

  5. If the idea is powerful, than I would choose as higher as I could. People will follow. Is the truth.

  6. Many functionalities are being deprecated. And usually in older versions. Upgrading from those can be hell.

  1. 我的应用程序是关于什么的?什么样的人,什么样的年龄段会吸引。年轻人倾向于保持他们的小工具是最新的。

  2. 我将在哪个国家/地区发布我的应用程序?在技​​术方面,并非所有国家都有相同的主流。

  3. 最小 sdk 是否会影响应用程序中将要使用的时间或资源?如果最低的 sdk 与时间和我的开发人员为了使所有内容兼容而面临的斗争成反比,那么我会选择更高的 sdk,即使我必须排除一小部分用户。让我们面对现实吧,这是 2016 年。技术比光跑得更快。早点释放真的很重要。另一方面,如果它真的没有太大影响,那么只需选择一个覆盖大多数设备的版本。

  4. 安全也很重要。每天都在修补新问题。新版本更安全。

  5. 如果这个想法很强大,我会选择尽可能高的。人们会跟随。是真的。

  6. 许多功能正在被弃用。通常在旧版本中。从这些升级可能是地狱。

Can't think of anything else. But if you want my opinion, I would choose API 19 as minimum.

想不出别的了。但如果你想听听我的意见,我至少会选择 API 19。

Cheers.

干杯。

回答by Václav Hodek

There were only few (~10) percent of users with Gingerbread to download our application from Play Store, so we have decided not to support it anymore. It was about 7 months ago. Froyo and Honeycomb are dead for much longer time.

只有少数 (~10)% 的 Gingerbread 用户从 Play 商店下载我们的应用程序,因此我们决定不再支持它。那是大约 7 个月前。Froyo 和 Honeycomb 已经死了很长时间了。

We would go with Android 4.0 (API 14) as minimum for new projects. There is no real benefit from supporting older version unless you are forced to do so (client requested it, etc.).

我们将使用 Android 4.0 (API 14) 作为新项目的最低要求。除非您被迫这样做(客户要求等),否则支持旧版本并没有真正的好处。

回答by Nick Wright

Note the new directive from Google around the dropping of support for ICS (sdk 14 and 15). Recommended course of action is to set your minimum to 16. See https://android-developers.googleblog.com/2018/12/google-play-services-discontinuing.html

请注意 Google 关于放弃对 ICS(sdk 14 和 15)支持的新指令。推荐的操作过程是将您的最小值设置为 16。请参阅https://android-developers.googleblog.com/2018/12/google-play-services-discontinuing.html

Note that existing apps will continue to work ok.

请注意,现有应用程序将继续正常工作。

回答by magallanes

For the record - 2020 April

备案 - 2020 年 4 月

If you look at the comments, they usually set the min level to 19 since years ago. Right now, it is nonsense (also, some comments are obsolete).

如果您查看评论,他们通常自多年前将最低级别设置为 19。现在,这是无稽之谈(而且,有些评论已过时)。

We are looked at the statistics of Google, and they say, "+10% of the devices are KitKat or lower. However, it's tough (if any) to find a company that sells phones for Kitkat.

我们查看了 Google 的统计数据,他们说,“+10% 的设备是 KitKat 或更低版本。但是,很难(如果有的话)找到一家为 Kitkat 销售手机的公司。

So, why Kitkat 19 is still popular? Because old smartphones simply don't go away (and they aren't updated).

那么,为什么 Kitkat 19 仍然受欢迎?因为旧的智能手机根本不会消失(而且它们没有更新)。

Then, technically 10% of the market uses Kitkat or lower but that information is mostly useless

然后,从技术上讲,10% 的市场使用 Kitkat 或更低版本,但这些信息大多无用

From then 10%, how many of them will install your application? Or any new application?. I know a lot of people that are happy with their old-and-rusty phone, but they only use for making calls and watch youtube/browser internet. So, usually, the lower 10% is not part of our target market or the target market of anybody.

从那 10% 开始,他们中有多少人会安装您的应用程序?或者有什么新的应用?. 我知道很多人对他们的老旧手机很满意,但他们只用于拨打电话和观看 YouTube/浏览器互联网。因此,通常情况下,较低的 10% 不属于我们的目标市场或任何人的目标市场。

Twitter said about it:

推特对此表示:

  • minSdkVersion · Nov 7, 2016 19
  • minSdkVersion Apr 23, 2018 21
  • minSdkVersion Dec 9, 2019 23
  • minSdkVersion · 2016 年 11 月 7 日 19
  • minSdkVersion 2018 年 4 月 23 日 21
  • minSdkVersion 2019 年 12 月 9 日 23

When Twitter says API=23, then Twitter is ignoring 25% of the market. It is a huge number. But again, this number means nothing without analysis. Twitter decided that this number is moot because, of the 25% of the users that use an old phone, they are not really in its market share, i.e., people that don't use Twitter on their phones using an application.

当 Twitter 说 API=23 时,Twitter 就忽略了 25% 的市场。这是一个巨大的数字。但同样,如果没有分析,这个数字毫无意义。Twitter 认为这个数字没有实际意义,因为在使用旧手机的 25% 用户中,他们并没有真正占据其市场份额,即那些不在手机上使用应用程序使用 Twitter 的人。

So, for the record and as for April 2020.

因此,作为记录和 2020 年 4 月。

  • API = 19 who are you pleasing? Remember, we are 4 years later in comparison with Twitter.
  • API = 21 is a moderated number.
  • API = 23 sounds like a rational number.
  • API = 19 你取悦谁?请记住,与 Twitter 相比,我们晚了 4 年。
  • API = 21 是一个适度的数字。
  • API = 23 听起来像是一个有理数。

For example, I run a windows server, and the default browser is Internet Explorer. Do you know how Internet Explorer works in the real world? It doesn't!. It works with google and a few sites, but everything else is broken. And still, developers "support" internet explorer because of the non-existence 6.97% market share (the users exist, but they are not everybody users but intranet users).

比如我运行的是windows服务器,默认浏览器是Internet Explorer。您知道 Internet Explorer 在现实世界中是如何工作的吗?它没有!。它适用于谷歌和一些网站,但其他一切都坏了。仍然,开发人员“支持”Internet Explorer 因为不存在 6.97% 的市场份额(用户存在,但他们不是每个用户,而是内网用户)。

Now, if your application is for a government/public interest, then we should stick with the standard or official procedure, and sometimes it could be around API 15 or 16.

现在,如果您的申请是为了政府/公共利益,那么我们应该坚持标准或官方程序,有时可能会在 API 15 或 16 左右。