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

安卓应用签名报java.lang.SecurityException无效签名文件摘要问题咨询

问题根因

该报错是第三方依赖包内置的签名校验文件与APK自身签名流程冲突导致,微软依赖携带的META-INF/msftsig.sf属于这类冲突文件,会打断签名时对Manifest属性的摘要校验逻辑。

修复方案

在app模块级的build.gradle配置文件中添加packagingOptions排除规则,根据你使用的Gradle语法选择对应配置:

Groovy 语法(通用默认配置)

在android闭包中添加如下配置:

android {
    // 保留原有其他配置不变
    packagingOptions {
        // 定向排除微软依赖带的冲突签名文件
        exclude 'META-INF/msftsig.sf'
        // 通用排除规则,可避免其他第三方依赖带来的同类签名冲突
        exclude 'META-INF/*.SF'
        exclude 'META-INF/*.DSA'
        exclude 'META-INF/*.RSA'
        exclude 'META-INF/*.MF'
    }
}

Kotlin DSL 语法

对应配置如下:

android {
    // 保留原有其他配置不变
    packagingOptions {
        exclude("META-INF/msftsig.sf")
        exclude("META-INF/*.SF")
        exclude("META-INF/*.DSA")
        exclude("META-INF/*.RSA")
        exclude("META-INF/*.MF")
    }
}
生效验证
  • 配置完成后同步Gradle项目
  • 清理历史构建缓存:执行./gradlew clean(Windows系统执行gradlew clean)
  • 重新触发APK打包签名流程,报错即可消除
补充说明

如果仅需解决当前微软依赖带来的问题,只保留META-INF/msftsig.sf的排除规则即可;添加通用排除规则不会影响APK本身的签名有效性,还能提前规避后续引入其他第三方依赖时的同类冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:54:05