HBuilderX 开发uniapp打包之后定位、选择地图无法使用的原因

本文指导如何在HBuilderX中为Android和iOS平台配置高德和百度地图API,包括申请应用、添加Key并填写到manifest.json,强调不同证书SHA1的选择与应用名称的准确性。

一、未配置地图key

使用定位和选择地图需要配置地图apikey,如图,可选择百度或高德地图(二选一)

云端打包地图功能需要到第三方地图平台申请应用后获取相关配置参数:

  1. 高德LBS开放平台
  2. 百度LBS开放平台
    配置参数需要提交云端打包后才能生效,如果需要真机运行生效请使用自定义基座

二、配置方式

高德LBS开放平台申请应用

登录 高德LBS开放平台,点击有上角的“控制台”按钮,在控制台界面左侧导航列表选择“应用管理”下的“我的应用”。

创建应用

如果已经创建应用可忽略此步骤
在“我的应用”页面,点击右侧“创建新应用”按钮,输入应用名称、选择应用类型,点击“创建”按钮创建应用。

创建应用

添加Android平台应用的KEY

需要打包为Android平台原生应用时操作,否则跳过此步骤
在创建应用项的右侧点击“+”按钮,添加Key:

添加Android平台Key

  • Key名称
    根据规则而填入Key名称,如“uniapp-android”
  • 服务平台
    选择“Android平台”
  • 发布版安全码SHA1
    应用打包时使用证书的指纹字符串(SHA1)
    HBuilderX云端打包选择“使用自有证书”或本地离线打包时,填写应用使用证书的SHA1,查看证书的信息获取指纹中SHA1值,参考:Android平台签名证书(.keystore)生成指南 - DCloud问答
    HBuilderX云端打包选择“公共测试证书”时,SHA1值为:97:C8:41:01:B9:14:1C:13:0D:D7:5D:74:28:A2:92:25:18:C3:6D:CD,详情参考:Android平台云端打包 - 公共测试证书 - DCloud问答
    HBuilderX云端打包选择“老版本DCloud公用证书”时,SHA1值为:BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58,详情参考:Android平台云端打包 - DCloud公用证书(DCloud老版证书) - DCloud问答
    注意:必须添写实际打包使用证书的SHA1值,否则可能无法显示地图或无法定位
  • PackageName
    应用包名,在提交App云端打包时设置的Android包名,如“uni.UNI4D6B11E”
    注意:必须填写实际打包使用的包名,否则可能无法显示地图或无法定位

点击“提交”后生产新Key,在应用下可获取:

获取Android平台Key


在HBuilderX中将此Key填入到manifest.json文件“(App)SDK配置”页面的“高德定位或地图”项下的“appkey_android”编辑框中

添加iOS平台应用的KEY

需要打包为iOS平台原生应用时操作,否则跳过此步骤
在创建应用项的右侧点击“+”按钮,添加Key:

添加iOS平台Key

  • Key名称
    根据规则而填入Key名称,如“uniapp-ios”;
  • 服务平台
    选择“iOS平台”
  • 安全码Bundle ID
    iOS平台应用包名Bundle ID(AppID),在提交App云端打包时设置的Bundle ID,如“uni.UNI4D6B11E”
    注意:必须填写实际打包使用的Bundle ID,否则可能无法显示图片或无法定位

点击“提交”后生成新Key,在应用下可获取:

获取iOS平台Key


在HBuilderX中将此Key填入到manifest.json文件“(App)SDK配置”页面的“高德定位或地图”项下的“appkey_ios”编辑框中

百度LBS开放平台申请应用

登录 百度LBS开放平台,点击有上角的“控制台”按钮,在控制台看板界面左侧导航列表选择“我的应用”下的“创建应用”。

创建Android平台应用

需要打包为Android平台原生应用时操作,否则跳过此步骤
在创建应用界面选择“Android SDK”:

创建Android平台应用

  • 应用名称
    根据规则而填入应用名称,如“uniapp-android”
  • 应用类型
    选择“Android SDK”
  • 启用服务
    至少勾选“Android地图SDK(含境内外底图)”、“Android定位SDK”,建议全部勾选
  • 发布版SHA1
    应用打包时使用证书的指纹字符串(SHA1)
    HBuilderX云端打包选择“使用自有证书”或本地离线打包时,填写应用使用证书的SHA1,查看证书的信息获取指纹中SHA1值,参考:Android平台签名证书(.keystore)生成指南 - DCloud问答
    HBuilderX云端打包选择“公共测试证书”时,SHA1值为:97:C8:41:01:B9:14:1C:13:0D:D7:5D:74:28:A2:92:25:18:C3:6D:CD,详情参考:Android平台云端打包 - 公共测试证书 - DCloud问答
    HBuilderX云端打包选择“老版本DCloud公用证书”时(HBuilderX 2.3.8之前的版本叫DCloud公共证书),SHA1值为:BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58,详情参考:Android平台云端打包 - DCloud公用证书(DCloud老版证书) - DCloud问答
    注意:必须添写实际打包使用证书的SHA1值,否则可能无法显示地图或无法定位
  • PackageName
    应用包名,在提交App云端打包时设置的Android包名,如“uni.UNI4D6B11E”
    注意:必须填写实际打包使用的包名,否则可能无法显示地图或无法定位

