更换电脑后无法运行Flutter应用,请求排查崩溃问题
解决Flutter更换电脑后sqflite相关NoClassDefFoundError崩溃问题
从错误栈可以明确,核心问题是sqflite库的LogLevel类无法被加载,进而导致运行时崩溃。结合你更换电脑后才出现问题的场景,大概率是依赖缓存异常、版本不匹配或构建缓存损坏导致的,以下是针对性解决步骤:
清理项目缓存并重新拉取依赖
- 执行命令清理Flutter构建缓存:
flutter clean - 删除项目根目录下的
.dart_tool文件夹 - 重新获取所有依赖:
flutter pub get
- 执行命令清理Flutter构建缓存:
锁定sqflite版本与旧电脑一致
打开pubspec.yaml,检查sqflite的版本号,确保和旧电脑上的完全相同。如果之前用了版本范围(比如^2.2.8),改成具体的固定版本(比如2.2.8),避免新电脑拉取不同的兼容版本引发问题。清理Android端构建缓存
- 进入项目的
android目录 - 执行命令清理Gradle缓存:
- Mac/Linux:
./gradlew clean - Windows:
gradlew clean
- Mac/Linux:
- 删除
android/.gradle文件夹后,重新运行flutter run
- 进入项目的
对齐Flutter SDK版本
执行flutter --version查看新电脑的SDK版本,确保和旧电脑一致。如果版本不同,使用flutter downgrade <具体版本号>切换到旧电脑的SDK版本,避免版本差异导致的兼容问题。重新安装应用
先卸载设备上已安装的该应用,再执行flutter run重新安装,避免残留的旧安装包引发冲突。
内容的提问来源于stack exchange,提问作者taha khamis
相关产品推荐
相关产品推荐

