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

如何使用现有*.keystore构建Target API 30应用或迁移适配Play商店密钥

Android Target API 30 签名报错解决方案

问题根源

你当前使用的是2048位DSA算法的签名密钥,适配Target API 30时对应的Android Gradle插件默认不再支持SHA-1作为DSA密钥的摘要算法,因此会触发签名构建失败、SHA-1强度不足的报错。自行生成新密钥直接上传会触发Play商店签名校验不通过,是因为Play默认要求同个应用的升级包必须和历史包使用相同的签名密钥。

方案1:使用原有密钥完成无错误构建

无需更换密钥,仅需修改app模块下的build.gradle签名配置,指定v1签名使用的摘要算法即可:

android {
    signingConfigs {
        release {
            // 原有签名配置保持不变(storeFile、storePassword、keyAlias、keyPassword等)
            v1SigningEnabled true
            v2SigningEnabled true
            // 新增以下配置指定签名算法
            v1SigningConfig {
                signatureAlgorithm = "SHA256withDSA"
            }
        }
    }
    // 其余配置无需改动
}

修改完成后重新构建即可正常生成AAB/APK包,上传到Play商店不会触发签名错误。

方案2:迁移新签名密钥并被Play商店认可

如果需要更换为兼容性更强的RSA算法密钥,需走Play官方的签名密钥升级流程,不能直接生成新密钥就上传:

  • 按照常规流程生成新的RSA算法签名密钥(推荐2048位及以上)
  • 打开Google Play Console,进入对应应用的管理页,依次进入「设置」-「应用完整性」-「应用签名」板块
  • 选择「升级应用签名密钥」选项,按照页面指引提交升级申请:需要上传新密钥的公钥证书,同时用原有旧密钥对平台提供的验证文件签名,完成身份校验
  • 等待平台审核通过(审核周期一般为数小时到1个工作日),审核通过后使用新密钥打包上传即可正常通过校验

注意事项

  • 方案1的配置可兼容后续更高版本的Target API适配,不会出现算法相关的签名报错
  • 方案2必须等Play审核通过后再使用新密钥打包上传,否则始终会触发签名不匹配的报错
  • 无论选择哪种方案,都需要妥善保管密钥文件和对应密码,避免丢失导致无法推送应用更新

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:27:03