Flutter打包APK报错::app:lintVitalRelease执行失败,Jetifier不支持类版本59
解决Flutter打包APK时JetifyTransform处理bcprov-jdk18on-1.72.jar失败的问题
类文件主版本59对应JDK 15,JetifyTransform对该版本字节码的兼容性不足是报错的核心原因,以下是几种可行的解决方法:
强制降低bcprov-jdk18on依赖版本
bcprov-jdk18on:1.72版本基于JDK15编译,而1.71版本使用JDK11(主版本55),可被Jetify正常转换。在android/app/build.gradle的dependencies块外添加如下配置:configurations.all { resolutionStrategy.force 'org.bouncycastle:bcprov-jdk18on:1.71' }禁用Jetify(仅适用于无旧Support库依赖的项目)
如果你的项目没有依赖需要Jetify转换的旧Android Support库,可直接关闭Jetify功能:
修改android/gradle.properties中的配置:android.enableJetifier=false升级Android Gradle Plugin(AGP)与Gradle版本
旧版AGP和Gradle对高版本JAR的Jetify支持不完善,升级到兼容JDK15的稳定版本:- 在
android/build.gradle中更新AGP版本:dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 保留其他原有依赖 } - 在
android/gradle/wrapper/gradle-wrapper.properties中更新Gradle版本(需与AGP版本匹配):distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
- 在
清理缓存后重新构建
执行以下命令彻底清理缓存并重新打包:flutter clean rm -rf android/.gradle flutter build apk
内容的提问来源于stack exchange,提问作者Crux_codes
相关产品推荐
相关产品推荐

