Unity 2022.3.12f1导入Facebook SDK后Android构建失败求助
解决Unity导入Facebook SDK后Android构建的重复类冲突问题
核心原因
Unity 2022.3.12f1默认采用AndroidX架构,你导入的Facebook SDK可能依赖了旧版com.android.support支持库,与AndroidX的androidx.browser库产生类重复(android.support.customtabs相关类),导致构建时checkReleaseDuplicateClasses任务失败。
解决方案
1. 启用Unity的AndroidX与Jetifier自动迁移
- 打开Unity编辑器,进入
Edit > Project Settings > Player > Android - 切换到
Publishing Settings标签,勾选Custom Main Gradle Template和Custom Base Gradle Template(首次勾选会自动生成模板文件) - 在
Build区域,勾选Use AndroidX和Jetifier选项(Jetifier会自动将第三方库的旧support依赖转换为AndroidX兼容版本)
2. 手动在Gradle模板中排除重复依赖
- 找到项目中的
Assets/Plugins/Android/mainTemplate.gradle文件并打开 - 在
dependencies代码块中,针对Facebook SDK的依赖添加排除规则,移除旧版customtabs依赖:
若不确定Facebook SDK的具体依赖声明,也可全局排除冲突模块(优先推荐针对具体依赖排除):implementation 'com.facebook.android:facebook-android-sdk:[你的SDK版本号]' { exclude group: 'com.android.support', module: 'customtabs' }configurations.all { exclude group: 'com.android.support', module: 'customtabs' }
3. 清理缓存并重建项目
- 点击Unity顶部菜单
File > Build Settings > Android > Clean Build,清除旧构建缓存 - 手动删除项目根目录下的
Library文件夹(操作前建议备份项目),重启Unity编辑器 - 重新导入所有资源后尝试构建Android版本
4. 升级Facebook SDK到兼容AndroidX的版本
- 检查当前使用的Facebook SDK版本,确保是v12.0.0及以上(该版本开始全面支持AndroidX)
- 替换项目中旧版SDK文件为适配Unity 2022的最新版本
补充:手动配置gradle.properties(若Jetifier未自动生效)
如果上述步骤后仍有问题,可在Assets/Plugins/Android/gradle.properties中添加以下配置,强制开启AndroidX迁移:
android.useAndroidX=true android.enableJetifier=true
内容的提问来源于stack exchange,提问作者shatyloartem
相关产品推荐
相关产品推荐

