真机运行必须用自定义基座,因ios自2022年9月起禁用标准基座,android虽可启动但不支持原生插件、地图校验失败、签名无效;鸿蒙则独立构建不依赖基座。

真机运行必须用自定义基座,标准基座已失效——iOS 自 2022 年 9 月起彻底禁用,Android 虽仍可跑但不支持原生插件、地图校验失败、包名签名无效,正式测试和调试都绕不开自定义基座。
为什么标准基座不能用了
标准基座(hbuilder://)本质是 DCloud 预编译的通用壳,它不加载你的 nativePlugins,也不校验你配置的高德地图 key 和签名;iOS 更因苹果企业证书政策收紧,直接屏蔽了标准基座安装。你看到“地图白屏”“插件调用报错 undefined”“iOS 设备提示无法验证开发者”都是标准基座失效的典型表现。
- iOS:必须用自己申请的 Apple Developer 证书 + Provisioning Profile 打包自定义基座,否则连安装都失败
- Android:标准基座能启动,但所有
uni.requireNativePlugin返回undefined,高德地图 SDK 不触发 key 校验,定位/覆盖物均不可用 - 鸿蒙平台完全不走基座流程,走的是独立的
.hap构建链路,和 Android/iOS 自定义基座无关
Android 自定义基座打包关键三步
核心是让 HBuilderX 识别并安装你自己的 APK,而不是默认的 android_debug.apk(这个文件名只是旧版约定,新版 HBuilderX 实际通过 manifest 中的 appid 和签名匹配)。
- 在 HBuilderX 中打开项目 → 发行 → 原生App-本地打包 → 勾选「使用自定义基座」→ 点击「制作自定义基座」
- 填写完整 Android 包名(如
com.example.myapp)、应用名称、签名证书(.jks文件 + 密码 + 别名 + 别名密码),**必须与manifest.json中的name和id一致** - 生成的
android_debug.apk不需要手动重命名,HBuilderX 会自动注入插件代码并校验签名;真机运行前需先手动安装该 APK,且确保手机开启「未知来源安装」
iOS 自定义基座必须自己签名
HBuilderX 不提供 iOS 自定义基座一键打包功能,必须用 Mac + Xcode + Apple 开发者账号完成。标准基座已被苹果封禁,任何未签名或用企业证书外发的基座都会在安装或启动时卡在「正在验证」或直接崩溃。
- 登录 Apple Developer 后台,创建 App ID(Bundle ID 必须与
manifest.json中ios节点的bundleId完全一致) - 生成 Development Certificate 和对应的 Provisioning Profile(类型选
Development,设备列表里添加你的测试机 UDID) - 用 Xcode 打开 HBuilderX 导出的 iOS 工程(路径类似
unpackage/dist/build/ios),选择对应 Team 和 Provisioning Profile,Build 后导出.ipa文件 - 用
AltStore或Xcode Devices安装到真机,首次运行需在「设置 → 通用 → 设备管理」中信任该开发者证书
运行时常见失败点
自定义基座装上了,但 uni-app 项目死活连不上——问题往往不在代码,而在连接态或配置错位。
-
adb devices在终端返回空列表?检查 USB 调试是否开启、手机是否选「文件传输」模式、Mac 是否装了 iTunes 或冲突的 adb 进程 - 运行后提示「未检测到可用设备」?确认 HBuilderX 已识别为 uni-app 项目(项目图标是方型 U,根目录有
manifest.json) - 插件调用成功但地图不显示?检查
manifest.json中mp-weixin或mp-alipay节点下是否误填了高德 key——高德仅对 App 平台生效,小程序平台填了也无效 - 修改了
manifest.json里的包名但基座没更新?必须重新「制作自定义基座」并重装,旧 APK 不会自动同步配置变更
自定义基座不是一次配置终身可用,每次改签名、换包名、加新插件,都得重新打包安装;iOS 还要额外维护证书有效期和设备 UDID 清单。最容易被忽略的是:云打包用的配置和自定义基座用的配置是两套,调试时改了本地 manifest.json,忘了同步改云端打包参数,上线就丢功能。










