Warning: App must target Android 13 (API level 33) or higher. It does

回答 9 浏览 1万 2023-08-18

我收到来自 Google Play Console 的以下警告,表明我们的应用不符合最低目标 API 级别。然而,它确实如此,下面是它的代码:

defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        //TODO: Keep an eye on targetSdkVersion number, as it has to be within one year of major android release.
        applicationId "com.com"
        minSdkVersion 24
        targetSdkVersion 33
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

警告图片如下: “在此处输入图像描述”/

然后,当我单击影响应用程序包时,它们实际上是两年多前的旧应用程序包: “在此处输入图像描述”/

我应该删除这些旧的捆绑包还是需要做其他事情?我很担心,因为它说除非我们满足要求(最新的代码就是这样做的),否则我们将无法更新应用程序。

更新:首先根据下面的答案使用兼容的应用程序包更新每个曲目(甚至暂停的曲目),将其发送以供审核,然后发布这些更改(即使曲目处于非活动状态,也要再次发布),我无法更新应用程序的警告仍然存在。因此,我直接联系了 Google,并收到了以下有关警告的消息。我想我们下次尝试更新应用程序时会看到会发生什么

"As per checking, this warning is with regards to Google Play's target API level requirement which only warns the developers about the risk of not releasing a compliant app version. In this case, you may ignore this warning and you can rest assured that you will still be able to release an app update. I hope this helps. Please let me know if you have any other questions about the Play Console and we'll be happy to help."

更新的更新:发布并点击收件箱中的消息后,会出现一条新消息,指出违规已解决(如下所述)。

Dennis Ashford 提问于2023-08-18
我遇到了同样的问题,将我的所有应用程序更新到 Targetsdk 33,还将我旧的内部测试包更新到 33。它仍然显示警告消息SWIK 2023-08-20
这里有同样的经历。我在开放测试中发现了旧软件包,并将其替换为当前软件包,暂停了测试轨道,但警告仍然存在。看到这一点非常令人不安。B Porr 2023-08-20
更新:在我修复了所有“affected app bundles”后,该按钮现已消失,但文本“You won't be...”仍然存在。不好。B Porr 2023-08-20
我面临同样的问题。大公司如何利用操纵性信息来影响我们的行为,这确实很有趣。他们对我们拥有巨大的力量。不可否认,制造这些信息的人都是狡猾而精明的。但就目前而言,情况就是这样。最终,每个人​​都尝到了适合自己的药。iC7Zi 2023-08-20
与 @BPorr 相同的问题 - 内部测试轨道已更新以支持 API 33+ - 但“View affected app bundle”按钮消失了,状态为“您将无法发布应用程序更新(10 天后)”。我不知道如何解决这个问题。Joe 2023-08-20
9 个回答
#1楼 已采纳
得票数 20

由于类似的原因,我遇到了此警告 - 我在内部测试中暂停了一个带有旧目标 api 版本的包。

此问题的解决方案是更新生产或测试中发布的所有活动应用程序包。

要查看需要更新的所有应用程序包的列表,您必须转到:

Inbox > 单击 affected warning message > View details > View app bundles - 这将列出所有应用程序包及其发布位置 - 生产或测试。

另外,您可以通过转到App Bundle Explorer并检查所有带有Release statusActive的版本来检查它们是否匹配目标sdk 就我而言,它已暂停版本1.0.0target sdk 31进行内部测试: “应用程序包资源管理器”/

您需要转到目标 sdk < 33 的活动版本所在的分区,并执行以下操作:Add new release > Add from library > Set checkbox on your app bundle with target sdk 33 or more > Add to release > Next > Save and publish

然后,如果您返回Inbox >单击your warning message>View details,您将不再看到View affected app bundles按钮,并且您将收到以下通知:

Notification

因此,完成所有操作后,您的所有活动版本都将遵守规则

更新:

完成上述所有步骤并成功完成审核后,警告消息将消失,您将在您的Inbox中收到以下消息:

Message

Victor Sklyarov 提问于2023-08-20
Victor Sklyarov 修改于2023-08-21
我对所有受影响的曲目进行了检查和执行此操作,即使它们已暂停(这对警告没有任何作用)。我希望一旦它通过审查并发布,一切都会消失。谷歌发布的消息很糟糕。Dennis Ashford 2023-08-20
@Michał,这是在 App Bundle Explorer 中,意味着您必须查看状态为 Active 的每个项目的详细信息,并找到那些 target sdk < 33 的项目(如第一个屏幕截图所示) 。最好的选择是查看警告消息中的所有不一致之处。Victor Sklyarov 2023-08-21
修复问题版本后,“View affected app bundle”按钮停止显示。但策略部分仍然出现警告消息brucemax 2023-08-21
@DennisAshford,我已经更新了答案,警告消息在审核后消失了。Victor Sklyarov 2023-08-21
@VictorSklyarov 正确。肯定花了一些时间,但我终于也收到了同样的消息。Dennis Ashford 2023-08-21
#2楼
得票数 2

