环境:
HBuilderX:5.24.2026081301
项目类型:
uni-app x
AppID:
UNIB57A8D3
应用版本:
2.0.5(versionCode 205)
打包方式:
Android → 原生App云打包 → 传统打包
问题描述:
最近项目新增两个本地UTS插件:
- uni_modules/dictation-tts
- uni_modules/dictation-card-ocr
本地编译正常:
npm run build:app
可以成功完成。
HBuilderX云打包过程中也能正常生成上传WGT。
已经检查上传的真实WGT文件:
UNIB57A8D3.wgt
确认包含:
uni_modules/dictation-tts
以及:
uni_modules/dictation-card-ocr
其中包含:
dictation-tts:
- utssdk/app-android/config.json
- Kotlin源码
- index.kt
dictation-card-ocr:
- utssdk/app-android/config.json
- AnswerCardEngineV090.kt
- PaddleOcrV5Recognizer.kt
- OCR模型文件
- 字典文件
但是云端Android Gradle构建阶段失败。
错误日志:
FAILURE: Build failed with an exception.
Where:
Build file '[PackagePath]/app/build.gradle' line: 189
错误:
Project with path ':uni_modules:dictation-tts' could not be found in project ':app'.
随后:
Project with path ':uni_modules:dictation-card-ocr' could not be found in project ':app'.
另外还有:
Element uses-permission#android.permission.WRITE_EXTERNAL_STORAGE duplicated
目前判断:
本地:
源码 ✅
uni_modules目录 ✅
WGT上传内容 ✅
UTS插件源码 ✅
问题应该发生在:
DCloud云端解包WGT后,
生成Android Gradle工程时,
UTS module没有正确创建。
已尝试:
- 删除HBuilderX缓存
- 清理dist/build/app
- 清理src/unpackage/dist/build/app-plus
- 删除旧WGT缓存
- 升级HBuilderX版本
- 统一uni-app相关依赖版本
- 确认项目只从src目录打开
但是云打包仍然出现同样错误。
想请教:
- 是否存在AppID对应的云端UTS模块缓存?
- 是否可以帮忙清理:
AppID:
UNIB57A8D3
对应的云打包缓存 / Gradle缓存 / UTS缓存?
- 目前这种:
WGT包含UTS插件,但云端Gradle找不到module
是否属于云端构建环境异常?
感谢帮助。
1 个回复
Ask小助手 - Ask社区AI助手
你好,我是 DCloud 官方小助手。针对你遇到的 uni-app x 云打包问题,我进行了详细分析。
1. 核心结论
这确实属于云端构建环境异常或特定版本下的构建脚本解析 Bug。
既然你已经确认 WGT 包中完整包含了
uni_modules/dictation-tts和uni_modules/dictation-card-ocr,但云端 Gradle 依然提示Project with path ':uni_modules:xxx' could not be found,这说明云端在解包 WGT 并生成settings.gradle(或动态 include 模块)时,未能正确识别并注册这两个本地 UTS 模块。2. 关于你提出的三个问题
Q1 & Q2: 是否存在 AppID 对应的云端缓存?能否帮忙清理?
DCloud 云端打包环境每次都会分配相对独立的构建容器,通常不存在持久的、导致构建脚本解析错误的“UTS 模块缓存”。作为 AI 助手,我无法直接操作后台为你清理缓存,但这通常不是缓存导致的,而是云端构建脚本在解析你当前项目结构时发生了异常。
Q3: 是否属于云端构建环境异常?
是的。本地能编译、WGT 包结构完整,唯独云端 Gradle 找不到 Module,这是典型的云端工程生成阶段的异常。
3. 深度排查与解决方案建议
在联系官方彻底排查之前,你可以尝试以下几个极有可能导致该问题的“工程级”排查点:
排查点 A:检查
config.json的格式(高概率)UTS 插件的
utssdk/app-android/config.json会被云端解析并合并到 Gradle 中。如果这个 JSON 文件格式不标准(例如包含了注释//、末尾多了逗号、或者包含 BOM 头),云端解析器可能会直接跳过该模块的注册,从而导致找不到 Module。config.json是严格的标准 JSON 格式。哪怕你本地用//注释能跑通,云端也可能会挂。请移除所有注释,确保 JSON 绝对纯净。排查点 B:目录权限与隐藏文件
检查本地
uni_modules/dictation-tts和dictation-card-ocr文件夹的权限。如果其中包含了某些系统隐藏文件(如.DS_Store或 Windows 的desktop.ini),或者文件夹被设置了特殊的系统权限,偶尔会导致云端解压或遍历目录时失败。排查点 C:尝试“安心打包”或更换打包模式
你当前使用的是“传统打包”。建议在 HBuilderX 云打包界面,尝试勾选“安心打包”(如果可用),或者尝试打一个“自定义调试基座”,看是否依然报同样的错误。不同的打包通道在云端生成 Gradle 工程的脚本略有差异,这有助于定位是不是特定打包通道的 Bug。
排查点 D:关于
WRITE_EXTERNAL_STORAGE重复这个报错通常是因为插件的
config.json中声明了权限,与主工程或其他插件冲突。虽然它目前显示为 Warning 或 Error,但它通常不会导致 Module 找不到。你可以暂时检查插件源码,看是否有重复声明权限的地方,先注释掉试试。4. 下一步行动建议(如何向官方反馈)
由于你已经做了非常完善的本地排查,这基本可以实锤是云端构建链路的特定 Bug。为了解决这个问题,建议你直接通过以下方式联系 DCloud 官方工程师:
提交 Issue(最推荐):
请前往 DCloud 官方 Issue 系统提交 Bug:https://issues.dcloud.net.cn/
uni-app x 云打包失败:WGT包含UTS插件,但云端Gradle提示找不到 uni_modules moduleuni_modules/dictation-tts和dictation-card-ocr的目录结构截图,以及config.json内容贴出。官方社区/群聊反馈:
如果你在官方技术交流群,可以直接 @DCloud_App_Array 或相关 Android 工程师,提供你的 AppID (
__UNI__B57A8D3) 和 打包失败的具体时间/错误日志链接,他们可以在后台直接调取该次打包的云端日志,查看为什么在生成settings.gradle时漏掉了你的插件。总结:请先重点检查两个插件的
config.json是否为无注释的纯 JSON 格式,这是最常见的导致云端解析失败的原因。如果确认无误,请直接提交 Issue 或联系官方客服,这属于云端构建环境的个案 Bug。要回复问题请先登录或注册
公告
更多>相关问题