android - 如何为 Anroid Project 设置最大目标 API 级别
问题描述
Google 在较新版本的 Android 中施加了一些限制,我不希望人们在 PlayStore 上对应用程序给出差评。那么,如何排除较新版本的Android
解决方案
您可以使用maxSdkVersion
.
来自https://developer.android.com/guide/topics/manifest/uses-sdk-element#max:
android:maxSdkVersion
一个整数,指定应用程序设计运行的最大 API 级别。
在 Android 1.5、1.6、2.0 和 2.0.1 中,系统会在安装应用程序以及在系统更新后重新验证应用程序时检查此属性的值。在任何一种情况下,如果应用程序的
maxSdkVersion
属性低于系统本身使用的 API 级别,那么系统将不允许安装应用程序。在系统更新后重新验证的情况下,这实际上会从设备中删除您的应用程序。为了说明此属性在系统更新后如何影响您的应用程序,请考虑以下示例:
maxSdkVersion="5"
在其清单中声明的应用程序 已在 Google Play 上发布。设备运行 Android 1.6(API 级别 4)的用户下载并安装应用程序。几周后,用户会收到 Android 2.0(API 级别 5)的无线系统更新。安装更新后,系统会检查应用程序maxSdkVersion
并成功重新验证它。应用程序正常运行。但是,一段时间后,该设备收到了另一个系统更新,这次是 Android 2.0.1(API 级别 6)。更新后,系统无法再重新验证应用程序,因为系统自身的 API 级别 (6) 现在高于应用程序支持的最大值 (5)。系统阻止应用程序对用户可见,实际上将其从设备中删除。
警告:不建议声明此属性。首先,无需将属性设置为阻止将应用程序部署到新版本 Android 平台上的方法,因为它们已发布。根据设计,该平台的新版本完全向后兼容。您的应用程序应该在新版本上正常工作,前提是它只使用标准 API 并遵循开发最佳实践。其次,请注意,在某些情况下,声明该属性可能会导致您的应用程序在系统更新到更高的 API 级别后从用户的设备中删除。大多数可能安装您的应用程序的设备都会通过无线方式接收定期系统更新,因此您应该在设置此属性之前考虑它们对您的应用程序的影响。
推荐阅读
- r - 如何执行引导程序并在 R 中找到置信区间
- c++ - 使用 C++ unordered_map 的 Seg 错误
- c++ - c++交换全局和局部向量?
- flutter - 为颤振编写空安全包
- python - 检查不同节点(不同 IP 地址)、同一网络上的文件 - 可能吗?
- flutter - 在 Flutter 中扩展 RichText
- r - 在 scale_y_continuous 中指定限制和中断的问题
- c++ - 多个重载函数实例与参数列表匹配,我找不到错误发生的位置
- python - Matplotlib 条形图或类似的条形图,条形位于特定 x、y、角度
- flutter - 输入'未来
' 不是类型 'Stream 的子类型 ' 从 Firebase 获取数据