getLocation接口在真机模拟上可以获取经纬度,但是打包成安卓app就走fail里了,同一个手机环境下运行的。
- 发布:2018-09-28 09:12
- 更新:2021-07-21 16:29
- 阅读:14188
uni-app获取位置接口打包成app无法使用
最佳回复
SimpleJalon - 个人承接PHP、uniapp项目,有案例,联系QQ 615773740,不接受外地工作,可付费提供技术支持。添加QQ时务必备注来意以及添加渠道,渠道可以写:`uniapp`
这个我之前遇到过了,
1.检查配置是否正确。
- 检查是否开启了gps
- 是否授权获取位置信息
SimpleJalon - 个人承接PHP、uniapp项目,有案例,联系QQ 615773740,不接受外地工作,可付费提供技术支持。添加QQ时务必备注来意以及添加渠道,渠道可以写:`uniapp`
https://ask.dcloud.net.cn/question/63763
“华为手机使用高德地图时,必须打开设置中的定位服务或者下拉通知栏打开位置服务(或GPS)。”
我也遇到了这个问题(真机调试没有问题,但打包后无效)
最后找出原因:
我在高德控制台申请key的时候,SHA1值填写的是HBuilderX manifest.json中App SDK配置里【地图配置指南,https://ask.dcloud.net.cn/article/29】的高德地图示例值【BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58】,示例中是HBuilder,而我打包是用HBuilderX,根据官方给出的公共测试信息中已列出SHA1的值【BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7】,保证高德配置的与这个一致即可,在此之前,我已细致检查过配置的包名无误。
最后套一句官方的话:该证书可用于测试打包,不要用于正式发布。
补充一下手机的型号和系统
m***@163.com (作者) - Zero
配置key之后还是无法获取定位请在应用权限里面查看是否给app了获取位置的权限以及查看手机是否开启的了GPS,因手机型号不同可能存在多重权限需要开启(华为荣耀开启了GPS还需要在设置里获取位置模块开启权限).
请仔细看定位api的文档,manifest里配高德的sdk信息!
-
回复 1***@qq.com: 小程序配置和app完全是2套。app配对了,肯定就是好的,搞明白要申请的key、搞明白包名的对应关系
2019-10-10 22:24
4***@qq.com - 80后IT男
我说说我的历经,我最开始是通过离线打包的方式配置的:
1.sha1,我通过keytool -list -v -keystore debug.jks 命令拿到的值,packname我直接拿AndroidManifest.xml配置文件的package的值,进行配置的,但是一直获取定位失败。 我反复对比了配置,没错。
- 然后我通过云打包的方式测试,填入文档里面的sha1和packname,发现定位是可以的,于是我认为问题还是出现在配置上
- 通过https://ask.dcloud.net.cn/article/id-212__page-2这个文档一步一步进去检查,发现都配置好了,最终是在AS里面进行模拟机调试,发现日志里面出现了,高德地图的鉴权失败详情,我发现日志里面的sha1与我配置的不一样,于是我把日志里的sha1复制到高德key的配置里面,在模拟器里面还是失败(失败原因为:没有sim卡,没有wifi之类)。于是我打包真机调试,发现居然可以了..
PS。虽然可以了,但是我不知道日志里的sha1是怎么来的...难道jks和keystore不一样的么
胖南瓜
贴一下自己遇到的问题,希望遇到的问题的朋友可以一次性解决。
manifest.json appSDK配置方面勾选高德地图,然后填上key。对应的安卓key要去安卓那里搞,然后去申请了发现要先安装jdk,安装了jkd执行 keytool -list -v -keystore发现密匙库不存在,然后keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore 建立密匙库,输入密码时候输入没有任何反应,不用慌,只是不显示,但是密码已经输入了。
一步一步操作下,然后keytool -list -v -keystore debug.keystore就能看到了。
2019-06-26 15:16
1***@qq.com
回复 胖南瓜: 请问你采用的是自己打包还是云打包?云打包也需要配置jdk的环境吗
2019-07-08 13:33
胖南瓜
回复 1***@qq.com: 之前尝试了,需要配置jdk
2019-07-08 15:10
2***@qq.com
回复 胖南瓜: 大佬你好,我也遇到了同样的问题,但是申请完高德SDK后填写上并且给了权限再打包成App还是不行,地图还是定位到天安门,uni.getLocation()接口还是走的fail回调,怎么办啊
2019-08-31 15:30
胖南瓜
回复 2***@qq.com: 大兄弟,我也是菜鸡,有一个问题你可以尝试下,就是你看下自己手机那个app的sha码(不知道写错没有),我有一次就是这个问题,手机app的sha码和显示的对不上,有个软件mccode check,可以看到app的sha码
2019-09-03 09:48
2***@qq.com
回复 胖南瓜: 谢谢,我App的地图问题解决了,现在是小程序和H5的腾讯地图还是无法定位
2019-09-03 15:21
胖南瓜
回复 2***@qq.com: h5没得搞,反正我是有问题,模拟数据没问题,后端发来的数据一模一样,地图不显示任何定位
2019-09-04 17:11
1***@qq.com
回复 2***@qq.com: 兄弟,我遇到了你同样的问题,高德SDK后填写上并且给了权限再打包成App不行,地图还是定位到天安门,你是怎么解决的????在线急等!
2019-09-17 17:46
786395613
高德地图申请key时 需要SHA1和包名 包名怎么获取 填了key就能用吗
2019-09-22 22:25
1***@qq.com
回复 2***@qq.com: 这个你是怎么解决的呢?我的位置信息执行时,还是执行fail函数
2019-09-25 17:33
1***@qq.com
这个问题解决了吗?我按照步骤一步一步的,还是不可以,真机运行时和小程序运行,一切正常,打包成apk,就找不到了
2019-09-30 10:32
4***@qq.com
回复 1***@qq.com: 我也是 大佬你解决了么
2019-11-08 11:15
4***@qq.com
我也是 一打包uni.getLocation({})无法获取当前定位 直接定位到天安门了
2019-11-08 11:19
k***@163.com
回复 胖南瓜: 大佬大佬,我按照你的方法拿到了Key,然后也注意了key里面的包名和打包包名一致的问题,配上去结果还是不行呀,请问还有什么要注意的地方吗
2019-11-21 10:04
1***@qq.com
回复 2***@qq.com: 请问下你是怎么解决的呢
2021-01-21 10:35
1***@139.com
回复 2***@qq.com: 你好,是怎么解决的
2021-12-10 13:52
l***@163.com
云打包也是这么解决吗?
2022-10-17 17:55