2***@qq.com
2***@qq.com
  • 发布:2026-11-02 20:01
  • 更新:2026-11-02 20:03
  • 阅读:82

【报Bug】普通 uni-app、Android、必须保留 HBuilderX 云打包,并请 Android/云打包相关人员确认

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 5.26

手机系统: Android

手机系统版本号: Android 16

手机厂商: 小米

手机机型: 小米17

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

云打包自带的sdk无法更改

预期结果:

继续使用云打包,Google登录/支付/Adjust/播放器/加密与私有缓存保持;新AAB全部模块清单不声明五项权限,全部DEX不含两权限名及相关申请分支,没有相册组件或悬空类引用。该目标严格于只移除AndroidManifest声明。

实际结果:

希望快速处理

bug描述:

项目为普通 uni-app(Vue 3),必须继续使用 HBuilderX 云打包。

业务仅在线播放网络视频,不使用相机、相册选择、扫码或照片/视频上传。
app-plus.modules 只包含 Payment,未选择 Camera 和 Barcode。

已在 excludePermissions 中移除照片、视频及旧存储权限。
使用 Google 官方 bundletool 检查 1.0.56 / versionCode 156 的最终 AAB,
确认 AndroidManifest.xml 没有 READ_MEDIA_IMAGES 和 READ_MEDIA_VIDEO 声明。

但最终包中仍存在:

  1. GalleryFeatureImpl 注册及 PickerActivity 等媒体组件。
  2. classes.dex 中媒体选择器对 READ_MEDIA_IMAGES 的申请代码。
  3. classes2.dex 中 PermissionUtil、GalleryFeatureImpl、
    com.hjq.permissions 对 READ_MEDIA_IMAGES / READ_MEDIA_VIDEO 的引用。

本次诉求是裁剪未使用的原生模块及其权限代码。
清单权限排除已生效,请协助进一步确认:

① 未选择 Camera/Barcode,为何仍打入 Gallery 和媒体选择器?
② 普通 uni-app 云打包是否有受支持的裁剪配置?请提供完整配置示例。
③ 如需修复 SDK,请明确可用版本、是否需要升级 HBuilderX,
以及对应修复是否已部署到云端打包服务。
④ 如果云打包目前不支持,请明确该限制及是否有修复计划。

项目必须保留云打包,仅提供离线 SDK 下载地址无法满足要求。

另:Google Play 对 156 版本仍有照片/视频权限提示,
但目前尚不能证明 DEX 引用就是该提示的原因。

2026-11-02 20:01 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

感谢提交这份 Bug 反馈。以下以官方评审视角,对反馈的完整性与问题成立性进行分析。

一、反馈完整性评审

这份反馈整体质量较高,具备以下优点:

  • 分类信息基本完整:明确了普通 uni-app(Vue3)、HBuilderX 5.26 正式版、Android 16、小米 17、云打包方式;
  • 验证手段专业:使用 Google 官方 bundletool 解析 1.0.56/versionCode 156 的最终 AAB,并明确区分了“AndroidManifest.xml 清单声明已排除生效”与“classes.dex / classes2.dex 中仍存在 GalleryFeatureImpl、PickerActivity、PermissionUtil、com.hjq.permissions 等对 READ_MEDIA_IMAGES / READ_MEDIA_VIDEO 的引用”两个层面;
  • 表述严谨:明确说明“目前尚不能证明 DEX 引用就是 Google Play 提示的原因”,未夸大因果,这一点值得肯定。

需要补充的内容:

  1. manifest.json 配置原文:请直接以文本形式粘贴 app-plus -> modules 与 excludePermissions 的完整配置(含所在节点路径)。目前仅有文字描述“只包含 Payment、已移除照片视频及旧存储权限”,官方无法核对实际字段写法与节点位置。说明:我无法识别附件,请将配置直接以文本粘贴在回复中。
  2. 复现步骤不完整:当前“复现步骤”仅填写“云打包自带的sdk无法更改”,这不构成可复现的操作步骤。请补充:项目创建方式、云打包类型(传统打包/安心打包)、打包时“App 模块配置”中实际勾选的全部模块、是否为 Google Play 渠道包等,确保官方能够在相同条件下复现。
  3. “实际结果”栏填写的是“希望快速处理”,属于诉求而非实际现象,建议改为实际观察结果(如:清单无声明但 DEX 中存在哪些类与权限字符串)。
  4. 请说明项目中是否使用了 uts 插件、原生插件或 uni_modules 依赖(即便业务代码未调用相册 API,三方依赖也可能引入相关类),以便官方排除干扰因素。
  5. PC 操作系统版本号"tahon 26"疑似笔误,请确认修正,保证分类信息准确。

