【问题标题】:Choosing the right API Level for my android application为我的 android 应用程序选择正确的 API 级别
【发布时间】:2025-12-17 22:10:02
【问题描述】:

我目前有一个针对 android 2.3(api 级别 10)的应用程序,但我认为 可能 使用 android 2.1/2.2 或更早版本的人甚至无法在市场。

所以我认为使用 api level 3 是最好的,但我不知道这是否会使我的应用程序中的某些元素工作得不那么好,并且可能更容易出错,因为它实际上使用旧的 android 代码。有没有一种好方法可以找出我应该使用哪个 API 级别,以及如何将我的应用程序转换到那个级别?

【问题讨论】:

    标签: android android-api-levels


    【解决方案1】:

    您可以在here 找到正在使用的不同 Android 版本的明细。目前,如果您以 2.1 (API 7) 为目标,您只会错过大约 3% 的市场。目标 2.2 将错过不到 20% 或五分之一的市场。

    至于转换您的应用程序,您可以在Android Reference 中查看可用的 API 级别内容。您会注意到浏览区域右上角的复选框和下拉菜单,允许您按 API 级别进行过滤 - 这是帮助转换的一种方法。另一个是设置目标和最低 SDK 版本,这将帮助 Eclipse 知道在您的代码中要抱怨什么。但是,查看是否需要转换的最简单方法是模拟和测试。

    编辑:API 级别下拉菜单从右上角移到左上角,位于 API 列表上方。

    【讨论】:

    • 自 2020 年 11 月 2 日起,Google Play 上的应用和游戏将需要针对 Android 10(API 级别 29)或更高版本进行更新。在此日期之后,Play 管理中心将阻止您提交 targetSdkVersion 低于 29 的新 app bundle 和 APK。请注意,Wear OS 应用不受 API 级别 29 要求的约束。这不会影响您在 Play 商店中的现有列表。
    【解决方案2】:

    This graph 可能会帮助您下定决心。

    【讨论】:

    • 我建议现在支持 2.1 及更高版本。 (android:minSdkVersion="7")
    • 为什么这张图没有显示 Honeycomb? 2.3.7 和 4.0.3 之间没有任何内容。
    【解决方案3】:

    看看向后兼容性很好,一般来说,您应该针对您的应用程序可以支持的平台的最低版本编译您的应用程序。

    您可以通过针对连续较低的构建目标编译应用程序来确定可能的最低平台版本。在确定最低版本后,您应该使用相应的平台版本(和 API 级别)创建 AVD 并全面测试您的应用程序。确保在应用程序的清单中声明一个 android:minSdkVersion 属性并将其值设置为平台版本的 API 级别。祝你好运!

    【讨论】:

      【解决方案4】:

      如果你有

      <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10"/>
      

      然后它会显示到 1.6,但请确保您不使用他们的 API 中没有的 antyhing

      编辑:不要为 3 烦恼! :)

      【讨论】:

        【解决方案5】:

        我开始为 1.5 开发,但很快意识到只有一小部分人仍在运行 1.5。我通常在 2.1 级别进行开发,然后将其保留在该级别(除非您需要更高级别的功能)。要更改它,请打开您的项目属性,虽然我没有打开我的环境,但有一个 Android 选项,您可以在其中选择要定位的 API 级别。

        【讨论】:

          【解决方案6】:

          最佳 API 级别包含以下内容 1) 最好的 API 覆盖 100% 的市场,但都不是完美的,所以我们的应用应至少覆盖所有设备的 90%。

          2)我们必须关心向后兼容性问题,我们的代码会自行适应即将推出的版本。

          3) 使用新的 Android SDK 是使用该级别中添加的任何新 API 的要求。需要强调的是……最终是否值得开发和测试支持额外 3% 的设备是一个商业决策。 4)查看此链接https://developer.android.com/guide/practices/compatibility.html#defined

          5) 最后选择最好的 API,你会发现最好的 API

          【讨论】:

            最近更新 更多