点击“提交”后生成新应用,在应用列表界面会添加新创建的应用项,在“访问应用(AK)”列中点击复制按钮获取AppKey:

获取Android平台Key


在HBuilderX中将此Key填入到manifest.json文件“(App)SDK配置”页面的“百度定位或地图”项下的“appkey_android”编辑框中

创建iOS平台应用

需要打包为iOS平台原生应用时操作,否则跳过此步骤
在创建应用界面选择“iOS SDK”:

创建iOS平台应用

  • 应用名称
    根据规则而填入应用名称,如“uniapp-ios”
  • 应用类型
    选择“iOS SDK”
  • 启用服务
    至少勾选“IOS地图SDK(含境内外底图)”,建议全部勾选
  • 安全码
    iOS平台应用包名Bundle ID(AppID),在提交App云端打包时设置的Bundle ID,如“uni.UNI4D6B11E”
    注意:必须填写实际打包使用的Bundle ID,否则可能无法显示图片或无法定位

点击“提交”后生成新应用,在应用列表界面会添加新创建的应用项,在“访问应用(AK)”列中点击复制按钮获取AppKey:

获取iOS平台Key


在HBuilderX中将此Key填入到manifest.json文件“(App)SDK配置”页面的“百度定位或地图”项下的“appkey_ios”编辑框中

三、注意

HBuilderX3.1.10+版本公共测试证书

可用于测试打包,不要用于正式发布,其信息如下:
MD5: 06:83:8C:C8:40:09:3B:9D:46:89:FC:41:9B:A1:A3:F3
SHA1: 97:C8:41:01:B9:14:1C:13:0D:D7:5D:74:28:A2:92:25:18:C3:6D:CD
SHA256: B0:1D:06:18:0D:00:3E:79:C7:B9:08:89:93:B8:E5:AE:7A:19:B0:DA:11:61:AA:09:7C:7F:39:8A:6F:51:4F:A7
应用签名: 06838c40093b9d4689fc419ba1a3f3

公共测试证书下载

本地离线打包如果需要使用公共测试证书,可从这里下载。
证书密码:123456
证书别名:android

HBuilderX 中运行 Android 应用程序主要依赖于其对 5+ App 开发的支持。以下是详细的运行流程和注意事项: ### 一、准备工作 1. **安装 HBuilderX** 确保你已经安装了最新版本的 HBuilderX,并且安装了相应的插件,例如“5+ App 开发插件”。 2. **配置 Android 开发环境** 需要安装 Android SDK,并在 HBuilderX 中配置好 SDK 路径。路径设置入口为: `工具 > 设置 > 运行配置 > Android SDK 路径` 3. **连接真机或启动模拟器** 可以使用真机调试,也可以使用 HBuilderX 内置的模拟器或者第三方模拟器(如 Genymotion)。 ### 二、运行流程 1. **打开项目** 打开你的 UniApp 或 HTML5 项目,确保项目结构完整,`manifest.json` 文件配置正确。 2. **选择运行设备** 在 HBuilderX 工具栏中,点击“运行”按钮旁边的下拉菜单,选择目标设备: - 运行到手机(USB连接) - 运行到模拟器 3. **启动运行** 点击“运行到手机”后,HBuilderX 会自动编译项目并打包成 `.apk` 文件,然后安装到连接的设备上并启动应用。 ### 三、常见问题及解决 - **应用提示“本应用无法独立运行,需与 HBuilderX 搭配使用”** 此问题通常是因为项目中使用了特殊字符或中文命名的文件或资源。请检查项目中的文件名、图片名、JS/Vue 文件内容是否包含特殊字符或中文。建议使用英文命名规范,如 `index.vue`、`main.js` 等[^1]。 - **manifest.json 配置错误导致运行失败** 如果是多端项目,请检查 `manifest.json` 中的配置是否与目标平台匹配。例如微信小程序中的 `appid` 是否正确,否则可能导致运行失败。同样地,对于 Vue 项目,需要检查 `vueVersion` 配置是否与项目使用的 Vue 版本一致。如 Vue2 项目应设置 `"vueVersion": "2"` 或删除该字段[^4]。 - **运行到模拟器无反应** 检查 HBuilderX 是否正确识别模拟器。可以尝试重启 HBuilderX 或重新连接设备。 ### 四、调试技巧 - 使用 `uni.report()` 收集性能数据 - 通过 `vConsole` 查看日志 - 使用 `uni.setStorageSync()` 实现持久化数据缓存 ### 五、代码示例:数据缓存 ```javascript // 存储缓存数据 uni.setStorageSync('cachedData', { user: 'testUser', timestamp: Date.now() }); // 读取缓存数据 const data = uni.getStorageSync('cachedData'); console.log(data); ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值