使用Android Studio生成签名构建失败,提示密钥库格式无效
解决Android Studio签名构建报错“Invalid keystore format”
问题关键信息
- 核心报错:
A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
com.android.ide.common.signing.KeytoolException: Failed to read key keycsr from store "C:...\app\csrkeystore.jks": Invalid keystore format
- 当前签名配置:
signingConfigs { release { keyAlias 'keycsr' keyPassword '********' storeFile file('csrkeystore.jks') storePassword '********' } }
可行解决方案
验证Keystore文件有效性
用keytool命令直接检查文件:keytool -list -v -keystore csrkeystore.jks若命令报错,说明文件损坏或非标准JKS格式,重新获取正确的Keystore文件(排查下载/复制过程中的损坏问题)。
适配Keystore格式与JDK版本
JDK9+默认生成PKCS12格式的Keystore,若你的文件是该格式,需在配置中指定类型:signingConfigs { release { keyAlias 'keycsr' keyPassword '********' storeFile file('csrkeystore.jks') storePassword '********' storeType 'PKCS12' // 添加此行指定格式 } }也可以将PKCS12格式转为JKS格式:
keytool -importkeystore -srckeystore csrkeystore.jks -srcstoretype PKCS12 -destkeystore new_csrkeystore.jks -deststoretype JKS确认文件路径正确性
确保csrkeystore.jks确实在app模块根目录,或用绝对路径测试:storeFile file('C:/完整路径/app/csrkeystore.jks')避免路径含特殊字符或空格导致解析失败。
核对密钥信息准确性
再次确认keyAlias、keyPassword、storePassword与生成Keystore时的信息完全一致,注意大小写敏感。清理缓存后重建项目
执行Build > Clean Project,再执行Build > Rebuild Project,清除旧缓存后重试签名构建。
内容的提问来源于stack exchange,提问作者Abhishek Jha
相关产品推荐
相关产品推荐

