是否可以为较新的 Android 版本(例如 4.2 和更高版本)禁用应用程序?
我有一个应用程序,谷歌从 4.2 开始就变得毫无用处;我不希望用户在使用 Android 4.2 或更高版本时使用/安装它。
是否可以为较新的 Android 版本(例如 4.2 和更高版本)禁用应用程序?
我有一个应用程序,谷歌从 4.2 开始就变得毫无用处;我不希望用户在使用 Android 4.2 或更高版本时使用/安装它。
这取决于你到底想要什么。根据已弃用的文档maxSdkVersion
:
Android 的未来版本(Android 2.0.1 之后)将不再在安装或重新验证期间检查或强制执行 maxSdkVersion 属性。但是,当向用户提供可供下载的应用程序时,Google Play 将继续使用该属性作为过滤器。
因此,用户仍然可以旁加载应用程序,但对于高于该级别的用户,它不会出现在 Google Play 中。这听起来像你想要的。没有办法(自 2.0.1 起)完全禁用侧载。
关于这个关于编译的注释:
...如果在应用程序的清单中设置了 maxSdkVersion,SDK 将不会编译。
我有我的怀疑。经过刚才的测试,我的 Eclipse/ADT 用 set 编译就好了maxSdkVersion=15
。所以我不会担心这个。
关于某些事情的答案targetSdkVersion
很好,但是如果您使用的是在较新的 API 中故意破坏/更改的东西,它们将根本不起作用。例如,任何兼容模式都不允许 4.2+ 在非 root 应用程序中以编程方式打开/关闭飞行模式。它也不会改变SecureRandom
.
如果该应用程序真的因为删除了一个关键功能而对 4.2 完全没用,请尝试使用maxSdkVersion
. 使用不推荐使用的方法总是让我觉得不好,但如果他们不提供任何功能替代,有时它是唯一的选择。
但是,如果您可以通过更改完成方式来解决它<whatever>
,那是迄今为止最好的解决方案。
以前您可以设置android:maxSdkVersion="integer"
为,17
但在2.1
它被弃用之后。
您可以指定android:targetSdkVersion="Max_api_version_which_supported_by_your_app"
API 级别:低于 4.2 的 16(4.1)