uniapp打包后获取位置信息一直转圈的解决方法

文章讲述了在uniapp开发的安卓应用打包后,遇到定位功能始终加载的问题,以及如何通过检查AppSDK配置、对比SHA1和MD5值、申请高德地图Key来解决此问题。关键步骤包括在manifest.json中配置权限,确保使用的SHA1值匹配打包证书的MD5值,并正确绑定高德地图应用。
摘要由CSDN通过智能技术生成

uniapp安卓app打包后获取位置置信息一直转圈解决方法

首先解释一下今天的问题,本来昨天高高兴兴的测试完了所有功能准备今天上班就打包APP上线了,
结果在今天早上把APP打包之后,出现了获取定位时底下的地址一直转圈的问题。
排错的方法:

  1. 先是在manifest.json --> App SDK配置中检查了勾选定位和地图服务
  2. 我在高德地图申请了key,也在manifest.json --> App SDK中填写了,但是在真机调试的时候,是可以正常选择的,结果项目打包之后就无法选择
  3. 接着对比了jer生成的sha1值与高德地图申请app的sha1值,重新生成了多次签名证书测试
解决方法

在manifest.json --> App SDK中勾选地图和定位服务,在App模块权限配置中勾选Maps,这样我们可以获取更多的位置服务权限。
在这里插入图片描述
然后绑定高德地图的应用,注意绑定的值的对比,高德地图上的sha1值不是对应证书的sha1值,而是对应的MD5值
在这里插入图片描述
在这里插入图片描述

申请高德地图Key SHA1和PackageName

uniapp申请使用地图,需要注册高德地图开发者账号。

创建应用

在这里插入图片描述
首先进入控制台在这里插入图片描述
进入应用管理的我都应用创建一个新的应用
在这里插入图片描述
在应用当中添加key
在这里插入图片描述
在这里插入图片描述
这一步就是添加高德地图的key,接下来是寻找SHA1和PackageName的值

寻找SHA1

发布版安全码SHA1
应用打包时使用证书的指纹字符串(SHA1)
HBuilderX云端打包选择“使用自有证书”或本地离线打包时,填写应用使用证书的SHA1,查看证书的信息获取指纹中SHA1值,参考:https://ask.dcloud.net.cn/article/35777#keyinfo
HBuilderX云端打包选择“公共测试证书”时,SHA1值为:BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7,详情参考:https://ask.dcloud.net.cn/article/36522
HBuilderX云端打包选择“老版本DCloud公用证书”时,SHA1值为:BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58,详情参考:https://ask.dcloud.net.cn/article/68
注意:必须添写实际打包使用证书的SHA1值,否则可能无法显示地图或无法定位

xHBuilder打包步骤

这里我们选择第一个云打包
在这里插入图片描述
这里的Android包名一定要记住,这个包名就是高德地图添加应用key的时候PackageName,选择使用自有证书

在这里插入图片描述
到这里可以先停一下去弄个签名证书以及文件

签名证书
  • 先去Oracle官方下载jre安装包

  • 配置jre的环境变量地址
    在这里插入图片描述
    按住Windows+S搜索环境变量打开后点击环境变量
    在这里插入图片描述
    找到系统变量的Path变量选中
    在这里插入图片描述
    然后选择编辑
    在这里插入图片描述
    再点击新建,将你安装的jre地址复制到这里
    每个人安装的路径都不一样
    例如我的: D:\java\bin

  • 生成签名证书
    环境变量配置好之后按住Windows+R 输入cmd进入控制台
    使用keytool -genkey命令生成证书
    最好先将目录切换到一个方便查找的地址,注意主要不要包含中文路径
    该地址也是证书文件的存放地址

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径

回车后会提示

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

Enter key password for <testalias>  
        (RETURN if same as keystore password):  //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以

  • 查看证书信息
    可以使用这个命令查看
keytool -list -v -keystore test.keystore
Enter keystore password: //输入密码,回车

然后就会有下面这样的信息
在这里插入图片描述
这里会获取到sha1值,但是注意在高德地图上填写sha1值的时候,不是被填写证书里面的sha1值,而是填写MD5值

继续回到高德地图添加key值

把证书签名的md5值跳入高德的sha1值里面,PackageName填写HBudilder打包时的Android包名, 然后点击提交,注意一个key只能绑定一个app包
在这里插入图片描述
这里获取到key
在这里插入图片描述
然后再去HBuilder中的manifest.json文件中找到APP模块配置中勾选定位与地图选择高德地图的android里面填写这个key在这里插入图片描述
然后再回到打包

打包APP

证书别名选择是查看签名证书上的别名
私钥密码是之前创建证书时要求你输入的密码
证书文件填入证书的路径
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值