h***@hotmail.com
h***@hotmail.com
  • 发布:2026-10-15 17:14
  • 更新:2026-10-15 17:15
  • 阅读:30

【报Bug】uni-push 2.0 云打包成功但 APK Manifest 未注入厂商离线推送 meta(OPPO/小米/华为)

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 未提供

HBuilderX类型: 正式

HBuilderX版本号: 5.26

手机系统: 全部

手机机型: OPPO、小米、华为渠道包

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

Android 渠道包:OPPO、小米、华为。具体系统版本与机型未单列,见 BUG 描述。

操作步骤:

【环境】

  • AppID:__UNI__ACA69B2
  • 包名:com.fzkj.kyx
  • 版本:1.0.41(versionCode 141)
  • HBuilderX:正式版 5.26(控制台编译仍显示「5.24(vue3)」)
  • 打包方式:Android 云端证书云打包;打包对话框已勾选「厂商离线推送 SDK」
  • 推送:uni-push 2.0,已关联服务空间 kyxpush(阿里云);开发者中心已配置 OPPO / 小米 / 华为厂商参数

渠道包均打包成功可安装,但拆包核验(完整现象见 BUG 描述)。

预期结果:

请协助确认云打包是否正确注入厂商离线推送 SDK 与客户端密钥;若为服务端注入故障,请修复或给出正确打包参数/勾选项要求。可提供对应渠道 APK 供核验。

实际结果:

渠道包均打包成功可安装,但拆包核验:

  1. 个推在线推送正常打进:存在 GETUI_APPID / PUSH_APPID / PUSH_APPKEY / PUSH_APPSECRET,GTSDK_VERSION=3.3.7.0,有 com.igexin.sdk.PushService 等组件
  2. 厂商离线推送未打进:
    • OPPO 包:无 OPPOPUSH_APPKEY / OPPOPUSH_APPSECRET
    • 小米包:无 MIPUSH_APPID / MIPUSH_APPKEY
    • 华为包:无 com.huawei.hms.client.appid,APK 内亦无 HMS 相关库
  3. assets/supplierconfig.json 中 oppo/xiaomi/huawei 为空对象——已知是 MSA OAID,不是厂商推送是否打进的依据
  4. 升级 HX 到 5.26 后重打华为包,问题依旧

bug描述:

【问题】uni-push 2.0 云打包成功,但 APK Manifest 未注入厂商离线推送 meta / SDK

【环境】

  • AppID:__UNI__ACA69B2
  • 包名:com.fzkj.kyx
  • 版本:1.0.41(versionCode 141)
  • HBuilderX:正式版 5.26(控制台编译仍显示「5.24(vue3)」)
  • 打包方式:Android 云端证书云打包;打包对话框已勾选「厂商离线推送 SDK」
  • 推送:uni-push 2.0,已关联服务空间 kyxpush(阿里云);开发者中心已配置 OPPO / 小米 / 华为厂商参数

【现象】
渠道包均打包成功可安装,但拆包核验:

  1. 个推在线推送正常打进:存在 GETUI_APPID / PUSH_APPID / PUSH_APPKEY / PUSH_APPSECRET,GTSDK_VERSION=3.3.7.0,有 com.igexin.sdk.PushService 等组件
  2. 厂商离线推送未打进:
    • OPPO 包:无 OPPOPUSH_APPKEY / OPPOPUSH_APPSECRET
    • 小米包:无 MIPUSH_APPID / MIPUSH_APPKEY
    • 华为包:无 com.huawei.hms.client.appid,APK 内亦无 HMS 相关库
  3. assets/supplierconfig.json 中 oppo/xiaomi/huawei 为空对象——已知是 MSA OAID,不是厂商推送是否打进的依据
  4. 升级 HX 到 5.26 后重打华为包,问题依旧

【已排除】

  • 不是 supplierconfig.json 空对象误判
  • 不是仅控制台证书/渠道配置问题(GUI 已勾选厂商离线推送 SDK)
  • 自定义调试基座与本次商店正式包无关,未当作修复手段

【诉求】
请协助确认云打包是否正确注入厂商离线推送 SDK 与客户端密钥;若为服务端注入故障,请修复或给出正确打包参数/勾选项要求。可提供对应渠道 APK 供核验。

2026-10-15 17:14 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

收到该 Bug 反馈,以下从官方视角对这份反馈做评审,并给出基于现有文档与历史案例的初步分析。

一、反馈完整性评审

