You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UE4.26打包Quest 2 Android目标报错,如何解决JDK/Gradle兼容问题

解决方案

第一步:回退Gradle到官方默认版本

你自行修改的Gradle 7.0和UE 4.26原生构建逻辑不兼容,改回默认配置即可:
打开UE_4.26\Engine\Build\Android\Java\gradle\gradle\wrapper\gradle-wrapper.properties,恢复为原始配置:

distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
# 注释掉你添加的Gradle7.0配置
# distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip

第二步:统一使用JDK 8

UE 4.26官方仅适配JDK 8,高版本JDK的模块化机制会触发访问权限报错,直接在Unreal的Android SDK设置中将Java路径指定为C:/Program Files/Java/jdk1.8.0_161即可,不要使用JDK 9及以上版本。

第三步:固定SDK/NDK版本配置

不要使用latest作为版本参数,避免版本匹配混乱:

  • Unreal全局Android SDK设置中,SDK API Level指定为android-30,NDK API Level指定为android-23(匹配你项目的最低支持版本)
  • 项目Android设置中,目标SDK版本选30,最小SDK版本保持23,Build Tools版本指定为30.0.3

第四步:清理缓存后重新构建

之前的构建缓存会导致配置不生效,按以下顺序操作:

  1. 关闭Unreal编辑器,删除项目根目录下的Intermediate、Saved、Binaries三个文件夹
  2. 删除C:\Users\bluem\.gradle\caches目录下的所有内容,清除Gradle历史缓存
  3. 重新打开项目,在打包设置中勾选「完全重建」,再执行Android平台打包操作

报错原因说明

  1. Unable to make field private final java.lang.String java.io.File.path accessible报错:由JDK 9及以上版本引入的模块化访问限制导致,UE 4.26的构建脚本未适配该机制,仅能在JDK 8环境下正常运行。
  2. Querying the mapped value of map(...) before task ... has completed is not supported报错:由Gradle 7.0的API变更导致,UE 4.26原生构建逻辑基于Gradle 6.1.1开发,不兼容高版本Gradle的任务执行校验规则。

内容的提问来源于stack exchange,提问作者BlueMonkMN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 17:21:01