您的应用目前所用的 Play 结算库版本是 AIDL,必须更新到版本 6.0.1 或更高版本才能使用 Google Play 上的最新创收功能

3.8.5安卓发布提包后googleplay报错

https://developer.android.com/google/play/billing/deprecation-faq?hl=zh-cn

creator怎么更新到6.0.1

得升级结算的SDK吧

用发布到google play , 默认集成了 7.5,可以在编辑器内调用

com.android.billingclient:billing:6.0.1
不是升级这个吗,还没出7.5吧

这个可能是因为 3.8.5 新出了一个 Android 的变体平台 GooglePlay 平台(其实也是Android)带来了。

GooglePlay 平台其实就是帮你接入了 Google Billing 的 Android 平台,其本质还是Android平台,所以这个平台极大地和 Android平台公用了一份 libcocos2dxAndroid Library Module

于是不管构建 Android 还是 GooglePlay ,他们都是同一个 libcocos2dx ,只不过 Google Play 平台在这个基础之上帮你接入了 GoogleBilling

而接入 GoogleBilling 的话,必须要在 AndroidManifest.xml 中声明下面权限

<uses-permission android:name="com.android.vending.BILLING" />

你可以引擎相对路径下的 native/cocos/platform/android/libcocos2dx/AndroidManifest.xml 发现这个权限

image

但不是所有的Android包都需要这个权限,都需要接入 GoogleBIling,可惜的是现在不管你是构建Android还是构建GooglePlay平台,都内置了这个权限,因为他们是同一份 libcocos2dx ,并且没有做 manifest 变体,所以都声明了这个权限。

正常情况下,多声明一个权限问题不大,但这里问题在于

在提审到GooglePlay的时候,GooglePlay 会扫描应用的 AndroidManifest.xml 文件,当发现你声明了权限 <uses-permission android:name="com.android.vending.BILLING" />,就会搜索你接入的 GoogleBilling 版本,以确定你接入的这个 GoogleBilling SDK 版本是否有效(这个SDK版本为了与时俱进,旧版本一般淘汰得很快的,可能1、2年后,旧版本就会完全废弃,不能上架)

但是很明显,你可能只是一个普通Android包,你并没有接入GoogleBilling,但是因为引擎帮你默认内置了这个权限,所以GooglePlay找了对应的sdk,但是没找到,所以最终就报这个错误了

那为什么错误是必须让你升级到 6.0.1 或者更高的版本呢,为什么不是 5.0.1,或者 x.y.z 呢

正如上面说,这个sdk淘汰得很快,每个版本都有支持时间表,从你提供的链接上可以看到
https://developer.android.com/google/play/billing/deprecation-faq?hl=zh-cn

你发贴的时间是 2025年1月5日左右,对应这个表格,你就能发现,是的,你必须升级到 6 以上的版本

10赞

真难用!!总是破坏性的更新

。。。。。。Cocos能不能不要往项目里塞坑
GooglePlay 要用就给 GooglePlay 做处理
Android 的还得自己找到问题过来 去引擎里删除。。。

他们开发完全就是kpi来的,集成进去升级时好说我们又添加了某个平台的支持。但他们完全不开发游戏,不上架游戏,怎么知道那么多。

唉,只希望他们更新的时候多考虑考虑兼容性,少点破坏性更新

所以要怎么解决呢 我现在也遇到了