这对我有用,如果您不点击发送到收件箱的消息,Play Console 机器人似乎会假设您没有采取任何措施来解决政策违规问题。

尝试1

要解决此问题,请转到Dashboard,单击Inbox,然后打开包含有关目标 Android 13(API 级别 33)或更高版本的警告的消息。

尝试2

万一这对你不起作用,即使它应该对你起作用。单击Dashboard,您会注意到顶部有一个错误告诉您有关目标策略的信息,单击该错误将转到Policy status

尝试3

单击App bundle explorer并确保只有您的生产包处于活动状态,其余的处于非活动状态。另请检查Your internal, closed and open testing,如果有活动捆绑包,请确保暂停所有捆绑包。

执行此操作后,您将在收件箱中收到一条消息,提示最近有关您的应用的政策警告已得到解决。

Franklyn Oreben 提问于2023-08-21
#3楼
得票数 1

这个解决方案对我有部分帮助。

我用以下路径检查了收件箱消息:Inbox > Click your affected warning message > View details > View app bundles,找到了受影响的版本及其相应的version codeversion name,然后我转到了App bundle explorer

我观察到这个受影响的轨道(< 33)仍然活跃,但已经是一个非常古老的轨道(一年多前)。

enter image description here

我不记得是否在生产中提供了这一曲目(因为 Android 应用程序包正在相互替换并停用旧的应用程序包)。

然后我浏览了所有Testing曲目:

enter image description here

罪魁祸首位于Internal Testing轨道,仍然可供测试人员使用,但早已被遗忘。

enter image description here

用一些兼容 SDK 33 的应用程序包替换有问题的版本(因为没有选项可以删除它)。

Create new release -> Add from library -> 选择您生产中的一些最新版本 -> Next -> Save and publish -> Save and publish

作为奖励,您可以返回Inbox,单击View details,然后观察没有受影响的应用程序包。

enter image description here

Michał Dobi Dobrzański 提问于2023-08-21
是的,但即使在完成这些步骤后,“You won't be able to release app updates”的警告仍然存在。那么这仍然是真的吗?每个曲目更新后,警告就会消失。Dennis Ashford 2023-08-21
#4楼
得票数 0

这只是 Google Play 上更新每个应用程序状态的延迟。我只是更新了一些应用程序,没有执行其他任何操作。今天,这些应用程序的警告消息已消失。

Paul Darky 提问于2023-08-21
#5楼
得票数 0

如果您不使用它,只需暂停打开/关闭的测试轨道即可。如果您不需要保持活跃状态​​,则不必使用新版本更新测试轨道。

我只收到了针对我忘记关闭暂停测试的应用程序的警告。

user25 提问于2023-08-21
不幸的是,事实并非如此。我在已经暂停的内部测试版本中遇到了这个问题。即使暂停后,该应用程序包的状态在应用程序包资源管理器中仍保持活动状态。Victor Sklyarov 2023-08-21
#6楼
得票数 0

我遇到了同样的问题,这是因为您 可能您的应用程序的旧版本位于内部测试轨道之一

enter image description here

您还必须更新这些旧的测试轨道。

Praharsh Bhatt 提问于2023-08-22
#7楼
得票数 0

就我而言,我在build.gradle中将SDK版本从31更新为33

compileSdkVersion = 33
targetSdkVersion = 33

然后编译一个新的捆绑包,使用它创建View affected app bundle中列出的版本(包括测试和生产)以停用旧的过时的捆绑包。

此后不再出现该警告。

Shawn Lee 提问于2023-08-23
Shawn Lee 修改于2023-08-23
#8楼
得票数 0

检查AndroidManifest.xml "<application" 标签 如果工具:targetApi 是 33

Junior 提问于2023-08-23
#9楼
得票数 0

我也遇到了同样的问题,昨天解决了。

我的问题是我的应用程序有一个非常旧的版本作为“开放测试”和“封闭测试”中的活动轨道。

我的最新版本也在“Internal Testing”中,所以解决方案是将这个版本提升为“Closed Testing”并发布它并等待一小会儿,然后当它在“Closed Testing”中可用时我再次提升它到“Open Testing”并发布它,然后再次等待一段时间,直到它在“Open Test”中可用。

通过这样做,我的应用程序的旧版本已从封闭和开放测试部分中删除,并替换为新版本(类似于生产版本)。

执行此操作后,显示“check Affected bundles”的按钮消失了,但警报消息仍然显示;然后大约 2 小时后,我收到了来自 Google 的消息,现在一切正常,我将来可以正常发送更新。

生产应用程序版本未修改,也未向用户发送更新。

Salar Azad 提问于2023-08-24