Flutter打包Release APK遇Activity类型不匹配编译错误求助
解决Flutter构建Release APK时app_settings插件的Kotlin类型不匹配错误
问题分析
错误核心是Activity?(可空类型)被当作Activity(非空类型)传入调用,旧版本app_settings插件未适配Flutter新版本的空安全规范,导致Kotlin编译失败。
解决方法
方法1:升级app_settings插件到最新版本
- 打开项目的
pubspec.yaml,找到app_settings依赖项,将版本号更新为最新稳定版(示例如下,可根据实际最新版本调整):dependencies: app_settings: ^5.0.0 - 执行命令更新依赖:
flutter pub get - 重新构建Release APK:
flutter build apk --release
方法2:手动修改插件代码(仅无法升级时使用)
- 定位到本地插件文件路径:
.pub-cache/hosted/pub.dartlang.org/app_settings-4.1.1/android/src/main/kotlin/com/example/appsettings/AppSettingsPlugin.kt - 打开文件找到第44行,将原代码中的非空Activity调用改为安全调用(更稳妥):
或确定activity?.let { act -> act.startActivity(intent) }activity不为空时使用非空断言:activity!!.startActivity(intent) - 保存修改后重新构建Release APK。
内容的提问来源于stack exchange,提问作者Huma Shaikh
相关产品推荐
相关产品推荐

