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

Flutter项目适配Android 14遇flutter_inapp_purchase接收器注册报错求助

解决Flutter flutter_inapp_purchase初始化Android 14广播接收器错误

问题原因

Android 14(API 34)新增安全强制要求:动态注册非系统专属广播接收器时,必须显式指定RECEIVER_EXPORTED或RECEIVER_NOT_EXPORTED标记。你的项目中flutter_inapp_purchase插件依赖的Google Billing Client版本(5.1.0)未适配该规则,导致初始化时触发SecurityException。

解决方案

1. 升级flutter_inapp_purchase到最新适配版本

更新pubspec.yaml中的插件版本至最新稳定版:

flutter_inapp_purchase: ^最新版本号

执行flutter pub get拉取新版本后,重新编译项目即可。

2. 强制升级Google Billing Client版本

若插件最新版仍未适配,直接在Android项目中强制升级Billing Client依赖:
打开android/build.gradle,在allprojects块中添加版本强制规则:

allprojects {
    repositories {
        // 保留原有仓库配置
    }
    configurations.all {
        resolutionStrategy.force 'com.android.billingclient:billing:6.0.0'
    }
}

6.0.0及以上版本的Billing Client已完全适配Android 14的广播接收器标记要求。

3. 临时修改插件源码(不推荐)

若以上方案均无法生效,可临时修改插件的Android代码:
找到插件的AndroidInappPurchasePlugin.kt文件,定位到startConnection方法调用处或广播接收器注册逻辑,添加对应的标记参数。但此方法会在插件更新时被覆盖,仅作为紧急临时方案。

验证步骤

  1. 执行flutter clean清理项目缓存
  2. 重新运行flutter run启动项目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 20:37:05