【问题标题】:How should I do lowering the minimum SDK version?降低SDK最低版本应该怎么做?
【发布时间】:2018-04-29 08:22:00
【问题描述】:

我正在开发一个 Anrdoid 应用程序。它快完成了。我刚刚注意到minSdkVersion 设置为21。也许我在创建项目时忘记了它。我想降低它,因为该应用的用户可能会使用旧设备。

我认为将 minSdkVersion 更改为 ~10 不是一个好主意,坐等,希望它在未来编译和运行良好。

我的想法是,我可以检查项目中使用的所有方法,以及它们的最低 API 级别,这样我就可以知道我必须用替代方法替换什么。不过,这个项目有点大。一个一个地搜索所有方法的文档会花费很多时间。

是否可以自动列出我的项目中使用的 Android API 特定方法及其 API 级别?或者以某种方式检测使用的方法所需的最高 API 级别? Android Studio 知道这些数字,它也可以获取文档。或者,将minSdkVersiontargetSdkVersion 更改为较低的API 级别以了解旧设备不支持哪些方法是否安全,并且在我修复所有错误/警告后,IDE 会显示我的应用程序吗?运行正常吗?

【问题讨论】:

    标签: android android-studio android-api-levels


    【解决方案1】:

    当您使用需要比您指定的minSdkVersion 更高的 sdk 版本的方法时,Android Studio 会向您发出警告。您可以利用分析 -> 代码清理功能访问整个项目的这些警告的完整列表。那么你可以做什么:

    1. 降低minSdkVersion
    2. 在 Android Studio 中单击分析 -> 代码清理。选择“整个项目”
    3. 相关错误是这些部分的一部分:
      • Android Lint:正确性 -> 旧版本上未使用的属性
      • Android Lint:正确性 -> 在旧版本上调用新方法
      • Android Lint:正确性 -> 在旧版本上使用内联常量
      • Android Lint:国际化 -> 从右到左的文本兼容性问题

    通过尝试不同的版本号,您可以了解需要进行多少更改。要确定正确的minSdkVersion,您可能需要考虑Android API level device stats

    因此,targetSdkVersionminSdkVersion决定策略通常如下所示:您将 targetSdkVersion 设置为您测试过应用程序的最高版本号。 minSdkVersion 应设置为较低的值 - 足够低,以便支持足够多的设备,但又足够高,因此不需要太多特定于版本的解决方法。查找有关这两个值的详细信息in the Android documentation

    【讨论】:

    • 这并不完全安全。虽然我只询问了方法,但 XML 布局中存在一个可能也很重要的问题,但使用代码清理没有发现:i.stack.imgur.com/hBA2Z.png
    • 感谢您的提示,我相应地更新了答案。
    猜你喜欢
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    相关资源
    最近更新 更多