Unity 2022.3.44f1构建失败:重复类错误排查求助
解决Unity中Androidx组件重复类构建错误
1. 强制统一Androidx库版本
在Unity的Assets/Plugins/Android目录下创建或修改mainTemplate.gradle文件(如果没有,先在Player Settings里开启「Custom Main Gradle Template」),添加以下配置,强制所有依赖使用统一的最新Androidx版本:
configurations.all { resolutionStrategy { force 'androidx.core:core:1.9.0' force 'androidx.activity:activity:1.8.0' force 'androidx.arch.core:core-runtime:2.2.0' force 'androidx.collection:collection:1.2.0' // 把报错里出现的所有冲突组件都加上,版本用报错里的最高版本即可 } }
这会让Gradle自动忽略低版本依赖,统一采用你指定的版本。
2. 排查并移除本地重复依赖
- 检查
Assets/Plugins/Android目录,若存在多个版本的Androidx相关aar/jar文件(比如同时有core-1.2.0.aar和core-1.9.0.aar),直接删除低版本文件。 - 检查第三方SDK(如广告、统计类插件)是否自带旧版Androidx库,有些插件会把依赖打包进去,找到后替换为仅依赖最新版的插件包,或手动删除插件内的旧Androidx文件。
3. 清理缓存与构建目录
- 关闭Unity,删除项目根目录下的
Library、Temp、Obj文件夹,重新打开Unity让它重新生成缓存。 - 清理Gradle缓存:Windows用户找到
C:\Users\<你的用户名>\.gradle\caches,Mac用户找到~/.gradle/caches,删除其中的transforms-3文件夹——这个文件夹存储编译后的依赖文件,容易残留旧版本内容。
4. 调整Unity Android Player设置
- 打开Player Settings > Publishing Settings,确保「Custom Gradle Properties Template」已开启,在
gradleTemplate.properties里确认以下配置:
android.useAndroidX=true android.enableJetifier=true
Jetifier会自动将旧Support库依赖转换为Androidx,确保这个配置开启能避免部分旧依赖引发的冲突。
5. 定位冲突源并排除依赖
在Unity终端(或打开项目的Android文件夹用Android Studio)执行以下命令,生成完整依赖树:
./gradlew app:dependencies
搜索冲突类(比如RemoteActionCompatParcelizer),找到引入旧版Androidx的第三方依赖,然后在mainTemplate.gradle里排除该依赖的旧版组件:
dependencies { implementation ('com.example.thirdparty:plugin:1.0.0') { exclude group: 'androidx.core', module: 'core' } }
内容的提问来源于stack exchange,提问作者KrazeyKami
相关产品推荐
相关产品推荐

