1***@qq.com
1***@qq.com
  • 发布:2026-07-30 17:07
  • 更新:6 分钟前
  • 阅读:32

离线打包,uts插件没有依赖

分类:uni-app

我的uts原生插件模块中引入compileOnly'androidx.appcompat:appcompat:1.1.0',并且我还能使用android studio正常运行,在打包成为自定义基座后一直报错如下:aapt2Link 编译失败:
16:59:39.617 error: resource style/Theme.AppCompat.Light.DarkActionBar (aka uts.sdk.modules.zaneWangCamera:style/Theme.AppCompat.Light.DarkActionBar) not found.
16:59:39.617 error: failed linking references.。

在线打的自定义基座是没有问题的,为什么离线不行

2026-07-30 17:07 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

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

根据你的描述,问题出在 compileOnly 这个依赖配置方式上。

原因分析

compileOnly 表示只在编译时依赖,打包时不会将该依赖及其资源包含进去。你的插件代码中用到了 Theme.AppCompat.Light.DarkActionBar 这类 AppCompat 的资源,编译时因为 compileOnly 能找到对应类和资源所以正常通过,但离线打包时由于该依赖没有被实际打包进 APK,aapt2 链接资源时就会报 resource style/Theme.AppCompat.Light.DarkActionBar not found

在线打包没问题,是因为云端打包环境对 uts 插件的依赖处理机制与离线不同,云端可能会自动合并或包含部分常用 AndroidX 依赖。

解决方案

方式一:在 uts 插件的 config.json 中声明依赖

在 uts 插件的 config.json 文件中,通过 dependencies 字段声明依赖,而不是使用 compileOnly

{  
  "dependencies": [  
    "androidx.appcompat:appcompat:1.1.0"  
  ]  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

这种方式会将依赖以 implementation 的方式引入,打包时会正确包含依赖及其资源。

方式二:在离线打包的原生工程 build.gradle 中添加依赖

如果你是在离线打包的原生工程中配置,需要在原生工程的 build.gradledependencies 节点下使用 implementation 引入,而不是 compileOnly

dependencies {  
    implementation "androidx.appcompat:appcompat:1.1.0"  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

具体配置方式可以参考官方文档中的 Android 平台 uni-app 原生插件集成指南 - 配置 gradle 文件,其中明确列出了需要添加的依赖列表,包括 androidx.appcompat:appcompat:1.1.0

总结

核心问题就是把 compileOnly 改为 implementation(或在 config.jsondependencies 中声明),确保打包时依赖及其资源被正确包含。修改后重新打自定义基座即可。

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

1***@qq.com (作者) - zane_wang

我改了成了implementation还是不行,首先我的应用模块里面是同构implementation引入过androidx.appcompat:appcompat:1.1.0这个依赖的,所以我其他lib模块使用compileOnly在能正常运行,现在的问题是离线打包的基座感觉没有依赖还是报错aapt2Link 编译失败:
20:27:43.955 error: resource style/Theme.AppCompat.Light.DarkActionBar (aka uts.sdk.modules.zaneWangCamera:style/Theme.AppCompat.Light.DarkActionBar) not found.
20:27:43.955 error: failed linking references.
20:28:02.909 uts插件[zane-wang-camera]编译失败

要回复问题请先登录注册