更新Dart后Flutter项目Gradle构建失败求助
解决Dart更新后Flutter项目构建失败问题
针对更新Dart后出现的lifecycle-livedata-core-2.8.2 D8空指针构建失败问题,以下是可行解决方案:
1. 强制替换存在问题的Lifecycle依赖版本
在项目根目录的android/build.gradle文件中添加版本强制规则,替换为稳定版本:
allprojects { repositories { // 保留原有仓库配置 } configurations.all { resolutionStrategy.force 'androidx.lifecycle:lifecycle-livedata-core:2.7.0' } }
通过强制指定稳定版本,避免依赖冲突或版本BUG导致的Dex转换失败。
2. 彻底清理缓存并重建
缓存损坏可能是诱因,执行以下操作:
- 清理Flutter项目缓存:
flutter clean - 清理Gradle全局缓存(Windows用户替换为自己的用户目录路径):
rm -rf ~/.gradle/caches/ # Windows命令:rmdir /s /q C:\Users\你的用户名\.gradle\caches - 重新构建项目:
flutter run
3. 同步Gradle插件与Flutter版本兼容性
检查android/build.gradle中的AGP(Android Gradle Plugin)版本是否与当前Flutter版本匹配:
buildscript { ext.kotlin_version = '1.8.10' dependencies { // Flutter 3.10+建议搭配AGP 7.4.2及以上版本 classpath 'com.android.tools.build:gradle:7.4.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
同时在android/gradle/wrapper/gradle-wrapper.properties中匹配对应Gradle版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
4. 确认Flutter与Dart版本匹配
运行以下命令检查版本兼容性,若存在不匹配提示,切换到Flutter稳定版:
flutter doctor flutter channel stable flutter upgrade
报错信息回顾:
ERROR:C:\Users\...\.gradle\caches\transforms-3\0e643d5da6fcb9481b0522bb4a3cd61b\transformed\lifecycle-livedata-core-2.8.2-runtime.jar: D8: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:mergeExtDexDebug'. > Could not resolve all files for configuration ':app:debugRuntimeClasspath'. > Failed to transform lifecycle-livedata-core-2.8.2.aar (androidx.lifecycle:lifecycle-livedata-core:2.8.2) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=28, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}. > Execution failed for DexingNoClasspathTransform: C:\Users\....\.gradle\caches\transforms-3\0e643d5da6fcb9481b0522bb4a3cd61b\transformed\lifecycle-livedata-core-2.8.2-runtime.jar. > Error while dexing.
内容的提问来源于stack exchange,提问作者EF1
相关产品推荐
相关产品推荐

