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

生成签名APK时:app:lintVitalRelease任务失败求助

解决签名APK构建时lintVitalRelease失败的问题

错误核心原因

错误提示里的Unsupported class file major version 59是关键:这个版本号对应Java 15编译的字节码,而你当前使用的Jetifier(Android Gradle Plugin内置的依赖转换工具)版本不支持处理这么高版本的字节码文件。

你能正常构建签名Bundle却无法生成APK,是因为lintVitalRelease是APK发布构建的强制检查环节,会触发所有依赖的Jetify转换;而Bundle构建流程未触发该任务的完整依赖转换逻辑,因此没暴露问题。

解决方案

方案1:升级Android Gradle Plugin(AGP)与Gradle版本

Jetifier的能力随AGP版本升级而提升,更新到支持Java 15字节码的版本:

  • 确保AGP版本至少为7.0.0(该版本开始支持Java 15及更高版本的字节码处理)
  • Gradle版本需与AGP匹配:AGP 7.0.x对应Gradle 7.0+,AGP 7.1.x对应Gradle 7.2+,以此类推

修改项目根目录的build.gradle(或build.gradle.kts):

// 根目录build.gradle
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        // 替换为兼容的AGP版本,例如7.4.2
        classpath 'com.android.tools.build:gradle:7.4.2'
    }
}

修改gradle/wrapper/gradle-wrapper.properties中的Gradle版本:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip

方案2:替换兼容版本的bcprov-jdk15on依赖

若暂时不想升级AGP,可强制替换bcprov-jdk15on为更低版本(如1.67,该版本基于Java 8编译,无版本兼容问题):
在app模块的build.gradle(或build.gradle.kts)中添加:

// app模块build.gradle
dependencies {
    // 排除依赖树中的旧版bcprov-jdk15on
    configurations.all {
        exclude group: 'org.bouncycastle', module: 'bcprov-jdk15on'
    }
    // 添加兼容版本
    implementation 'org.bouncycastle:bcprov-jdk15on:1.67'
}

方案3:临时跳过lintVitalRelease检查(不推荐)

若需紧急生成APK,可临时禁用该检查,但会丢失发布前的关键lint校验,不建议长期使用:
在app模块的build.gradle中添加:

// app模块build.gradle
android {
    buildTypes {
        release {
            lintOptions {
                checkReleaseBuilds false
                abortOnError false
            }
        }
    }
}

验证步骤

  1. 执行./gradlew clean清除缓存
  2. 重新尝试构建签名APK

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:20:14