构建签名APK及App Bundle报错:Invalid keystore format
解决":app:signReleaseBundle"执行失败(Invalid keystore format)的方案
1. 补全gradle里的签名配置
你当前的gradle文件中,release构建类型没有关联签名配置,先在android块内添加完整的签名配置:
android { // ... 保留你原有的compileSdkVersion、defaultConfig等配置 signingConfigs { release { storeFile file("F:\\extra\\pf\\app bundle\\mathkey.jks") // 反斜杠需转义,或改用正斜杠"/" storePassword "你的密钥库密码" keyAlias "key0" keyPassword "你的密钥密码" } } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release // 关联签名配置 } } // ... 保留原有的repositories配置 }
2. 验证密钥库文件有效性
用JDK自带的keytool命令检查密钥库是否完好:
打开命令提示符,执行:
keytool -list -v -keystore "F:\extra\pf\app bundle\mathkey.jks"
输入密钥库密码后,若能正常显示密钥信息,说明文件没问题;若报错,证明密钥库已损坏或格式错误——这种情况要么从备份恢复,要么重新生成签名密钥库(注意:重新生成后,旧签名的安装包无法直接更新)。
3. 解决JDK版本兼容性问题
不同JDK版本生成的密钥库格式可能不兼容:
- 如果密钥库是用旧版JDK(如JDK8之前)生成的,现在用高版本JDK打包,可尝试转换密钥库格式:
keytool -importkeystore -srckeystore "F:\extra\pf\app bundle\mathkey.jks" -destkeystore "new_mathkey.jks" -deststoretype pkcs12
之后把gradle里的storeFile路径改成新生成的new_mathkey.jks,再尝试打包。
4. 检查文件路径与权限
- 确认密钥库文件确实在指定路径下,没有被误删或移动;
- 右键文件→属性→安全,确保当前用户拥有该文件的读取权限。
5. 清理后重新构建
- 执行Android Studio的
Build → Clean Project,再选Build → Rebuild Project,然后尝试生成Release Bundle; - 也可以手动删除项目根目录下的
.gradle、build文件夹,重新同步gradle后再构建。
内容的提问来源于stack exchange,提问作者Abdul Basit
相关产品推荐
相关产品推荐

