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

Unity中Android Resolver报JAVA_HOME路径无效错误如何解决

问题背景

开发Unity 2D移动端游戏,接入Google AdMob完成广告功能开发,当前游戏已达可玩状态,安装完Admob相关依赖包后,运行Android Resolver执行依赖解析时触发报错。

核心报错提示

ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\AdoptOpenJDK\jre-8.0.282.8-hotspot

完整报错日志

Full Error: Reporting analytics data: /androidresolver/resolve/gradle/failed/fetch?unityVersion=2021.3.0f1&unityPlatform=WindowsEditor&installSource=unitypackage&version=1.2.171&scope= 'Android Resolver: Gradle Resolve: Tool Extraction Failed'
ERROR: Gradle failed to fetch dependencies.
Failed to run 'F:\Unity\Projects\Floppy Bert\Temp\PlayServicesResolverGradle\gradlew.bat --no-daemon -b "F:\Unity\Projects\Floppy Bert\Temp\PlayServicesResolverGradle\PlayServicesResolver.scripts.download_artifacts.gradle" "-PANDROID_HOME=F:\Unity\2021.3.0f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK" "-PTARGET_DIR=F:\Unity\Projects\Floppy Bert\Assets\Plugins\Android" "-PMAVEN_REPOS=https://maven.google.com/" "-PPACKAGES_TO_COPY=com.google.android.gms:play-services-ads:21.0.0" "-PUSE_JETIFIER=0" "-PDATA_BINDING_VERSION=4.0.1"'
stdout:
ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\AdoptOpenJDK\jre-8.0.282.8-hotspot
Please set the JAVA_HOME variable in your environment to match the location of your Java installation.
stderr:
报错原因

Android Resolver拉取依赖时会调用Gradle执行脚本,Gradle启动时会优先读取系统配置的JAVA_HOME环境变量定位Java运行环境,当前读取到的路径是旧的AdoptOpenJDK 8安装路径,该路径要么已被删除、要么文件被移动,导致Gradle找不到可用的Java环境,直接终止解析流程。
注意Unity 2021.3版本安卓构建要求使用JDK 11,就算旧的JDK8路径存在,版本不匹配后续也会触发其他构建报错。

解决步骤
  • 清理失效的系统环境变量
    打开Windows系统环境变量设置面板,在用户变量和系统变量列表里找到JAVA_HOME项,检查对应值指向的目录是否真实存在、目录下是否有bin/java.exe文件。如果路径不存在直接删除该失效配置,或者将值修改为本地已安装的JDK 11的根目录路径。改完后开新的命令行窗口执行java -version,确认能正常输出Java版本信息再进行下一步。
  • 切换Unity使用内置JDK,规避环境变量干扰
    打开Unity编辑器,依次进入 Edit > Preferences > External Tools 找到Android配置分类,将JDK、Android SDK、NDK三个选项全部勾选为Unity 内置版本(Embedded),取消自定义路径的勾选,避免Unity读取到外部失效的路径配置。
  • 清理缓存重新执行依赖解析
    关闭Unity编辑器,进入项目根目录,删除Temp整个文件夹,再重新打开项目。依次点击菜单 Assets > External Dependency Manager > Android Resolver,先执行Delete Resolved Libraries清空之前的解析残留文件,再点击Resolve重新执行依赖拉取即可。
  • 补充排查项
    如果上述操作做完还是报错,检查系统环境变量里是否配置了GRADLE_HOME指向本地旧版本Gradle,如果有可以暂时删除该变量,让Resolver使用自带的Gradle版本执行脚本,避免版本不兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 21:54:52