在 Google Play 商店中发布对不同 Android 版本使用不同权限的应用程序?

Posted

技术标签:

【中文标题】在 Google Play 商店中发布对不同 Android 版本使用不同权限的应用程序?【英文标题】:Releasing app that uses different permissions for different Android versions on the Google Play store? 【发布时间】:2020-12-13 19:12:29 【问题描述】:

我们的应用正在尝试遵循新的为儿童设计的政策,该政策不需要请求位置权限:https://support.google.com/googleplay/android-developer/answer/9893335?hl=en

我们需要蓝牙,并请求位置权限才能连接到蓝牙。为了不让我们的应用从 Play 商店中删除,我们应该删除位置权限请求并切换到 CompanionDeviceManager。但是,CompanionDeviceManager 仅在 API 26+ 中可用,而且我们有很多用户使用旧版本。

我们有没有办法为 25- 和 26+ 的手机发布不同的 APK? Play 商店是否对此有任何支持,或者我们是否必须在 Play 商店中基本上维护 2 个独立的应用程序?我知道您通常可以根据版本在源代码中进行分支,但我还没有看到可以根据清单中的权限进行分支。

【问题讨论】:

【参考方案1】:

我不完全确定这如何与为儿童设计的政策相互作用,但实际上有一种比创建多个 APK 更容易将权限定位到特定 SDK 版本的方法:android:maxSdkVersion property on the <uses-permission> tag。您可以简单地在位置权限上设置android:maxSdkVersion="25",您的应用不应再在 API 26+ 上请求该权限。

【讨论】:

以上是关于在 Google Play 商店中发布对不同 Android 版本使用不同权限的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 商店上的 SHA1 不同的密钥问题

是否可以将针对 Android 设备的应用程序发布到 Google Play 商店并返回 KitKat?

从 Google Play 商店升级应用,显示为“打开”

Google Play 新功能 | 让您的应用在 Play 商店中闪耀

Google Play 新功能 | 让您的应用在 Play 商店中闪耀

将 Android 应用上传到不同的企业发布源。将相同的应用程序上传到 Google Play 商店会出现错误“包名已存在”