You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已迁移至Google Play Billing Library 3 上传AAB仍收计费版本不支持警告

可能的诱因

  • 存在间接的低版本Billing依赖:自身业务模块虽然升级到了Billing Library 3+,但项目引入的第三方SDK、本地aar依赖可能内嵌了旧版AIDL代码或者2.x及更低版本的Billing Library,会被Google Play扫描识别到。
  • 构建缓存残留:之前编译生成的旧版Billing相关代码没有被完全清理,打包时被合并到了最终的AAB文件中。
  • 混淆配置异常:没有添加Billing Library的官方混淆豁免规则,混淆后的类特征和旧版AIDL的扫描特征匹配,导致误判。
  • 构建变体配置错误:打包时误用了仍依赖旧版Billing服务的debug、测试等非发布变体。

定位问题的方法

  • 检查全项目依赖树:执行Gradle命令 ./gradlew app:dependencies | grep "com.android.billingclient:billing" 查看所有Billing库的依赖路径,确认是否存在低于3.0的版本条目。
  • 扫描AAB中的旧特征:将AAB文件后缀改为zip后解压,全局搜索旧版AIDL的专属包名 com.android.vending.billing 或 IInAppBillingService.aidl 相关的类,如果能搜到则说明存在旧代码残留。
  • 排查混淆配置:检查proguard规则文件,确认是否添加了Billing Library的保留规则,避免相关类被重命名。
  • 检查全模块配置:遍历项目所有子模块、本地依赖的aar文件,确认没有引入旧版Billing相关的代码或依赖。

解决建议

  • 清理构建缓存:执行 ./gradlew clean 命令,同时删除本地的.gradle缓存目录、各模块的build文件夹后重新打包。
  • 统一Billing版本:如果依赖树中存在低版本的传递依赖,在对应第三方SDK的依赖配置中添加排除规则 exclude group: 'com.android.billingclient', module: 'billing',强制全项目使用3.0及以上版本的Billing Library。
  • 补全混淆规则:在proguard-rules.pro中添加官方要求的Billing库豁免规则:
-keep class com.android.billingclient.** { *; }
-keep interface com.android.billingclient.** { *; }
  • 人工复核:确认所有旧代码已完全清理后仍触发警告的,可以向Google Play开发者控制台提交工单,上传依赖树、AAB扫描结果申请人工审核。

内容的提问来源于stack exchange,提问作者kimrandomwork

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:24:01