UE 4.27集成GooglePAD插件二次打包时Gradle构建失败如何解决
解决方案
- 第一步:完全清除打包中间文件
每次打包前手动删除项目目录下的Intermediate/Android、Saved/Logs、Binaries/Android三个文件夹,不要使用UE自带的清理功能。UE4.27的GooglePAD插件存在已知缺陷,自带清理逻辑不会清除之前生成的asset pack gradle配置残留,会导致两次打包的配置冲突。 - 第二步:补充asset pack的gradle配置
在每个asset pack目录下的build.gradle文件中,android代码块之外添加如下配置,补全报错提示缺失的packElements声明:
configurations { packElements { canBeResolved = false canBeConsumed = true } } artifacts { packElements(file("src/main/assets")) { builtBy("assemble") } }
UE官方给出的默认配置缺少上述低版本AGP适配项,第一次打包生成的临时配置会自动补全该内容,第二次打包时临时配置被覆盖就会触发依赖找不到的报错。
- 第三步:调整Gradle版本组合
进入UE项目设置-Android-高级配置页,将自定义Gradle版本设置为4.0.2,AGP(Android Gradle Plugin)版本设置为4.0.0,该版本组合是UE4.27对GooglePAD支持最稳定的版本,低于3.6.0的AGP版本原生不支持asset pack依赖传递,高于4.0.0的版本会和UE的构建逻辑产生冲突。 - 第四步:关闭增量打包
若上述操作仍未解决问题,在打包时关闭UE的增量构建选项,全量执行打包流程。UE的增量打包逻辑不会识别asset pack的配置变更,会复用前一次的依赖配置导致匹配失败。
内容的提问来源于stack exchange,提问作者Júlio Bulhões
相关产品推荐
相关产品推荐

