1***@qq.com
1***@qq.com
  • 发布:2026-07-09 14:22
  • 更新:2026-10-19 14:21
  • 阅读:269

安卓离线打包 使用UTS插件后,本地导出资源生成的uni_modules需要同步到哪个文件夹

分类:uni-app

如题,按教程配置完之后,能正常生成apk,但是uts相关都没有正确执行到,不知道是资源没对位置还是如何,如果参考示例我需要参考哪一个呢

2026-07-09 14:22 负责人:DCloud_Android_zl 分享
已邀请:
Ask小助手

Ask小助手

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

针对安卓离线打包使用 uts 插件后,本地导出资源生成的 uni_modules 需要同步到原生工程的具体哪个文件夹,这需要区分应用资源和uts 插件原生代码两部分来操作。

1. 应用资源(uni-app 前端代码)

这部分是通用的,无论是否使用 uts 插件,都需要将 hbuilderx 导出的本地打包资源(__UNI_XXXXX 文件夹)放到原生工程中。

  • 同步位置:将导出的 __UNI_XXXXX 文件夹整个放入原生工程的 app/src/main/assets/apps/ 目录下。
  • 参考路径示例:app/src/main/assets/apps/__UNI_XXXXX/www/
  • 操作步骤:
    1. 在 hbuilderx 中,右键项目 -> 发行 -> 原生app-本地打包 -> 生成本地打包app资源。
    2. 得到类似 __UNI_7F5F813 的资源文件夹。
    3. 将此文件夹复制到安卓原生工程的 app/src/main/assets/apps/ 目录下即可。
  • 知识依据:android 导入小程序应用资源

2. uts 插件原生代码(安卓端)

这部分是导致 uts 功能“没有正确执行”的关键。导出资源中 uni_modules 目录下的插件原生代码,需要按照特定规则放到原生工程中。

对于 hbuilderx 5.13+ 版本(推荐方式)

  • 同步位置:原生工程根目录下的 UTSPlugins 文件夹。
  • 操作步骤:
    1. 在安卓原生工程根目录下找到或新建 UTSPlugins 目录。
    2. 将 hbuilderx 导出资源中 uni_modules/<插件名称>/app-ios 目录,完整复制到 UTSPlugins/<插件名称>/app-ios 路径下。
    3. 在 Podfile 中启用 UTS 并执行 pod install。脚本会自动处理集成。
  • 知识依据:uts 插件自动集成 (此文档虽是 ios 示例,但所述 UTSPlugins 目录结构是通用的,安卓同理)

非 5.13+ 版本或通用手动集成方式

  • 核心文件:你需要关注导出资源中 uni_modules 目录下,每个插件文件夹内的 app-android 子目录。
  • 同步位置与步骤:
    1. jar/aar 文件:将 app-android/libs 目录下的所有 .jar 和 .aar 文件,复制到安卓原生工程的 app/libs 目录下。
    2. so 库:如果插件包含 .so 文件,需要将它们放到 app/src/main/jniLibs 对应的 abi 目录下。
    3. 其他资源:根据插件文档,将 app-android 下的其他资源文件(如 assets 目录下的文件)放到原生工程对应位置。
    4. 依赖配置:如果插件的 app-android/config.json 文件中声明了 maven 仓库或三方库依赖,需要将其添加到安卓项目的 build.gradle 文件中。
  • 知识依据:android 插件资源配置 和 uts 插件 libs 配置

3. 排查与参考示例

如果按照上述操作后 uts 插件仍未正常执行,请重点进行以下排查:

  1. 确认文件是否完整集成:检查 app-android 下的 libs 目录中的 .aar/.jar 文件是否全部被复制到了原生工程的 app/libs 下,并在 build.gradle 中作为依赖被引入。
  2. 检查依赖冲突或缺失:在 android studio 中查看 build.gradle 文件,确保插件所需的第三方依赖(如 androidx、kotlin 相关库)已正确添加且版本兼容。
  3. 参考官方示例工程:最直接的方法是参考离线打包 sdk 中的 UniPlugin-Hello-AS 工程。这个工程演示了如何正确集成 uts 插件,可以对照它的目录结构和配置文件检查你的工程。
  4. 确认版本兼容性:一个来自 issue 系统的类似问题提到,离线打包报 could not find io.dcloud.uts.kotlin:uts-kotlin-compiler-plugin 错误,这通常与配置的仓库或 kotlin 版本有关。确保你的项目级 build.gradle 中已正确添加了 dcloud 的 maven 仓库地址。

总结一下:你的问题大概率出在第二步,即 uni_modules 下的原生 app-android 代码没有正确同步到安卓原生工程。请重点核对 .aar/.jar 文件的放置位置,并参考 UniPlugin-Hello-AS 示例工程进行配置。

内容为 AI 生成,仅供参考
1***@qq.com

1***@qq.com

这个解决了吗

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