问题描述
uni-app打包成app后高德地图报key值错误,uniapp 中使用高德地图打包成app后,引用报错。
auth fail:INVALID_USER_SCODE#SHA1AndPackage#
原因分析:
uniapp 打包成 安卓安装包,项目中需要使用高德地图安卓版本的授权key。
uniapp项目在开发的时候大多数时候会使用浏览器进行开发测试,做多平台开发时往往会忽略掉兼容性的问题。
解决方案:
在高德地图开放平台申请安卓使用的key,申请步骤如下。
-
1.高德地图控制台申请安卓key,选择 Android平台,此时会发现除了key名称可以随意填之外,其他两个必填无从下手。
-
2.PackageName获取,HBuilderX 打开项目,发行->云打包,弹出下面弹框。PackageName为Android包名 即下图红框中的内容,黏贴复制到高德key申请页面。
-
3.云打包结束后,打开apk文件夹。
-
4.解压后会出现很多文件,打开 META-INF,在地址栏输入cmd 并回车。
-
5.获取apk的SHA1值,在cmd 中输入 keytool -printcert -file ANDROID.RSA,注意 ANDROID.RSA在每个apk中的名字都不一样,命令行中ANDROID.RSA需要替换成 META-INF文件夹中的 .RSA文件名。将获取到的SHA1值黏贴复制到高德key申请页面。
-
6.所有必填信息都提交后,会生成一个安卓key,复制该key
-
7.回到uniapp的项目中,打开根目录下的manifest.json,选择App模块配置->Maps(地图,只能选一个),勾选高德地图,将key值填写到appkey_android中
-
8.重新打包。