uniapp安卓app打包后获取位置信息失败解决方法(含高德地图key详细申请流程)

2021/4/12 10:56:36

本文主要是介绍uniapp安卓app打包后获取位置信息失败解决方法(含高德地图key详细申请流程),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

转自于:https://blog.csdn.net/u010227042/article/details/106560509/

这个也是我在做uniapp混合app时遇到的问题,也是困惑了几天,网上也有很大相关文章,但是有些地方有些不清晰,让新手很困惑。

问题原因

我在项目中碰到两个问题

  1. 如果只需要用定位功能获取到经纬度坐标的,可以不用在manifest.json --> App SDK配置中勾选定位和地图服务(注意:部分国产Android手机可能必须勾选才能获取位置,看下图),但是项目中的地图功能却没法用
  2. 我在高德地图申请了key,也在manifest.json --> App SDK中填写了,但是却并没有生效,打包完连基本的经纬度都获取不到了,但是地图貌似能用,哈,这应该是大多数人遇到的问题

 

解决方法

解决方法就是,申请高德或者百度的key,在manifest.json --> App SDK中勾选地图和定位服务,在App模块权限配置中勾选Maps,这样我们可以获取更多的位置服务权限。

 

 

 

 

 

怎么在高德地图申请key

其实主要的问题是出在这里,大多数人配置完这个在app上还不生效,就是因为申请key时填的包名和云打包时填写的不一致造成的。

下面写一下申请流程

  • 注册高德开放平台会员
  • 创建新应用

 

 

  • 在应用下创建key

 

这里安全码SHA1,我们可以用官方给的  BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58

在DCloud公用证书主要信息中有,如下

复制代码

Alias name: hbuilder  
Creation date: 2014-9-29  
Entry type: PrivateKeyEntry  
Certificate chain length: 1  
Certificate[1]:  
Owner: CN=DH, OU=数字天堂(北京)网络技术有限公司, O=数字天堂(北京)网络技术有限公司, L=海淀, ST=北京, C=86  
Issuer: CN=DH, OU=数字天堂(北京)网络技术有限公司, O=数字天堂(北京)网络技术有限公司, L=海淀, ST=北京, C=86  
Serial number: 5174dc8b  
Valid from: Mon Apr 22 14:45:31 CST 2013 until: Sun Aug 23 14:45:31 CST 3012  
Certificate fingerprints:  
         MD5:  59:20:1C:F6:58:92:02:CB:2C:DA:B2:67:52:47:21:12  
         SHA1: BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58  
         SHA256: D7:5C:1F:A2:B9:AE:86:7C:E6:88:A8:AD:C6:DE:AC:7C:D6:BA:96:F4:3A:75:1F:D1:0A:20:0F:A5:97:4A:C6:36  
Signature algorithm name: SHA1withRSA  
Subject Public Key Algorithm: 1024-bit RSA key

复制代码

详细请看 Android平台云端打包证书使用说明

 

说一下包名PackageName,大部分人会在这里出错,因为有格式限制,我们一般写这种格式:io.dcloud.hbuilder这种格式,但是不管写成什么,一定要和App云端打包时的安卓包名一致,注意,一定不要写成uniapp的appID(__UNI_FDXXXXX)

 

 

 

 

  •  将生成的key填写到manifest.json --> App SDK配置中


这篇关于uniapp安卓app打包后获取位置信息失败解决方法(含高德地图key详细申请流程)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程