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

Unity内购初始化报错:java.lang.ClassNotFoundException: PurchasesUpdatedListener

修复Unity Purchasing初始化时的com.android.billingclient.api.PurchasesUpdatedListener类找不到问题

针对你遇到的Unity内购初始化报错java.lang.ClassNotFoundException: com.android.billingclient.api.PurchasesUpdatedListener,结合你的环境(Unity 2022.3.181、In App Purchasing 4.12.2、目标API 34),可以尝试以下修复步骤:

  • 确认BillingClient依赖版本适配
    打开Unity Package Manager,找到In App Purchasing包,查看其依赖的Google Play Billing Library版本是否为6.0+(适配API34的最低要求版本)。如果版本不符,尝试重新安装In App Purchasing包,或在Packages/manifest.json中手动指定兼容版本:

    "com.google.play.billing": "6.0.1"
    
  • 更新ProGuard/R8规则
    替换原有规则为更完整的配置(兼容ProGuard和R8),添加到proguard-user.txt中:

    -keep interface com.android.billingclient.api.PurchasesUpdatedListener { *; }
    -keep class com.android.billingclient.api.** { *; }
    -keep class com.google.android.gms.tasks.** { *; }
    

    同时确保Unity Player Settings中Android的Minify选项设置为Custom ProGuard File,并指定正确的规则文件路径。

  • 检查AndroidManifest配置
    确认导出的AndroidManifest.xml中包含Billing权限:

    <uses-permission android:name="com.android.vending.BILLING" />
    
  • 清理缓存与构建目录

    • 执行Unity菜单:File > Build Settings > Clean Build Folder
    • 关闭Unity后删除项目根目录下的Library文件夹,重启Unity重新生成缓存
    • 若使用Android Studio打开导出项目,清理Studio的项目缓存(File > Invalidate Caches...)
  • 验证导出项目的Gradle依赖
    将Unity项目导出到Android Studio,检查app模块的build.gradle中是否包含BillingClient依赖:

    implementation 'com.android.billingclient:billing:6.0.1'
    

    若缺失,手动添加后重新构建项目。

  • 检查Player Settings配置

    • 确保Minimum API Level不低于21(BillingClient要求的最低版本)
    • 若开启了Custom Main Gradle Template,检查模板中是否存在冲突的依赖配置,避免重复引入BillingClient。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 17:37:40