执行flutter pub get时遇razorpay_flutter插件主类未定义错误求助
错误信息
执行
flutter pub get后提示:
已获取依赖!
插件razorpay_flutter在路径C:\Users\WindowsX\AppData\Local\Pub\Cache\hosted\pub.dev\razorpay_flutter-1.3.5\android\src\main\java\com\razorpay\razorpay_flutter\RazorpayFlutterPlugin.java或C:\Users\WindowsX\AppData\Local\Pub\Cache\hosted\pub.dev\razorpay_flutter-1.3.5\android\src\main\kotlin\com\razorpay\razorpay_flutter\RazorpayFlutterPlugin.kt中未定义主类。这可能是由于插件pubspec.yaml中的androidPackage: com.razorpay.razorpay_flutter或mainClass条目配置错误。
若您是该插件作者,请修复androidPackage条目或将主类移至上述任一位置。否则,请联系插件作者,同时考虑使用其他插件。
已完成检查
- 确认pubspec.yaml中已正确添加
razorpay_flutter: ^1.3.5依赖,版本号和缩进无误,重新执行过flutter pub get - 确认Dart文件中导入语句为
import 'package:razorpay_flutter/razorpay_flutter.dart';
可行解决方案
1. 清理Pub缓存并重新获取依赖
缓存损坏可能导致插件文件不完整,执行以下命令修复:
flutter pub cache clean flutter pub get
2. 升级插件到最新稳定版
1.3.5版本存在安卓端配置问题的可能性较高,直接升级到最新版本:
- 修改pubspec.yaml中的依赖为
razorpay_flutter: ^[最新版本号](替换为pub.dev显示的最新稳定版号) - 执行
flutter pub upgrade razorpay_flutter - 重新运行项目
3. 手动校验插件文件完整性
前往错误提示的缓存路径C:\Users\WindowsX\AppData\Local\Pub\Cache\hosted\pub.dev\razorpay_flutter-1.3.5\android\src\main:
- 检查java/kotlin目录下是否存在
RazorpayFlutterPlugin类文件 - 若文件缺失,直接删除该版本的插件缓存目录,再执行
flutter pub get重新下载
4. 替换为可靠替代方案
如果以上方法均无效,可尝试Razorpay官方最新的Flutter集成方案,或更换其他维护活跃的支付插件。
内容的提问来源于stack exchange,提问作者Jagdish Pulpet