整体质量较高,属于同类反馈中描述较专业的一份:

  1. 标题、问题描述、复现步骤、预期结果、实际结果齐全,且做了拆包核验(meta 注入情况、GTSDK 版本、supplierconfig.json 的 OAID 误判排除),排除了常见误报路径,可信度较好。
  2. 存在以下需要补充或澄清的信息:
    • 分类信息中 Vue 版本填写为「Vue2」,但复现步骤中写「控制台编译仍显示 5.24(vue3)」,两者矛盾,请确认项目实际 Vue 版本及实际使用的 HBuilderX 版本号。
    • 未提供 manifest.json 中 uni-push 2.0 的具体配置内容(如 app-plus 下 Push 模块勾选及 unipush2 的 online/offline 勾选情况),建议补充该节点的实际配置。
    • 未说明开发者中心 OPPO / 小米 / 华为厂商参数「保存成功」的具体时间点与本次云打包的先后顺序。按官方文档要求,厂商参数配置完成后需要重新提交云端打包才能生效;若参数保存晚于打包,则需重新打包验证。
    • 华为包缺少关键信息:按文档要求,华为厂商推送必须上传 agconnect-services.json、在华为开发者后台配置正确的 sha256 指纹证书、开通华为推送服务,且明确要求「云打包用自有证书打正式签名包」。您使用的是云端证书云打包,与文档对华为通道的要求不一致,请确认上述各项是否已满足。
    • 未提供推送「状态查询」的验证结果:可在 uni-push 控制台的【配置管理】-【故障排查】-【状态查询】中输入 CID 查询是否返回 devicetoken,若未返回则说明当前未正常集成厂商通道,这是官方定义的离线厂商是否可用的判断依据(参考:确认离线厂商是否可用)。
    • PC 操作系统版本号未填写。
  3. 关于 APK 核验:本渠道无法识别附件,无法直接接收您提供的 APK 文件,请勿以附件形式提交;核验材料请在原反馈帖中以文字/链接形式补充说明,官方会持续跟进。

二、Bug 成立性初步分析

  1. 预期结果合理:uni-push 2.0 在 App 端内置了华为、小米、OPPO 等厂商系统级推送通道,配置厂商参数并云打包后应注入对应 SDK 与密钥,您的预期符合产品定义(参考:uni-push 2.0 概述)。
  2. 实际结果不能直接判定为误报,但也不能直接定性为云端注入故障:
    • 历史上有官方确认过的同类机制问题:云端打包对「渠道包 × 厂商 SDK」存在注入限制逻辑,例如曾确认「google 渠道包只能包含 fcm,非 google 渠道包才能包含华为推送 SDK」(参考:ask 205771)。这说明渠道包类型确实会影响厂商 SDK 注入,但该案例仅明确了 google 渠道的限制,OPPO / 小米 / 华为渠道包是否有类似限制,现有资料未明确记载,无法直接套用结论。
    • 华为包方面,您使用云端证书打包,而文档明确要求华为通道「云打包用自有证书打正式签名包」,并需配套 sha256 指纹、agconnect-services.json、包名一致等条件,这一项与文档要求存在偏差,华为包的问题有可能与证书/配置条件不满足有关,需先按文档逐项核对后再定性。
    • OPPO / 小米包方面,现有文档仅要求「检查后台是否有配置厂商参数(配置完参数需要云打包后生效)」,在确认参数保存成功且晚于最后一次打包的前提下重新打包仍不注入的,才更接近云端注入链路问题。
  3. 近期社区亦有高度相似的其他厂商通道反馈(如荣耀通道 APK 无 Push SDK),说明该链路值得官方核查,但相关帖子尚无官方结论,不能作为定性依据。

三、建议的排查与补充动作

  1. 按文档逐项核对华为通道 6 项检查(sha256 指纹、自有证书正式签名包、包名一致、上传 agconnect-services.json、开通推送服务、保存参数后重新云打包),并确认 OPPO / 小米参数保存成功时间早于打包时间。
  2. 用真机获取 CID 后在 uni-push 控制台「状态查询」中验证是否返回 devicetoken,作为「厂商通道是否集成成功」的官方判定依据。
  3. 在原反馈帖中补充:manifest.json 中 Push/unipush2 的实际配置、厂商参数保存成功截图说明、CID 状态查询结果、云证书/自有证书的打包对比结论,官方将据此进一步核查云端配置同步与打包注入链路。
  4. 若最终确认云端打包注入链路存在故障,可参考历史案例的处理方式,通过付费技术支持渠道优先跟进处理(参考:ask 205771 官方回复)。

四、评审结论

该反馈现象描述清晰、核验手段专业,不属于明显误报,具备继续跟进价值;但目前信息尚不足以定性为云端注入故障,华为包需先排除证书与 agconnect-services.json 等配置条件不满足的因素,OPPO / 小米包需确认参数保存与打包的先后关系。请按上述第 2、3 点补充验证结果后,官方再进一步核查云打包服务端的注入逻辑。

内容为 AI 生成,仅供参考

要回复问题请先登录或注册