一、安装JRE环境(如已有此环境可跳过)
从Oracle官方下载JRE安装包:Java Downloads | Oracle,选择操作系统对应的版本下载,如果没有Oracle账号需要注册一个
全部下一步安装即可,记住安装目录,需要配置环境变量,比如:我的安装目录是C:\Program Files\Java\jre1.8.0_251\bin
右键我的电脑,进入属性–>高级系统设置–>高级–>环境变量–>找到Path–>新建,把这个路径粘贴进去
二、生成证书
1,打开命令行窗口,执行
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
这里 -alias testalias 中的 testalias 是证书别名,你可以换成其他的,最后的-keystore test.keystore这里的test.keystore是证 书文件的名称,你可以换成你自己的文件名,如myapp.keystore,回车后会提示:
Enter keystore password: 输入证书文件密码,输入完成回车
Re-enter new password: 再次输入证书文件密码,输入完成回车
What is your first and last name?
[Unknown]: 输入名字和姓氏,输入完成回车
What is the name of your organizational unit?
.......
以上命令运行完成后就会生成证书,证书文件默认在执行命令的目录也就是用户名文件夹下。
然后再执行 keytool -list -v -keystore test.keystore
后面-keystore test.keystore中的test.keystore就是你上面生成的证书名称,比如myapp.keystore,然后输入证书文件密码, 就可以得到如下信息
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
其中的 SHA1: BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7就是我们高德里面需要的SHA1码了。
当我们把这个SHA1码正确的填到高德里面以后就可以看到key,接下来我们就可以去打包了
三、打包之前的配置
在App模块权限配置里把Maps打开
在App SDK里勾选高德地图,把刚刚在高德上创建的key复制进来就行了,ios的比较复杂,本文只介绍安卓,如果你只做安卓ios可以随便填一个,比如:cd362f5dae1ab5b54edb0784f77fd748
现在可以开始打包了,找到状态栏 发行 –> 原生App-云打包,弹出下面弹框:
-
Android包名这一项必须跟高德api创建key的时候的packageName一致!!!前文也提到过这件事。
-
选择自有证书
-
证书别名、证书私钥和证书文件就是第二步生成的证书的信息,文件路径就在你执行命令的路径,一般在C:/Users/[你的用户名]下,找到keystore文件就行