MAC 使用JRE生成uni-app打包安卓用证书

最近在开发基于uniapp框架的app,到了打包发布的阶段,来尝试打包为安卓安装包。在用HBuild打包的时候需要提供安卓的数字证书(.keystore 文件), 用于表明开发者的身份。需要在本地生成安卓证书后才能打包。

我们需要本机有JRE(Java Runtime Environment)环境。我们需要安装Java SE。下载对应系统的文件,我这里下载的是jdk-16.0.1_osx-x64_bin.dmg,然后开始安装。

安装好后进入目录:

 cd /Library/Java/JavaVirtualMachines/jdk-23.jdk/Contents/Home/bin

然后使用签名工具keytool开始生成证书:

keytool -genkey -v -alias 证书别名 -keyalg RSA -keysize 2048 -validity 36500 -keystore /Users/zhuangyuan/Downloads/证书名字.keystore

注意zhuangyuan你要改成你MAC机子上的用户账户名;证书别名 和 证书名字 替换成你的证书名字(用英文字母)

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,回车  

然后在生成的过程中需要记得你设置证书的密钥口令,然后其他的就是输入个人信息即可。生成后去对应的位置可以找到证书文件:证书名字.keystore
然后在HBuild里面选择发行 -> 原生app云打包,在出现的弹框中选择我们前面生成的证书,填入证书别名和密钥口令:

但出现红色错误提示:证书文件不是有效的keystore文件!!!

百度后解决方法需要更改密钥库类型为JKS:

keytool -importkeystore -srckeystore /Users/zhuangyuan/Downloads/证书名字.keystore -destkeystore /Users/zhuangyuan/Downloads/证书名字.keystore -deststoretype JKS

回车后需要输入你最设置的密钥口令,再回车就成功了。
用更改后的开始安卓打包,顺利可行。

使用 jdk 中自带的 keytool 工具,查看证书信息命令: keytool -list -v -keystore {路径及名称}.keystore
输入证书口令后,可以查看证书指纹:SHA1、SHA256

华为应用市场要求打包sing.zip文件,MAC机没必要拷贝pepk.jar和证书文件到java下的bin目录,用全路径一样。

java -jar /全路径/pepk.jar --keystore /全路径/****.keystore --alias ****** --output=/全路径/sign.zip --encryptionkey=034200041E224EE22B45D19B23DB91BA9F52DE0A06513E03A5821409B34976FDEED6E0A47DBA48CC249DD93734A6C5D9A0F43461F9E140F278A5D2860846C2CF5D2C3C02 --include-cert
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容