升级依赖后Flutter项目因FilePicker报错无法运行求助
解决Flutter升级FilePicker后运行失败的问题
核心报错梳理
升级依赖后出现三类问题:
- GLIBC版本缺失警告
- FilePicker插件Java代码编译错误
- 多个插件要求Android SDK 33的版本警告
分步修复方案
1. 修复FilePicker编译错误
这个错误是FilePicker 5.2.5版本的兼容性问题,getParcelableArrayList方法调用参数不匹配,两种解决方式:
- 推荐方案:升级插件版本
在项目pubspec.yaml中更新FilePicker到最新稳定版:
执行命令更新依赖:file_picker: ^最新稳定版本号flutter pub get - 临时方案:修改本地缓存代码
找到报错文件/home/d0tb0t/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/file_picker-5.2.5/android/src/main/java/com/mr/flutter/plugin/filepicker/FilePickerDelegate.java,将第215行:
修改为:return bundle.getParcelableArrayList("selectedItems", Parcelable.class);return bundle.getParcelableArrayList("selectedItems");
2. 满足Android SDK版本要求
多个插件需要SDK 33,修改项目Android配置:
- 打开
android/app/build.gradle,调整版本参数:android { compileSdkVersion 33 defaultConfig { targetSdkVersion 33 } } - 确保
android/build.gradle中的minSdkVersion不低于21(FilePicker最低要求)。
3. 处理GLIBC版本警告
该警告来自Flutter snap包的系统依赖,不影响Android应用运行,若要消除:
- 卸载snap版Flutter,改用官方手动安装包:
下载官方压缩包解压后配置环境变量即可;若不影响使用,也可直接忽略该警告。sudo snap remove flutter
验证修复
执行以下命令清理并重新运行项目:
flutter clean flutter pub get flutter run
内容的提问来源于stack exchange,提问作者LU CSE_Community
相关产品推荐
相关产品推荐

