Android端使用Flutter内购插件调用initConnection时出现MissingPluginException异常
Flutter Android端flutter_inapp_purchase触发MissingPluginException解决方法
- 第一步清理构建缓存:依次执行命令
flutter clean、flutter pub get,完全卸载设备上已安装的旧版应用后重新运行项目,大部分场景是增量构建未将插件原生代码编译进安装包导致的异常。 - 检查Android配置的最低SDK版本:打开android/app/build.gradle文件,确认minSdkVersion数值不低于24,flutter_inapp_purchase的Android端实现要求最低API等级为24,版本过低会导致插件无法正常注册。
- 检查混淆配置:如果项目开启了R8代码混淆,在android/app/proguard-rules.pro文件中添加如下规则,避免插件原生类被混淆删除:
-keep class com.dooboolab.flutterinapppurchase.** { *; }
- 检查MainActivity配置:不需要手动编写插件注册代码,如果你之前手动添加过旧版本插件的注册逻辑,直接删除即可,新版Flutter会自动完成插件注册。
- 升级插件版本:如果上述操作都无效,将pubspec.yaml中的flutter_inapp_purchase升级到最新稳定版,重复第一步的清理构建流程后重新运行,部分旧版本存在Android端注册逻辑的已知bug。
内容的提问来源于stack exchange,提问作者Bijoya_Banik
相关产品推荐
相关产品推荐

