Unity构建APK/AppBundle失败:androidx.work.work-runtime重复类问题
Unity Gradle构建重复androidx.work.work-runtime类的解决办法
问题核心
构建APK/AppBundle时触发checkReleaseDuplicateClasses任务失败,原因是项目中同时引入了androidx.work.work-runtime:2.1.0和2.7.0两个版本,导致类重复冲突。以下是几种直接有效的解决方式:
方案1:通过Gradle强制统一依赖版本
- 启用Unity自定义主Gradle模板:
- 打开
Edit > Project Settings > Player > Android > Publishing Settings,勾选Custom Main Gradle Template
- 打开
- 找到生成的模板文件(路径:
Assets/Plugins/Android/mainTemplate.gradle),在configurations块中添加版本强制规则:configurations.all { resolutionStrategy { // 强制使用较高版本的work-runtime,替换掉旧版本 force 'androidx.work:work-runtime:2.7.0' } } - 保存文件后重新构建项目。
方案2:利用Gradle Properties统一配置
- 启用自定义Gradle Properties模板:
- 在上述Publishing Settings中勾选Custom Gradle Properties Template
- 打开
Assets/Plugins/Android/gradle.properties,添加以下配置:
(android.useAndroidX=true android.enableJetifier=true # 强制指定work-runtime版本 androidx.work.work-runtimeVersion=2.7.0Jetifier会自动迁移旧Support库到AndroidX,同时强制版本可避免冲突)
方案3:借助External Dependency Manager自动处理
如果项目使用了第三方依赖管理工具(如Google External Dependency Manager):
- 打开
Window > Package Manager,确保已安装External Dependency Manager for Unity - 执行
Assets > External Dependency Manager > Android Resolver > Resolve,工具会自动检测并修复依赖冲突 - 若未生效,打开
Android Resolver > Settings,勾选Force Resolve后再次执行Resolve
方案4:排查并清理插件自带的旧依赖
- 检查
Assets/Plugins/Android目录下的所有.aar/.jar文件,用解压工具查看内部是否包含androidx.work相关类 - 若发现某插件自带旧版本work-runtime:
- 优先联系插件作者更新版本
- 手动处理:解压aar文件,删除内部的work-runtime相关class文件或修改其依赖配置,重新打包为aar后替换原文件
内容的提问来源于stack exchange,提问作者Filler
相关产品推荐
相关产品推荐

