gpt4 book ai didi

android - 拥有版本代码为 1 的 APK(目标 SDK 23 或更高版本)的用户

转载 作者:行者123 更新时间:2023-11-29 23:31:29 25 4
gpt4 key购买 nike

我用 phonegap 开发了 android 应用程序。但是我的用户无法从 google play 商店安装它,因为这个错误:你的设备与这个版本不兼容

我试图降级版本所以我改变了minSdkVersion 从 26 到 17

<preference name="android-minSdkVersion"      value="17"/> 

但它给出了那个错误。我该怎么办?我怎样才能降级到 17 岁?

问题:

    Users that have the APK with version code 1, which targets SDK 23 or higher,
will receive an error when they attempt to upgrade to this APK because it targets SDK 17.

解决方案:

 Ensure that your release includes APKs targeting SDK 23 or higher to which
all users that have the APK with version code 1 can upgrade.

最佳答案

了解minSdktargetSdk 之间的区别很重要,这有点复杂。

在版本 1 中,您将 minSdk 设置为 26。如果您没有显式设置 targetSdk,这意味着系统也会假定一个 targetSdk 默认为 26 以匹配 minSdk。到目前为止一切顺利。

现在 minSdk 表示您可以运行的最低 Android 设备版本。 targetSdk 表示您在开发应用程序时了解和使用的 Android SDK 版本。 SDK 23 中发生了一个重要的变化。Android 开始支持可选权限 - 即应用用户不必在安装时接受所有权限,而是他们可以在使用应用时接受它们。

所以所有安装了版本 1 的用户都没有接受任何权限。如果在版本 2 中你切换到 targetSdk=17 并且用户更新了应用程序,系统会假设他们在安装时接受了权限(因为它移回了旧的权限模型),并且用户永远不会被要求权限,这将是一个很大的安全漏洞。

因此,一旦应用进入新权限模型 (targetSdk>=23),它就永远无法返回。

要让您的应用正常运行,您必须执行以下操作:

  • 将您的 minSdk 设置为 17(或您想要的任何值)
  • 将您的 targetSdk 设置为 23 或更大(可能是 26)。 instructions on doing this in phonegap are here
  • 确保您所有使用权限的代码在使用 SDK 23 或更高版本的设备上运行时都具有正确的可选权限请求。

关于android - 拥有版本代码为 1 的 APK(目标 SDK 23 或更高版本)的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52589035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com