You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Flutter 3.3.2后因open_file插件无法构建应用的解决方案咨询

Flutter 3.3.2升级后构建失败问题:open_file插件兼容问题

问题描述

将Flutter版本升级至3.3.2后,无法构建应用,原因是open_file插件使用了已弃用的Android嵌入版本。请问是否可以按照警告提示将该插件迁移至Android V2嵌入,还是只能降级到Flutter 2.x.x版本?

构建报错信息

插件`open_file`使用了已弃用的Android嵌入版本。
为避免意外运行时错误或未来的构建失败,请检查该插件是否支持Android V2嵌入。否则,请考虑移除它,因为未来的Flutter版本会移除这些已弃用的API。
如果你是插件开发者,请查看迁移插件到V2嵌入的文档:https://flutter.dev/go/android-plugin-migration。
正在调试模式下启动lib\main.dart到sdk gphone x86 arm...
lib\main.dart:1
错误:无法启用健全空安全,因为以下依赖项不支持空安全:

- package:open_file

解决方案请查看:https://dart.dev/go/unsound-null-safety

构建失败,出现异常。

Flutter Doctor检测结果

[√] Flutter(稳定通道,3.3.2版本,运行于Microsoft Windows [版本10.0.19044.2006],区域设置et-EE)
    • Flutter版本3.3.2位于稳定通道,路径为c:\flutter
    • 上游仓库https://github.com/flutter/flutter.git
    • Framework修订版本e3c29ec00c(3天前),2022-09-14 08:46:55 -0500
    • Engine修订版本a4ff2c53d8
    • Dart版本2.18.1
    • DevTools版本2.15.0

[√] Android工具链 - 开发Android设备(Android SDK版本30.0.3)
    • Android SDK位于C:\Users\pavel\AppData\Local\Android\Sdk
    • 平台android-33,构建工具30.0.3
    • ANDROID_SDK_ROOT = C:\Users\pavel\AppData\Local\Android\Sdk
    • Java二进制文件路径:c:\Android\jre\bin\java
    • Java版本OpenJDK Runtime Environment(build 11.0.8+10-b944.6842174)
    • 已接受所有Android许可证。

[√] Chrome - 开发Web应用
    • Chrome位于C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - 开发Windows应用(Visual Studio Community 2022 17.1.4)
    • Visual Studio位于C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022版本17.1.32407.343
    • Windows 10 SDK版本10.0.19041.0

[√] Android Studio(4.2版本)
    • Android Studio位于C:\Android
    • Flutter插件可从以下地址安装:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart插件可从以下地址安装:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java版本OpenJDK Runtime Environment(build 11.0.8+10-b944.6842174)

[√] Android Studio
    • Android Studio位于c:\Android
    • Flutter插件可从以下地址安装:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart插件可从以下地址安装:
       https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = c:\Android
    • Java版本OpenJDK Runtime Environment(build 11.0.8+10-b944.6842174)

[√] VS Code(1.71.2版本)
    • VS Code位于C:\Users\pavel\AppData\Local\Programs\Microsoft VS Code
    • Flutter扩展版本3.48.0

[√] 已连接设备(4台可用)
    • sdk gphone x86 arm(移动设备) • emulator-5554 • android-x86    • Android 11(API 30)(模拟器)
    • Windows(桌面设备)           • windows       • windows-x64    • Microsoft Windows [版本10.0.19044.2006]
    • Chrome(Web设备)                • chrome        • web-javascript • Google Chrome 105.0.5195.126
    • Edge(Web设备)                  • edge          • web-javascript • Microsoft Edge 105.0.1343.33

[√] HTTP主机可用性
    • 所有必要的HTTP主机均可访问

• 未发现问题!

解决方案

  • 优先升级插件:检查open_file的最新版本,新版本通常已适配Android V2嵌入和健全空安全。在pubspec.yaml中更新依赖版本后执行flutter pub get,再重新构建。如果官方版本未更新,可查看插件GitHub仓库是否有社区维护的适配分支。
  • 自行迁移插件:具备Android开发能力的话,可修改插件Android端代码,替换V1嵌入API为V2嵌入规范,同时适配空安全。修改后将插件作为本地依赖引入项目,或提交PR给原仓库。
  • 临时关闭空安全:运行时添加参数跳过空安全检查:flutter run --no-sound-null-safety,但这只是临时方案,不推荐长期使用,后续Flutter版本可能不再支持非空安全代码。
  • 降级Flutter版本:若以上方案均不可行,可降级到Flutter 2.x.x稳定版,该版本仍兼容旧Android嵌入和非空安全依赖,执行命令如flutter downgrade v2.10.5(替换为目标2.x版本号)。

内容的提问来源于stack exchange,提问作者Pavel Murnikov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 20:05:34