maxSdk 的权限显示为 Play 商店中每个应用程序更新的新权限

Permission with maxSdk shows up as new permission on every app update on Play Store

我有一个应用程序使用外部存储在 getExternalCacheDir() 提供的目录中保存一些较大的缓存文件。现在因为 Android 4.4 不再需要访问这个目录的权限,所以我决定设置一个 maxSdk 权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
                 android:maxSdkVersion="18" />

但是当我在 Google Play 商店发布我的应用程序更新时,权限对话框将上述权限显示为 [=28= 上的 new 权限] KitKat 和 Lollipop,即 API 级别 19–22,即使这些版本不应该要求:

当我在系统设置中查看应用程序详细信息时,未列出权限,因此系统似乎正确解释了 maxSdk 属性。

我该如何解决这个问题?非常糟糕的是,我的应用程序的用户必须在每次更新时接受此 "new" 权限,即使根本不需要它...

显然这是 Google Play 商店中的一个错误,据 issue 63898 and issue 63895 报道,它似乎尚未修复。

所以我们对此无能为力,除了不使用 maxSdk 属性或首先尝试避免权限。

至少在支持运行时权限的 Android 6.0 和更新版本上没有问题,因为 Play 商店不会在此处列出任何安装时的权限。