3

是否可以为较新的 Android 版本(例如 4.2 和更高版本)禁用应用程序?

我有一个应用程序,谷歌从 4.2 开始就变得毫无用处;我不希望用户在使用 Android 4.2 或更高版本时使用/安装它。

4

2 回答 2

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>,那是迄今为止最好的解决方案。

于 2013-08-29T18:06:22.197 回答
0

以前您可以设置android:maxSdkVersion="integer"为,17但在2.1它被弃用之后。

您可以指定android:targetSdkVersion="Max_api_version_which_supported_by_your_app"API 级别:低于 4.2 的 16(4.1)

于 2013-08-23T06:53:52.613 回答