You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter打包APK时出现:app:lintVitalRelease执行失败问题求助

解决Flutter打包APK时:app:lintVitalRelease失败及JetifyTransform错误的方案

问题根源

类文件主版本59对应JDK 15,而Jetify(AndroidX转换工具)对高版本JDK编译的jar包支持有限;同时flutter_local_notifications依赖的bcprov-jdk15on-1.68.jar使用JDK15编译,导致转换失败,进而影响lintVitalRelease任务执行。

具体解决步骤

1. 升级Android Gradle插件与Gradle版本

Jetify的兼容性和Android Gradle插件(AGP)版本强相关,升级到支持高JDK版本的AGP和Gradle:

  • 打开android/build.gradle,修改dependencies中的AGP版本:
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2' // 或更高兼容版本
        // ...其他依赖
    }
    
  • 打开android/gradle/wrapper/gradle-wrapper.properties,修改Gradle版本:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip // 对应AGP7.4.2的Gradle版本
    

2. 替换冲突依赖版本

强制将bcprov-jdk15on替换为更低兼容版本(比如1.65,基于JDK8编译):
打开android/app/build.gradle,在dependencies块中添加:

dependencies {
    // ...其他依赖
    implementation('com.dexterous:flutter-local-notifications:你的当前版本号') {
        exclude group: 'org.bouncycastle', module: 'bcprov-jdk15on'
    }
    implementation 'org.bouncycastle:bcprov-jdk15on:1.65'
}

3. 让Jetify跳过目标jar包转换

若不想替换依赖,可配置Jetify跳过bcprov-jdk15on-1.68.jar的转换:
打开android/gradle.properties,添加:

android.jetifier.blacklist=bcprov-jdk15on-1.68.jar

4. 临时禁用lint检查(不推荐长期使用)

若上述方案暂时无法生效,可先跳过lint检查完成打包(后续需修复依赖问题):
打开android/app/build.gradle,在android块中添加:

android {
    // ...其他配置
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
}

5. 清理缓存重新构建

执行以下命令清理缓存,避免旧文件干扰:

flutter clean
cd android
./gradlew clean
./gradlew build --refresh-dependencies
cd ..
flutter build apk

内容的提问来源于stack exchange,提问作者Muqri Hafiy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 00:30:44