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