Flutter Android与Web平台条件导入支付包编译报错求助
解决方案
- 隔离Web端支付依赖,在
pubspec.yaml中给flutter_stripe_web添加平台限定,确保Android/iOS构建时不会引入该包:
dependencies: flutter: sdk: flutter purchases_flutter: # Android端使用的RevenueCat包 version: ^6.0.0 # 替换为你的实际版本 flutter_stripe_web: version: ^5.1.0 platform: android: false ios: false web: true
修正条件导入的路径一致性:当前Web端实现的路径
../../repository/stripe/stripe_purchase_repository.dart与Android端的../repository/revenuecat/revenue_cat_purchases.dart层级不一致,可能导致文件被错误包含,调整为统一层级路径,确保Web端实现仅在Web构建时被引入。严格隔离平台专属代码:
stripe_purchase_repository.dart作为Web端专属实现,仅在该文件内引入flutter_stripe_web;共享的抽象类(如PurchaseRepository)不得依赖任何平台专属包。清理构建缓存后重新编译:
flutter clean flutter pub get flutter run
内容的提问来源于stack exchange,提问作者Davout
相关产品推荐
相关产品推荐