二、Bug 成立性评审

  1. 官方文档口径:自 HBuilderX 3.6.11 起,Barcode(扫码)、Camera&Gallery(相机和相册)、Record(录音)等已调整为独立功能模块,云端打包默认不包含未勾选的模块,需在 manifest.json 的“App 模块配置”中手动勾选(文档:App 模块配置注意事项)。按此口径,未勾选 Camera&Gallery 时理论上不应包含相册功能模块。
  2. 您实测最终包中仍存在 GalleryFeatureImpl、PickerActivity 等媒体组件及 DEX 中的权限申请代码,与上述文档口径存在差异。社区中存在同类反馈:云打包后出现 READ_MEDIA_IMAGES / READ_MEDIA_VIDEO 且通过配置无法移除(ask 社区反馈),该反馈目前暂无官方处理结论;另有针对离线打包场景的反馈,官方回复提及可通过 AndroidManifest.xml 配置或参考文档配置 chooseMedia 相关库处理(ask 社区反馈),但该方案面向离线打包,与您必须保留云打包的场景不匹配。
  3. 结论:本反馈不能判定为误报。现象描述自洽(清单声明与 DEX 引用是两个不同层面),且有社区同类案例佐证。但“未勾选模块为何仍打入相册相关类”的根因,现有文档与知识库中暂无解释依据,需由 Android/云打包团队结合您的实际包体分析确认。

三、对四项诉求的逐项回应

① 未勾选 Camera/Barcode 仍打入 Gallery 及媒体选择器的原因:现有文档仅明确“未勾选模块默认不打入”的口径,暂未找到能解释您所述现象的官方依据,无法在此给出确定原因,需官方团队分析。

② 普通 uni-app 云打包的 DEX 级裁剪配置:现有文档与知识库中暂未找到普通 uni-app 云打包支持裁剪 DEX 中未使用模块代码的配置说明(您提到的 excludePermissions 字段说明亦未在现有文档中检索到),因此无法提供“完整配置示例”,避免给出无依据的配置误导您。

③ 修复 SDK 版本与云端部署状态:现有发布日志与知识库中未检索到与“未勾选模块仍打入相册组件 / DEX 权限引用”相关的修复记录,无法确认是否存在已修复版本、是否需要升级 HBuilderX,以及修复是否已部署到云端打包服务。

④ 云打包能力限制与修复计划:现有资料中暂无关于该限制的官方说明与修复计划,无法确认,需以官方团队评估结论为准。

四、评审结论与建议

  • 该反馈问题真实可信、验证过程专业,具备转交 Android/云打包团队分析的条件;但需先补充上述第一部分第 1、2、4 点信息(manifest 配置文本、完整复现步骤、三方依赖情况),否则官方难以在相同条件下复现与定位。
  • 预期结果方面:您设定的目标(清单与 DEX 双层面均不含相关权限与组件)严格于清单移除,作为 Google Play 合规目标是合理的;但云打包产品当前是否支持该粒度的裁剪能力,现有文档无依据,建议在反馈中将预期区分为“必须达成”与“期望达成”两级,便于团队评估能力边界与排期。
  • 关于 Google Play 对 156 版本的照片/视频权限提示:您已确认最终清单无相关声明,DEX 中存在类/字符串引用与清单声明权限属于不同层面,您“尚不能证明两者因果”的判断是严谨的;该提示的具体原因需以 Google Play Console 的审核通知内容为准。
  • 请补充上述信息后继续跟进,本问题确需 Android/云打包相关人员确认,基于现有资料无法给出最终结论。
内容为 AI 生成,仅供参考

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