我可以针对较新的 android SDK 构建而不排除旧手机的所有者吗?

Posted

技术标签:

【中文标题】我可以针对较新的 android SDK 构建而不排除旧手机的所有者吗?【英文标题】:can I build against newer android SDKs without excluding owners of older phones? 【发布时间】:2019-04-27 13:41:35 【问题描述】:

所以我正在使用 QT 开发适用于 android 的应用程序,根据 Sophos Mobile Security,此应用程序是“为过时的 Android 版本构建:此应用程序不支持最新的 android 安全功能。该应用程序是为较旧的安卓版本”

在 qt creator 中,我将 android-25 设置为 android build sdk(毕竟我不会认为它旧,它是 7.1.1 nougat)

我怎样才能让这个警告消失?有没有办法在不排除用户使用的情况下为更新版本的 android 构建我的应用程序? (我有7.1.1,至少我想用我的应用)

感谢您提前回复。

编辑:

似乎(至少?)有 3 个地方可以设置 SDK 版本:

所需的最低 sdk,如此处的屏幕截图所示:Qt for android: change the application icon 目标 SDK 版本,如上图所示 这是我一小时前唯一知道的:projects->build->build android apk->android build sdk

它们管理什么,如何设置它们?它们应该相同还是不同?

【问题讨论】:

【参考方案1】:

Android 建议您对targetSdkVersion 和 build-tools 版本使用最新的 sdk 版本(它们必须匹配)。事实上,Google Play 现在要求您至少面向 SDK 26。这不会阻止旧设备运行应用程序。实际上,对于较新的设备来说,问题会更大,因为您说应用程序已经过全面测试并且可以在较新的设备上运行,并且不需要向后兼容。有关详细信息,请参阅https://developer.android.com/distribute/best-practices/develop/target-sdk。 至于minSdkVersion,这将决定最早支持的设备,您应该尽量将其保持在尽可能低的水平,并保持 95-99% 的用户。

【讨论】:

以上是关于我可以针对较新的 android SDK 构建而不排除旧手机的所有者吗?的主要内容,如果未能解决你的问题,请参考以下文章

FCM - 为啥在较新的 Firebase Admin SDK 中不再支持 FCM 直接通道?

如何更改 Xcode sdk 编译版本

为啥在较新的 Android 设备上预检失败,但在较旧的设备和台式机上却没有?

Android Studio 显示来自较新 API 的方法

Xcode的多个副本-针对iOS的较早版本测试代码

Android:NAT穿越?