为何JAVA_HOME目录无效?已设系统属性仍报错求助
ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java\jdk1.8.0_211
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Exception: Gradle task assembleDebug failed with exit code 1
试试这些排查步骤:
先确认路径真实性
手动导航到C:\Program Files\Java\,看看jdk1.8.0_211文件夹是不是真的在那,有没有拼写错误(比如版本号少打一位、字母大小写错了——Windows基本不敏感,但个别工具会认死理)。环境变量没生效就重启
改完系统环境变量后,必须把所有打开的终端、IDE(比如Android Studio)全关掉再重新开,不然它们读的还是旧的变量值,白改。检查用户变量是否搞事情
系统变量和用户变量里都可能有JAVA_HOME,如果用户变量里的路径不对,会覆盖系统变量的设置。去「用户变量」里看看有没有这个变量,有的话要么删了要么改成正确路径。空格路径坑人
Program Files里的空格会让部分老版本Gradle/Java工具抽风。要么把JDK挪到无空格的目录(比如C:\Java\jdk1.8.0_211),要么用短路径(C:\Progra~1\Java\jdk1.8.0_211)设置JAVA_HOME。别把JRE当成JDK
确认你选的是JDK目录,不是JRE。JDK里有bin、lib、include这些子文件夹,JRE只有bin和lib,少了开发必需的文件。权限不够也会报错
右键JDK文件夹→属性→安全,看看当前用户有没有读取和执行的权限,没有的话就添加权限。
内容的提问来源于stack exchange,提问作者Alêxxxiy69

