首先我们先安装JRE环境
下载链接: https://www.oracle.com/technetwork/java/javase/downloads/index.html
我这里安装的是windows下的
下载之后可以下一步安装,我这里更改安装路径未D盘
安装完之后将安装路径配置到环境变量
我的电脑-属性-高级系统设置- 环境变量-选择Path-编辑-新建-复制进去保存就行了
下面我们打开命令行输入
keytool
这就安装好了
下面我们开始生成证书
使用keytool -genkey命令生成证书:
Google开发者证书信息有误,请重新填写相关信息 Android 证书文件不是有效的keystore文件Hbulider
一开始一直按网上的方法生成证书发现生成出来的证书一直是无效的证书。
然后就想到应该是hbuilder解析不了证书格式
于是开始折腾
先去下载了hbuilder官方的证书,用keytool查看
keytool -list -v -keystore ./HBuilder.keystore
发现
签名算法名称: SHA1withRSA
主体公共密钥算法:1024 位 RSA 密钥
密钥库类型:JKS
果然和默认生成不一样,下面直接给出解决方案。
第一步生成正常的证书:
keytool -genkey -alias yourapp.keystore -keyalg RSA -sigalg SHA1WithRSA -validity 20000 -keysize 1024 -keystore yourapp.keystore -v
- testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
- test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
- 36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期
上面的关键的地方
-sigalg SHA1WithRSA
-keysize 1024
第二步,更改密钥库类型:
keytool -importkeystore -srckeystore ./yourapp.keystore -destkeystore ./yourapp.keystore -deststoretype JKS
然后使用这个证书就可以云打包了
注意把yourapp改成你自己的名字
Enter keystore password: //输入证书文件密码,输入完成回车
Re-enter new password: //再次输入证书文件密码,输入完成回车
What is your first and last name?
[Unknown]: //输入名字和姓氏,输入完成回车
What is the name of your organizational unit?
[Unknown]: //输入组织单位名称,输入完成回车
What is the name of your organization?
[Unknown]: //输入组织名称,输入完成回车
What is the name of your City or Locality?
[Unknown]: //输入城市或区域名称,输入完成回车
What is the name of your State or Province?
[Unknown]: //输入省/市/自治区名称,输入完成回车
What is the two-letter country code for this unit?
[Unknown]: //输入国家/地区代号(两个字母),中国为CN,输入完成回车
Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?
[no]: //确认上面输入的内容是否正确,输入y,回车
Enter key password for <testalias>
(RETURN if same as keystore password): //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以
以上命令运行完成后就会生成证书,路径为“D:\test.keystore”。
查看证书信息
可以使用以下命令查看:
复制代码keytool -list -v -keystore test.keystore
Enter keystore password: //输入密码,回车
Keystore type: PKCS12
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: test
Creation date: 2019-10-28
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN
Issuer: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN
Serial number: 7dd12840
Valid from: Fri Jul 26 20:52:56 CST 2019 until: Sun Jul 02 20:52:56 CST 2119
Certificate fingerprints:
MD5: F9:F6:C8:1F:DB:AB:50:14:7D:6F:2C:4F:CE:E6:0A:A5
SHA1: BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7
SHA256: 24:11:7D:E7:36:12:BC:FE:AF:2A:6A:24:BD:04:4F:2E:33:E5:2D:41:96:5F:50:4D:74:17:7F:4F:E2:55:EB:26
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
其中证书指纹信息(Certificate fingerprints):
- MD5
证书的MD5指纹信息(安全码MD5) - SHA1
证书的SHA1指纹信息(安全码SHA1) - SHA256
证书的SHA256指纹信息(安全码SHA245)
如果对你有用,关注一下博主的小程序,登录一下给予支持,以后有什么开源好用的源码都会上传到小程序