您好,我们正在排查 uni-push 2.0 + 荣耀厂商离线推送问题。目前已经完成最终 APK 静态取证,问题已定位到"厂商 SDK/适配器未进入最终 APK"这一层,具体如下:
【项目】 AppID:UNIEDDE370 | 包名:cn.hbspace.merchant | uni-app + Vue3 | HBuilderX:5.24 | uni-push:2.0 | Android 正式云打包 | 当前版本 2.0.0
【DCloud 配置】 2026-09-03 00:26 荣耀厂商参数页面显示"保存成功"(荣耀 AppID/ClientID/ClientSecret 已填)→ 保存后重新正式云打包
【最终 APK 静态取证】 最新包 UNIEDDE370_0903003403.apk 拆包检查:com.hihonor.push.*:0 命中;HonorPushManager:0 命中;AndroidManifest 无荣耀 Push Service/Receiver/Provider;荣耀相关代码仅有 com.hihonor.id / com.hihonor.cloudservice.oaid(OAID,非 Push SDK);个推基础 SDK 存在 + sdk.honorpush.enable 配置串存在,但荣耀 Push SDK/适配器不存在
【设备验证】 CID 正常获取|App 在线时个推推送正常|杀 App 后无法收到系统通知|DCloud「状态查询」Device Token 始终为 "-"
【我们的判断】 非服务端发送问题(云函数 sendMessage 返回成功、在线已验证)。按官方文档,Device Token 是否存在本身是离线厂商推送是否集成成功的依据。
请协助确认:① uni-app+uni-push 2.0+荣耀的正式云打包,荣耀 Push SDK 是否应自动进入最终 APK?② HBuilderX 5.24 是否完整支持该荣耀通道?③ 后台"保存成功"后云打包读取实时配置还是快照?有无同步/缓存/延迟机制?④ 请核实 UNIEDDE370 云端保存的荣耀配置是否真正生效并同步到云打包?⑤ 有无开发者可查的"配置已同步"状态?⑥ 最新 APK 已证明无荣耀 SDK——是云端配置未同步 / 云打包未读取 / 版本适配异常 / 其他已知问题?⑦ 若云端确认生效,请提供"APK 不含荣耀 Push SDK"的官方排查方法。
我们可提供:保存成功截图、最新 APK、manifest.json、APK 静态分析结果。目前暂不修改服务端/云函数/业务代码(CID 获取/落库/云函数/在线推送均已验证正常),希望技术人员从"厂商配置→云打包构建产物"链路核查。
1 个回复
Ask小助手 - Ask社区AI助手
首先感谢您的详细排查和取证,您的定位非常精准。基于您提供的 APK 静态分析结果(
com.hihonor.push.*0 命中、无荣耀 Push Service/Receiver/Provider),可以明确判定:荣耀厂商推送 SDK 及适配器确实未被打包进最终 APK。针对您的 7 个问题,结合 DCloud 官方机制及历史案例,答复如下:
① 荣耀 Push SDK 是否应自动进入最终 APK?
是的。在开发者中心正确配置荣耀厂商参数(AppID/ClientID/ClientSecret)并保存后,重新提交云端正式打包,云端构建系统会自动将荣耀 Push SDK 及个推荣耀适配器注入 APK。正常情况下,APK 中应存在
com.hihonor.push相关类及 AndroidManifest 中的荣耀推送组件。② HBuilderX 5.24 是否完整支持该荣耀通道?
支持。荣耀厂商推送支持自 HBuilderX 3.99 起加入(个推 SDK 3.3.3.0+)。您使用的 5.24 版本远高于此,版本本身支持荣耀通道。但需注意:历史上存在因项目编译器版本或缓存导致 SDK 未注入的案例(参考 ask社区案例)。
③ 后台"保存成功"后云打包读取实时配置还是快照?
云打包读取的是打包任务启动时刻的云端配置快照。虽然界面显示"保存成功",但存在以下可能:
④-⑤ 请核实配置是否生效?有无开发者可查的同步状态?
目前开发者中心没有提供"配置已同步到云打包"的显式状态标识。验证配置是否真正生效的唯一方式是:保存参数后,重新提交云端打包,并检查 APK 内容。
您可以通过以下方式自助验证云端配置是否已正确下发:
AndroidManifest.xml是否包含荣耀推送组件,或检查assets/apps/__UNI__EDDE370/www/manifest.json中是否包含sdk.honorpush.appid等字段⑥ 最新 APK 已证明无荣耀 SDK,可能原因?
根据历史案例和您的取证,最可能的原因是:
⑦ 官方排查方法及建议
请按以下步骤操作:
清除缓存重打包(关键步骤):
验证配置内容:
uni-push->uni-push 2.0->厂商推送设置->荣耀cn.hbspace.merchant)和 SHA256 指纹与您的签名文件完全一致检查 manifest.json:
确保
manifest.json的app-plus->distribute->sdkConfigs中没有手动禁用荣耀推送的配置。提供信息进一步核查:
若清除缓存后重打包仍无荣耀 SDK,请提供以下信息以便提交云端打包日志核查:
manifest.json文件内容临时验证方案:
如急需验证荣耀推送功能,可尝试:
关于 Device Token 为空
这是荣耀 SDK 未集成的直接后果。个推 SDK 启动时会检测荣耀推送环境,若 SDK 不存在则无法获取荣耀 Token,导致 DCloud 状态查询显示为 "-"。
请先尝试清除云打包缓存后重新打包,这是解决此类"配置已保存但 SDK 未注入"问题的最有效手段。若问题依旧,请携带打包时间戳和 APK 分析结果,通过 ask 社区 提交工单,我们将为您调取云端构建日志进一步核查配置同步状态。
要回复问题请先登录或注册
公告
更多>相关问题