问题
uniapp中如果含有map地图模块,打包时需要勾选该模块,并选择高德/百度地图、填写他们的appkey,不然打包后会提示找不到maps模块。
高德地图的Android端appkey申请流程文档:https://lbs.amap.com/api/android-sdk/guide/create-project/get-key
上面这是高德地图的官方说明文档,但是其中涉及到的安卓开发软件,如:
1、
2、
3、
这些是我没见过的,所以记录一下获取SHA1的过程。
一开始我也想用eclipse来获取SHA1,先下载安装了JDK,再安装eclipse,但是eclipse一直报错(报错如下),上网查了方法也没有解决。
后来问了同学之后,还是决定直接用JDK自带的keytool工具,获取SHA1
这里顺便贴一下:
eclipse官网下载页:http://wiki.eclipse.org/Eclipse_Installer
用JDK自带的keytool工具获取SHA1
安装JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
我是win7,64位:
下载后双击开始安装即可。
PS:如果改了安装目录,要记得安装目录的位置,后面要用到的。
生成keystore:文档:https://ask.dcloud.net.cn/article/35777
参照以上文档,按顺序输入:
1、切换工作目录到D:路径:
d:
2、将jre命令添加到临时环境变量中
set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"
3、使用keytool生成证书
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
- testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
- test.keystore是证书文件名称,可修改为自己想设置的文件名称
(我JDK的安装目录在D盘)
在 [否] 后面直接回车,可以重新输入信息, 输入 y 再回车即确认。
查看keystore内容:
keytool -list -v -keystore test.keystore
Enter keystore password: //输入密码,回车
在这个文件夹里面就可以看到这个keystore文件了
至此,你就已经得到了SHA1安全码了。
添加高德地图appkey
进入高德地图控制台》我的应用》(如果没有创建应用,就需要创建一个)》右上角“添加Key”》把SHA1码填进去。
至于PackageName我直接写了uniapp的mainfest.js源码中的name的值:
key名称好像是帮助你自己记忆和检索的,应用名称+用途就可以了。
提交后就可以看到申请成功了。
IOS的高德appkey申请
这个就比较麻烦了,主要麻烦在申请apple的开发者账号,我们公司搞了很久才买好了apple的开发者账号。
我直接登录apple的开发者后台,获取appid(Bundle ID),然后填入高德地图的提交表单,就申请好了。
把这个Bundle ID填进入即可申请:
至此,安卓和苹果的appkey都好了。
以后其他app需要appkey的话,也是在高德地图的控制台添加key就可以。
填入uniapp项目中
打包前要勾选maps模块,
再配置SDK(把高德地图的appkey填进来):