Flutter打包APK报错:BorderRadius?无法赋值给BorderRadiusGeometry参数
解决Flutter打包APK时的BorderRadius空类型错误
错误详情
/C:/src/Pub/Cache/hosted/pub.dev/glass_kit-2.0.1/lib/src/glass_container.dart:406:41: 错误:参数类型'BorderRadius?'无法赋值给参数类型'BorderRadiusGeometry',因为'BorderRadius?'可为空而'BorderRadiusGeometry'不可为空。
- 'BorderRadius'来自'package:flutter/src/painting/border_radius.dart' ('/C:/src/flutter/packages/flutter/lib/src/painting/border_radius.dart')。
- 'BorderRadiusGeometry'来自'package:flutter/src/painting/border_radius.dart' ('/C:/src/flutter/packages/flutter/lib/src/painting/border_radius.dart')。
代码行:current = ClipRRect(borderRadius: borderRadius, child: current);
解决方法
方法1:临时修改依赖包源码
- 找到本地依赖包路径:
C:/src/Pub/Cache/hosted/pub.dev/glass_kit-2.0.1/lib/src/glass_container.dart - 定位到第406行,将原代码修改为:
通过空合并运算符current = ClipRRect(borderRadius: borderRadius ?? BorderRadius.zero, child: current);??给borderRadius设置默认值BorderRadius.zero,确保参数不为空。 - 保存修改后,重新执行打包命令:
flutter build apk
方法2:更新依赖包版本
- 检查glass_kit包的最新版本,若已有修复空安全适配的版本,在项目的
pubspec.yaml中更新依赖:dependencies: glass_kit: ^最新版本号 - 执行
flutter pub get拉取新版本,之后再尝试打包。
方法3:自定义依赖源(可选)
- 若官方未及时更新,可fork glass_kit仓库,自行修复该空安全问题后,在
pubspec.yaml中引用自定义仓库:dependencies: glass_kit: git: url: https://github.com/你的用户名/glass_kit.git ref: 修复后的分支名称 - 执行
flutter pub get后重新打包。
内容的提问来源于stack exchange,提问作者Freaking Boy Hasib
相关产品推荐
相关产品推荐

