导入Facebook SDK 17.0.0后Unity Gradle打包APK失败求助
未导入Facebook SDK时Android包可正常构建,导入17.0.0版本后,使用Gradle 7.2打包APK出现构建失败,核心报错如下:
FAILURE: Build failed with an exception.
- What went wrong:
A problem occurred configuring project ':launcher'.Could not resolve all artifacts for configuration ':launcher:classpath'.
Could not find com.android.tools.build:gradle:7.1.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.1/gradle-7.1.pom
- https://jcenter.bintray.com/com/android/tools/build/gradle/7.1/gradle-7.1.pom
Required by:
project :launcher
已尝试清理缓存、升级Gradle,问题未解决。
1. 修正Android Gradle Plugin(AGP)版本
Facebook SDK 17.0.0可能强制指定了不存在的AGP版本7.1(maven仓库中通常发布带补丁号的稳定版,如7.1.3),需修改gradle配置:
- 在Unity中开启Custom Gradle Template(路径:
Player Settings > Publishing Settings > Build,勾选对应选项) - 打开生成的
Assets/Plugins/Android/mainTemplate.gradle,找到buildscript > dependencies块,将com.android.tools.build:gradle:7.1替换为稳定版本,示例:buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.1.3' } }
2. 修复仓库配置
jcenter已停止服务,需确保gradle配置中使用有效仓库:
在buildscript > repositories块中,保留google()和mavenCentral(),移除jcenter():
buildscript { repositories { google() mavenCentral() } }
3. 强制统一依赖版本
若SDK依赖导致版本冲突,可添加强制解析规则,确保AGP版本统一:
在mainTemplate.gradle中添加以下代码:
configurations.all { resolutionStrategy { force 'com.android.tools.build:gradle:7.1.3' } }
4. 彻底清理后重新构建
- 删除项目根目录下的
Library、Temp文件夹 - 删除Android构建目录中的
.gradle文件夹 - 重新打开Unity项目,执行Android打包
内容的提问来源于stack exchange,提问作者tiro

