必须通过HBuilderX→DevEco Studio两段式流程打包,卡点在于签名体系、包名一致性及Vue3与HarmonyOS NEXT的ABI兼容性;导出需用HBuilderX 4.75+、纯英文路径、manifest中harmony节点配置且minPlatformVersion≥9;DevEco导入选“Open existing”,签名三件套须配套且Profile按设备类型独立创建;权限声明仅在manifest.json的harmony.requestPermissions中,敏感权限需AGC后台勾选;包名、证书指纹、Key alias须严格一致并逐字核对。

能打包,但必须走 HBuilderX → DevEco Studio 两段式流程,不能直接出 .hap 包。关键卡点不在代码,而在签名体系、包名一致性、以及 Vue3 与 HarmonyOS NEXT 的 ABI 兼容性上。
为什么 HBuilderX 导出的鸿蒙工程在 DevEco Studio 里构建失败
常见现象是 Build failed: unknown module type 或 module.json5 not found,本质是 HBuilderX 导出结构和 DevEco Studio 版本不匹配。
- HBuilderX 4.75+ 才完整支持 HarmonyOS NEXT(API 11+),旧版导出的是旧版模块结构,DevEco Studio 5.0.5 无法识别
- 导出路径必须是纯英文、无空格、无中文,比如
./app-harmony,不能是./鸿蒙工程或./app harmony - 导出前需确认
manifest.json中harmony节点已配置,且minPlatformVersion≥ 9(NEXT 要求最低 API 9) - DevEco Studio 导入时必须选 “Open an existing HarmonyOS project”,不能选 “Create new project” 再覆盖文件
签名三件套(.p12/.cer/.provision)怎么配才不报错
报错最常见的是 Signature verification failed 或安装时提示“应用未签名”,根本原因是三者不配套或 AGC 后台 Profile 未绑定设备类型。
-
.p12文件必须用 DevEco Studio 的Build > Generate Key and CSR生成,不能用第三方工具或 Android keystore 转换 -
.cer要从 AGC 后台「发布证书」页下载,不是调试证书;调试证书仅限真机运行,不能用于上架 -
.provision文件必须在 AGC 后台按设备类型单独创建:手机、平板、智慧屏需三个独立 Profile,共用一个.p12和.cer,但每个 Profile 的 Bundle Name 和设备类型必须严格一致 - DevEco Studio 的
Project Structure > Signing Configs里,Key store path指向.p12,Key alias必须和生成时填的一致(区分大小写),密码一个都不能输错
uni-app 的 ohos.permission 怎么加才生效
权限没加会导致 API 调用静默失败,比如 uni.chooseImage 返回空数组、uni.getLocation 一直 pending,控制台无报错。
- 权限声明只写在
manifest.json的harmony.requestPermissions数组里,不要写在module.json5中——后者会被 DevEco Studio 忽略 - 敏感权限如
ohos.permission.CAMERA、ohos.permission.LOCATION需在 AGC 后台「应用审核信息」中手动勾选并提交说明,否则上架审核会驳回 - 运行时仍需调用
uni.authorize或uni.requestPermission,鸿蒙不支持 Android 那种“安装即授权” - 注意权限粒度:HarmonyOS NEXT 已弃用
ohos.permission.READ_EXTERNAL_STORAGE,改用ohos.permission.READ_MEDIA+ohos.permission.WRITE_MEDIA
打包后 .hap 安装失败或市场审核被拒的硬坑
不是代码问题,而是元信息和签名链路细节没对齐。最常被忽略的是包名和证书指纹的双向校验。
- AGC 后台创建应用时填的
Bundle Name,必须和manifest.json里harmony.appId完全一致(包括大小写、点号位置),且不能含下划线 - DevEco Studio 构建前务必执行
Clean Project,否则可能复用旧签名缓存,导致Signature does not match - 上传到 AppGallery Connect 的 .hap 包,必须用「发布证书」签名,且 AGC 后台「应用签名」页显示的证书指纹(SHA-256)要和本地
.p12文件导出的指纹一致(可用keytool -list -v -keystore xxx.p12 -storetype PKCS12验证) - 鸿蒙 Next 应用不支持
debug模式上架,构建类型必须选Release,且build-profile.json5中signingConfig不能为default
真正难的不是操作步骤,而是每一步都要求“零误差”:包名错一位、证书用错类型、Profile 设备类型漏选、权限没在 AGC 后台二次确认——任意一个都会让整个流程卡死在最后一步。建议把 AGC 后台的 Bundle Name、证书指纹、DevEco Studio 的 Key alias 三者打印出来贴在显示器边框上,构建前逐字核对。











