8***@qq.com
8***@qq.com
  • 发布:2026-08-10 16:35
  • 更新:2026-08-10 16:36
  • 阅读:54

【报Bug】咨询一下关于uniapp自带高德sdk库与本地插件sdk库冲突的问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 5.23

手机系统: 全部

手机厂商: 苹果

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

小米,苹果14pro

操作步骤:

进入地图页面

预期结果:

正常显示地图

实际结果:

白屏

bug描述:

就是我们线上的项目使用的是uniapp自带的sdk库,以及对应的api。但是由于要上线新功能,此功能为三方集成的sdk,封装成本地插件后,发现使用的高德版本不一致,导致打包时报错库冲突。如果打包的时候不选用uniapp的map,nvue页面使用map组件页面地图就不显示了,白屏。

2026-08-10 16:35 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

好的,收到你的 bug 反馈。作为 DCloud 官方人员,我以经验丰富的 uni-app 开发工程师视角,对这个反馈进行如下评审和分析:

1. 反馈质量评审

这个 bug 反馈描述清晰,核心问题明确,但在复现条件和关键信息上有所缺失。

  • BUG 标题与描述:标题和描述准确地概括了核心冲突:uni-app 自带的高德 SDK 库与本地插件引入的三方 SDK 库版本不一致,导致打包报错。同时说明了如果不勾选 map 模块,nvue 页面的 map 组件会白屏。这部分描述很清楚,我们官方人员能够看懂。
  • 代码示例:缺失。这是一个原生 SDK 冲突问题,如果能提供本地插件中涉及高德 SDK 依赖的配置文件(如 Android 的 build.gradle 或 iOS 的 Podfile),或者提供一个最简复现工程,将极大提升排查效率。
  • 复现步骤:“进入地图页面”过于简略。结合描述,复现步骤应包含打包时的具体配置(是否在 manifest 中勾选了高德地图模块)、报错的具体日志信息等。目前无法根据复现步骤直接复现问题,建议补充打包报错的具体日志和相关的依赖配置
  • 预期结果:“正常显示地图”是合理的预期。
  • 实际结果:“白屏”属于异常情况,结合描述,这是在不勾选 map 模块时出现的现象,符合 uni-app 的机制(不勾选地图模块会导致原生地图组件无法初始化)。
  • 分类信息:包含了 PC 环境(Win10)、HBuilderX 版本(5.23 正式版)、手机 OS 平台(全部)、Vue 版本(Vue3)和手机厂商(苹果)。但缺少具体的手机设备机型和系统版本,建议补充。

评审结论:反馈有效,但需要补充打包报错日志和本地插件的 SDK 依赖配置信息,以便进一步排查冲突原因。


2. 问题分析与排查

根据反馈内容和知识库,这个问题的成因和机制是非常明确的:

  • nvue 地图依赖原生模块:在 uni-app 中,nvue 页面的 <map> 组件是原生组件,底层依赖高德地图 SDK。如果在 manifest.json 的“App模块配置”中未勾选“Maps(地图)”并配置高德地图,打包后原生 SDK 不会被包含,<map> 组件自然无法渲染,导致白屏。参考 App端地图模块文档
  • 三方库冲突处理原则:当本地插件(或离线打包)引入的三方 SDK 与 DCloud SDK 内置的三方库冲突时,官方的处理原则是:如果版本不一致,以高版本为准。如果官方 SDK 内使用的版本过低,可以向官方反馈进行升级处理。参考 iOS 三方库冲突说明
  • 版本升级解决冲突的案例:在 HBuilderX 4.87 版本的更新日志中,官方刚刚更新了 iOS 平台的高德地图 SDK 为 10.1.600 版,正是为了“解决与其它插件一起打包可能编译失败的问题”。参考 HBuilderX 4.87 更新日志

3. 解决方案与建议

针对你遇到的库冲突和白屏问题,建议按以下方向处理:

  1. 统一高德 SDK 版本
    检查你的本地插件依赖的高德地图 SDK 版本,与 HBuilderX 5.23 版本自带的高德 SDK 版本进行对比。建议将本地插件中的高德 SDK 版本降级/升级为与官方基座一致,或者将本地插件中的高德 SDK 依赖移除,直接使用 uni-app 打包时内置的高德 SDK。

  2. 使用自定义基座排查
    在 HBuilderX 中打包自定义基座时,勾选“Maps(地图)”模块并配置高德地图 Key,同时引入你的本地插件。观察编译时的详细日志,定位具体是哪个 .so.framework 文件发生了冲突。

  3. 补充信息反馈
    如果确认本地插件的高德 SDK 版本与官方一致或高于官方版本,但仍然报错,请将具体的打包报错日志(包含冲突的库文件名和版本号)补充到 Bug 反馈中,或者通过 issues 系统提交,官方会评估是否需要对内置 SDK 进行升级处理。

内容为 AI 生成,仅供参考

要回复问题请先登录注册