Flutter运行报错:JetifyTransform及compileDebugKotlin任务执行失败求助
Flutter构建失败:JetifyTransform转换x86_debug.jar出错(invalid distance code)
我之前也碰到过类似的Jetifier转换报错,结合你的日志来看,核心问题是Gradle缓存里的x86_debug.jar文件损坏,导致Jetify工具处理时抛出invalid distance code错误,最终让:app:compileDebugKotlin任务执行失败。
先贴出完整的错误日志:
FAILURE: 构建失败,出现异常。 出错原因:任务':app:compileDebugKotlin'执行失败。 无法解析配置':app:debugCompileClasspath'的所有构件。 无法转换构件'x86_debug.jar (io.flutter:x86_debug:1.0.0-77c5812d48b861225ea629bd813ad502ddf2c89c)'以匹配属性{artifactType=android-classes, org.gradle.usage=java-runtime-jars}。 JetifyTransform执行失败:C:\Users\Parth\.gradle\caches\modules-2\files-2.1\io.flutter\x86_debug\1.0.0-77c5812d48b861225ea629bd813ad502ddf2c89c\d987fc036069ac9d7bfec6a441e0c6ca9e6d8467\x86_debug-1.0.0-77c5812d48b861225ea629bd813ad502ddf2c89c.jar。 使用Jetifier转换上述jar包失败,原因:invalid distance code。(使用--stacktrace获取更多详细信息。) 建议操作: 使用--stacktrace选项获取堆栈跟踪。 使用--info或--debug选项获取更多日志输出。 使用--scan获取完整分析信息。 获取更多帮助请访问https://help.gradle.org 构建在22秒内失败。 Gradle任务assembleDebug执行失败,退出码为1。 已退出(sigterm)。
解决办法
按顺序尝试下面的步骤,通常第一个就能解决问题:
- 清理Gradle本地缓存:直接删除
C:\Users\Parth\.gradle\caches目录,然后重新运行flutter run。缓存里的jar包大概率已经损坏,删除后Gradle会自动重新下载完整的依赖文件。 - 执行Flutter项目清理流程:先运行
flutter clean,接着删除项目根目录下的android/.gradle文件夹,再执行flutter pub get拉取最新依赖,最后尝试重新构建。 - 临时禁用Jetifier(仅作验证):打开项目的
android/gradle.properties文件,把android.enableJetifier=true修改为android.enableJetifier=false。注意这个是临时方案,可能会影响其他依赖的兼容性,验证问题解决后最好改回原值。 - 更新Flutter和Gradle版本:执行
flutter upgrade将Flutter升级到最新稳定版,同时在android/build.gradle中把Gradle插件版本更新到官方推荐的兼容版本,新版本通常会修复这类工具链的兼容性问题。
内容的提问来源于stack exchange,提问作者Parth Rajani
相关产品推荐
相关产品推荐

