Android Studio打包signed APK/app bundle签名报错如何解决
第一步:修正keystore.properties配置
你的keystore.jks存放在android根目录下,gradle执行app模块任务时的工作目录默认是android/app,所以直接写正确的相对路径即可,不需要加转义符:
storePassword=你实际的存储密码 keyPassword=你实际的密钥密码 keyAlias=你实际的密钥别名 storeFile=../keystore.jks
第二步:验证keystore本身的信息正确性
路径配置正确后报密码/别名错误,直接用官方keytool命令本地校验即可:打开终端进入项目的android目录,执行以下命令:
keytool -list -keystore keystore.jks
输入你设置的storePassword,看能不能正常输出密钥库信息,确认输出的别名和你配置的keyAlias完全一致,大小写也要匹配。如果这个命令本身就报密码错误,说明你记忆的密码和生成密钥时设置的不一致,重新生成密钥或者找回正确密码即可。
第三步:校验build.gradle的配置逻辑
确认app模块build.gradle开头加载keystore.properties的代码没有写错:
def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('keystore.properties') if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) }
注意这里必须用rootProject.file读取,如果写的是file会从app目录下找keystore.properties,找不到的话所有签名参数都是空值,也会触发报错。
额外校验项
- 确认keystore.jks文件没有损坏,如果你是从其他设备拷贝过来的,检查文件大小和原文件是否一致,有没有传输中断的情况
- 不要给keystore.jks设置过高的权限,保证当前系统用户有读取权限即可
内容的提问来源于stack exchange,提问作者born.a.bot
相关产品推荐
相关产品推荐

