Android Studio构建报错:SHA-1算法安全性不足,如何解决?
解决SHA-1算法强度不足的报错方案
问题本质
报错The security strength of SHA-1 digest algorithm is not sufficient for this key size是因为你的targetSdkVersion 31对应高版本Android构建工具,已不再允许SHA-1签名算法搭配大密钥尺寸,属于安全合规层面的限制。
不影响Google Play更新的解决办法
1. 升级签名算法(推荐,不换密钥)
无需生成新的SHA密钥,仅修改签名配置,将SHA-1替换为SHA-256(更高强度算法)即可,步骤如下:
- 打开
app/build.gradle文件,找到签名配置块 - 添加V2签名支持并指定高安全算法,示例配置:
signingConfigs { release { storeFile file('your_keystore.jks') storePassword '你的密钥库密码' keyAlias '你的密钥别名' keyPassword '你的密钥密码' v2SigningEnabled true signingConfig { signatureVersions = ["V2"] digestAlgorithms = ["SHA-256"] signatureAlgorithms = ["SHA256withRSA"] } } } - 同步Gradle后重新构建,原签名密钥保持不变,完全不影响Google Play应用更新。
2. 临时降级构建工具版本
若暂时不想调整签名算法,可将buildToolsVersion降至30.0.3及以下(31+版本开始严格限制SHA-1),在app/build.gradle中修改:
buildToolsVersion "30.0.3"
注意:此为临时方案,不符合Android后续安全规范,不建议长期使用。
重要提醒
- 只要不更换签名密钥,仅修改签名算法,Google Play会判定为同一应用,更新流程不受任何影响。
- 若此前已用SHA-1签名上传过应用,升级到SHA-256后,Google Play后台会自动保留旧签名指纹,不会影响现有用户更新。
内容的提问来源于stack exchange,提问作者Salah
相关产品推荐
相关产品推荐

