Flutter构建报错:lifecycle-livedata-core触发D8空指针异常
解决Flutter构建时D8空指针(lifecycle-livedata-core相关)错误
以下是针对该问题的可行解决方案:
清理Gradle及项目缓存
- 删除本地Gradle缓存目录:
C:\Users\user\.gradle\caches - 执行Flutter项目清理:
flutter clean,随后运行flutter pub get - 进入项目的
android目录,执行gradlew clean(Windows环境)
- 删除本地Gradle缓存目录:
强制指定稳定版lifecycle依赖
在android/app/build.gradle中添加依赖锁定配置,规避2.8.4版本的潜在问题:configurations.all { resolutionStrategy { force 'androidx.lifecycle:lifecycle-livedata-core:2.7.0' force 'androidx.lifecycle:lifecycle-viewmodel:2.7.0' force 'androidx.lifecycle:lifecycle-runtime:2.7.0' } }检查并修复Android SDK组件
- 打开Android Studio的SDK Manager,确保
Android SDK Build-Tools版本与项目配置匹配,可尝试更新至最新稳定版或回退至项目之前使用的版本 - 确认对应版本的
Android SDK Platform已完整安装
- 打开Android Studio的SDK Manager,确保
调整Dex编译配置
在android/app/build.gradle的android块中添加以下优化配置:android { dexOptions { javaMaxHeapSize "4g" preDexLibraries = false } compileOptions { coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }排查依赖冲突
执行flutter pub deps --tree查看依赖树,若发现其他依赖间接引入冲突的lifecycle版本,可在pubspec.yaml中针对性排除:dependencies: problematic_package: version: ^x.y.z exclude: - androidx.lifecycle:lifecycle-livedata-core重建Android模块
- 删除项目
android目录下的.gradle和build文件夹 - 执行
flutter create --platforms android .重建Android模块(命令末尾的.表示保留现有项目配置)
- 删除项目
内容的提问来源于stack exchange,提问作者Riccardo Mazzi
相关产品推荐
相关产品推荐

