Android Keystore提示Cannot recover key无法生成签名APK如何解决
Android Studio Arctic Fox 签名APK生成失败解决方案
常见修复方案
- 校准Gradle JDK配置
Arctic Fox默认捆绑JDK 11,自定义JDK版本不兼容会导致keystore解析失败。进入File > Settings > Build, Execution, Deployment > Build Tools > Gradle,将Gradle JDK设置为Android Studio default JDK,重启IDE后重新尝试打包。 - 清理构建缓存
依次执行Build > Clean Project、Build > Rebuild Project,排除缓存文件导致的签名逻辑异常。 - 命令行方式打包签名
绕过IDE界面的keystore读取逻辑,直接通过终端执行命令:- 进入项目根目录,执行
./gradlew assembleRelease(Windows系统执行gradlew.bat assembleRelease),如果配置了signingConfigs会自动完成签名 - 也可手动生成未签名APK后,通过jarsigner工具签名:
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore [你的keystore文件路径] [待签名APK路径] [keystore别名],按提示输入密码即可完成签名。
- 进入项目根目录,执行
- 校验keystore路径配置
检查module级build.gradle中signingConfigs块的keystore路径、别名、密码是否与实际一致,路径不要包含中文、空格或特殊字符。
Keystore迁移说明
重要提示:Google Play要求应用更新的签名必须与首次上传的签名完全匹配,直接生成新keystore无法用于更新已上线的应用。
如果上述方案均无效,可通过以下方式处理签名更换需求:
- 若已开启Google Play应用签名:可直接在Play Console后台申请重置上传密钥,生成新的keystore后将公钥提交给Google审核,审核通过后即可用新keystore打包上传更新,不影响用户正常升级。
- 若未开启Google Play应用签名:无法更换应用签名,只能继续排查原有keystore的读取问题。
报错参考

内容的提问来源于stack exchange,提问作者ralphgabb
相关产品推荐
相关产品推荐

