2***@qq.com
2***@qq.com
  • 发布:51 分钟前
  • 更新:25 分钟前
  • 阅读:30

【报Bug】HBuilderX5.34打包安卓端获取定位经纬度报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 专业版

HBuilderX类型: 正式

HBuilderX版本号: 5.34

手机系统: Android

手机系统版本号: Android 16

手机厂商: 小米

手机机型: 小米17

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

使用最新HBuilderX5.34版本打包安卓apk

预期结果:

点击定位按钮后,能正常获取当前的经纬度

实际结果:

点击定位按钮后,获取经纬度失败

bug描述:

升级到HBuilderX5.34版本后,打包后的安卓apk定位获取经纬度时报错,回退到HBuilderX5.26版本没有问题,我测试手机系统是安卓17,另外我们其他部分客户也反馈这个问题。提示的错误:{
"errMsg": "getLocation:fail [geolocation:8]其他错误 请到http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/查看错误码说明,错误详细信息:amapLocation is null#0801#pm111011",
"errCode": 4,
"code": 4
}

51 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

感谢提交该 bug 反馈,以下从官方角度对本条反馈进行评审:

一、反馈完整性评审

当前反馈已包含 BUG 标题、问题描述、完整错误信息(errCode/errMsg 及高德 SDK 错误详情)、预期结果、实际结果及主要分类信息。其中“5.34 打包异常、回退 5.26 正常”的版本对比,以及“其他客户也反馈”的多设备复现线索,对排查很有价值;预期结果(正常获取经纬度)属于 uni.getLocation 的合理预期,结合完整错误信息,暂不能判定为误报。

但以下关键信息缺失,会影响官方复现与定性,请补充:

  1. 代码示例缺失:请提供 uni.getLocation 的完整调用代码(含 type、isHighAccuracy 等参数取值),保证官方拿到后可直接运行复现。
  2. 定位模块配置未说明:从错误信息中的 "amapLocation is null" 及高德错误码提示看,当前定位走的是高德定位模块。请说明 manifest.json 中 App 模块配置里 Geolocation(定位)勾选了哪些定位类型,以及是否在高德开放平台申请了 AppKey 并配置到 manifest 的 SDK 配置中。
  3. 打包方式未注明:云端打包还是离线打包,两者排查路径不同。
  4. 复现步骤过于简略:目前仅“使用 5.34 打包安卓 apk”,官方人员无法据此直接复现。请补充:两次打包所用的包名、证书、manifest 配置(尤其 AppKey 与定位模块勾选)是否完全一致;是否用标准基座真机运行做过对比;测试机的系统定位开关与 App 定位权限状态。
  5. 信息不一致:问题描述写“安卓17”,分类信息写“Android 16”,请确认并统一实际系统版本号。

二、bug 是否成立的分析

  1. 错误来源:errMsg 显示失败发生在高德定位 SDK 层,错误码具体含义请以高德官网错误码说明为准(http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode/ ,该页面为高德官网链接,我方无法代为解读,请结合错误详情 amapLocation is null#0801#pm111011 自行核对)。
  2. 依据官方文档:App 平台 Android 端由于谷歌服务被墙或设备无 GMS,正常定位需向高德等服务商申请 SDK 资质获取 AppKey,云打包时需在 manifest 的 SDK 配置中填写 AppKey,且包名、appkey、证书信息必须匹配;真机运行基座使用的是 DCloud 向高德申请的 SDK 配置,因此“真机运行正常、打包后失败”是常见情况,打包后必须由开发者自己申请配置,详见 uni.getLocation 兼容性说明。请优先核对 5.34 打包时 AppKey、包名、证书是否与 5.26 时一致。
  3. 排查建议:在 5.34 下用标准基座真机运行同一工程做对比——若标准基座定位正常而云打包 apk 失败,更可能与 AppKey/包名/证书匹配相关;若标准基座同样失败,请将该结果补充到本帖,便于官方核实是否为 5.34 引入的缺陷。
  4. 版本差异说明:知识库中暂未检索到 HBuilderX 5.34 对 Android 定位模块或高德 SDK 的变更记录,无法直接确认该问题由 5.34 引起。DCloud 历史上曾随版本更新过高德定位 SDK(如 4.08 版本将高德定位 SDK 更新为 6.4.3 版以解决部分设备定位失败问题,见 Android 平台历史版本说明),新版本更新 SDK 后行为变化的可能性需结合上述补充信息进一步核实。
  5. 可选替代方案:若暂不需要高德定位能力,小米设备支持系统定位(无需商业授权),可参考 Geolocation 定位文档;但需注意系统定位仅支持 wgs84 坐标系、不支持 gcj02(见 ask 社区相关回复),且只可获取经纬度、不支持解析地址信息,请结合业务坐标系需求评估。在根因确认前,也可继续使用 5.26 打包作为临时规避。

结论:本反馈现象描述与错误信息较完整、预期合理,不属于明显误报;但因缺少代码示例、定位模块与 AppKey 配置、打包方式等关键信息,暂不足以确认是 5.34 版本引入的缺陷。请按上述清单在帖子中直接补充相关信息,官方将据此进一步核实处理。

内容为 AI 生成,仅供参考
2***@qq.com

2***@qq.com (作者)

5.34 打包时 AppKey、包名、证书与 5.26 打包完全是一致的,这几个一直都没有修改过,另外使用的高德的定位key也一直没变过,使用的是自有证书传统打包,正式打包和自定义调试基座都已测过,图片是测试手机具体参数,因为上面选项里面没有安卓17,所以在文档里面写了实际的系统版本

要回复问题请先登录或注册