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

如何禁用Android APK的MD5签名解决MDM上传报错问题

修复APK上传MDM平台报「不支持MD5签名」问题方案

问题本质

Android旧版构建、签名工具默认会在v1签名中加入MD5哈希算法,目前主流移动设备管理(MDM)平台、Android 11及以上版本系统均已废弃MD5签名校验逻辑,会直接拦截带MD5签名的APK上传、安装。

具体解决步骤

场景1:有源码,通过Android Studio/Gradle构建APK

  • 先将项目使用的Android Gradle插件(AGP)升级到7.0及以上版本,低版本AGP默认签名逻辑无法手动排除MD5算法。
  • 在模块级build.gradle(Groovy语法)或build.gradle.kts(Kotlin语法)中,修改release签名配置,明确指定允许的签名、摘要算法,彻底移除MD5:
android {
    signingConfigs {
        release {
            // 替换为你自己的签名文件信息
            storeFile file("your-release-keystore.jks")
            storePassword "your-keystore-password"
            keyAlias "your-key-alias"
            keyPassword "your-key-password"
            // 启用全版本签名支持
            v1SigningEnabled true
            v2SigningEnabled true
            v3SigningEnabled true
            v4SigningEnabled false
            // 强制指定仅使用安全哈希算法,排除MD5
            signingConfigExtensions {
                digestAlgorithms = ["SHA-256", "SHA-1"]
                signatureAlgorithms = ["SHA256withRSA", "SHA1withRSA"]
            }
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            // 其余release构建配置保持原有逻辑即可
        }
    }
}
  • 配置完成后执行./gradlew clean assembleRelease命令,重新打出的release包就不会带MD5签名。

场景2:无源码,对已有APK手动重签名

如果只有编译好的APK文件,可以直接用Android SDK自带的签名工具重新签名移除MD5:

  • 打开Android SDK的build-tools目录,选择30.0.0及以上版本的工具目录,找到zipalign和apksigner两个可执行文件,建议把这个目录加到系统环境变量方便调用。
  • 先执行对齐优化命令:
zipalign -v 4 original-unsigned.apk aligned.apk
  • 再执行重签名命令,明确指定不使用MD5算法:
apksigner sign --ks your-release-keystore.jks \
  --ks-pass pass:your-keystore-password \
  --key-pass pass:your-key-password \
  --ks-key-alias your-key-alias \
  --digest-algorithm SHA-256,SHA-1 \
  --signature-algorithm SHA256withRSA,SHA1withRSA \
  --out final-no-md5.apk \
  aligned.apk

结果校验

签名完成后执行以下命令验证签名信息:

apksigner verify -v final-no-md5.apk

查看输出的签名算法列表,没有MD5相关条目即可正常上传MDM平台。

注意:不要使用过时的jarsigner工具默认配置签名APK,老版本jarsigner会默认加入MD5摘要。如果必须使用jarsigner,需要追加-sigalg SHA256withRSA -digestalg SHA-256参数强制指定安全算法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 22:48:25