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

Flutter构建时JAVA_HOME指向错误目录的问题排查求助

Flutter构建时JAVA_HOME指向错误目录的问题排查求助

我在Windows系统下已经把**系统环境变量JAVA_HOME**设置为"C:\Program Files\Android\Android Studio\jbr",但不管是用Android Studio还是VSCode构建Flutter项目,都会弹出错误,说我的JAVA_HOME指向了无效目录C:\Program Files\Java\jdk-23。

我已经尝试过这些操作但都没解决问题:

  • 删除Android相关文件夹
  • 重装Android Studio
  • 在项目中全局搜索"C:\Program Files"字符串

flutter run的报错输出

Launching lib\main.dart on sdk gphone64 x86 64 in debug mode...
Running Gradle task 'assembleDebug'...                          

ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java\jdk-23

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Running Gradle task 'assembleDebug'...                              28ms
Error: Gradle task assembleDebug failed with exit code 1

从命令行启动Android Studio的日志输出

2024-12-30 09:16:08,463 [    177]   WARN - #c.i.s.ComponentManagerImpl - `preload=TRUE` must be used only for core services (service=org.jetbrains.android.AndroidPlugin, plugin=org.jetbrains.android)
2024-12-30 09:16:08,480 [    194]   WARN - c.i.o.u.r.overrides - Conflicting registry key definition for key kotlin.mpp.tests.force.gradle: it was defined by plugin org.jetbrains.kotlin but redefined by plugin org.jetbrains.kotlin. Consider adding overrides="true" for one of the plugins, see the documentation for com.intellij.openapi.util.registry.RegistryKeyBean.overrides for more details.
2024-12-30 09:16:08,480 [    194]   WARN - c.i.o.u.r.overrides - Conflicting registry key definition for key unknown.sdk: it was defined by plugin com.intellij but redefined by plugin org.jetbrains.android. Consider adding overrides="true" for one of the plugins, see the documentation for com.intellij.openapi.util.registry.RegistryKeyBean.overrides for more details.
2024-12-30 09:16:08,481 [    195]   WARN - c.i.o.u.r.overrides - Conflicting registry key definition for key unknown.sdk.auto: it was defined by plugin com.intellij but redefined by plugin org.jetbrains.android. Consider adding overrides="true" for one of the plugins, see the documentation for com.intellij.openapi.util.registry.RegistryKeyBean.overrides for more details.
2024-12-30 09:16:08,481 [    195]   WARN - c.i.o.u.r.overrides - Conflicting registry key definition for key unknown.sdk.modal.jps: it was defined by plugin com.intellij but redefined by plugin org.jetbrains.android. Consider adding overrides="true" for one of the plugins, see the documentation for com.intellij.openapi.util.registry.RegistryKeyBean.overrides for more details.
2024-12-30 09:16:08,481 [    195]   WARN - c.i.o.u.r.overrides - Conflicting registry key definition for key unknown.sdk.show.editor.actions: it was defined by plugin com.intellij but redefined by plugin org.jetbrains.android. Consider adding overrides="true" for one of the plugins, see the documentation for com.intellij.openapi.util.registry.RegistryKeyBean.overrides for more details.
2024-12-30 09:16:08,481 [    195]   WARN - c.i.o.u.r.overrides - Conflicting registry key definition for key gradle.phased.sync.enabled: it was defined by plugin com.intellij.gradle but redefined by plugin org.jetbrains.android. Consider adding overrides="true" for one of the plugins, see the documentation for com.intellij.openapi.util.registry.RegistryKeyBean.overrides for more details.
2024-12-30 09:16:09,033 [    747]   WARN - #c.i.w.i.i.WorkspaceModelCacheSerializer - Could not deserialize cache from C:\Users\leandro\AppData\Local\Google\AndroidStudio2024.2\global-model-cache\cache.data
com.esotericsoftware.kryo.kryo5.KryoException: Buffer too small: capacity: 0, required: 1
    at com.esotericsoftware.kryo.kryo5.io.ByteBufferInput.require(ByteBufferInput.java:166)
    at com.esotericsoftware.kryo.kryo5.io.ByteBufferInput.readVarIntFlag(ByteBufferInput.java:444)
    at com.esotericsoftware.kryo.kryo5.io.ByteBufferInput.readString(ByteBufferInput.java:709)
    at com.intellij.platform.workspace.storage.impl.serialization.EntityStorageSerializerImpl.checkCacheVersionIdentical(EntityStorageSerializerImpl.kt:227)
    at com.intellij.platform.workspace.storage.impl.serialization.EntityStorageSerializerImpl.deserializeCache-IoAF18A(EntityStorageSerializerImpl.kt:145)
    at com.intellij.workspaceModel.ide.impl.WorkspaceModelCacheSerializer.loadCacheFromFile$intellij_platform_ide_impl(WorkspaceModelCacheSerializer.kt:55)
    at com.intellij.workspaceModel.ide.impl.GlobalWorkspaceModelCacheImpl.loadCache(GlobalWorkspaceModelCacheImpl.kt:85)
    at com.intellij.workspaceModel.ide.impl.GlobalWorkspaceModel.<init>(GlobalWorkspaceModel.kt:76)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt$instantiate$2.invoke(instantiate.kt:46)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt$instantiate$2.invoke(instantiate.kt:43)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt$instantiate$6$1.invoke(instantiate.kt:310)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.withStoredTemporaryContext(instantiate.kt:327)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate(instantiate.kt:309)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate(instantiate.kt:43)
    at com.intellij.serviceContainer.LightServiceInstanceSupport$LightServiceInstanceInitializer.createInstance(LightServiceInstanceSupport.kt:47)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invokeSuspend(LazyInstanceHolder.kt:162)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:62)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:163)
    at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invokeSuspend(LazyInstanceHolder.kt:160)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:27)
    at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:90)
    at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:123)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:52)
    at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.initialize(LazyInstanceHolder.kt:145)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.access$initialize(LazyInstanceHolder.kt:13)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.tryInitialize(LazyInstanceHolder.kt:135)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance(LazyInstanceHolder.kt:95)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance$suspendImpl(LazyInstanceHolder.kt:83)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance(LazyInstanceHolder.kt)
    at com.intellij.platform.instanceContainer.internal.InstanceContainerImpl.instance(InstanceContainerImpl.kt:68)
    at com.intellij.serviceContainer.ComponentManagerImpl.getServiceAsync(ComponentManagerImpl.kt:694)
    at com.intellij.workspaceModel.ide.impl.legacyBridge.module.ModuleBridgeLoaderService$execute$2.invokeSuspend(ModuleBridgeLoaderService.kt:163)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:277)
    at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:99)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
    at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:277)
    at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:99)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
2024-12-30 09:16:09,189 [    903]   WARN - #c.i.s.ComponentManagerImpl - `preload=NOT_HEADLESS` must be used only for core services (service=org.jetbrains.kotlin.idea.search.refIndex.KotlinCompilerReferenceIndexService, plugin=org.jetbrains.kotlin)
2024-12-30 09:16:09,372 [   1086]   WARN - #c.i.u.j.JBCefApp - JCefAppConfig.class is not from a JBR module, url: jar:file:/C:/Program%20Files/Android/Android%20Studio/lib/lib.jar!/com/jetbrains/cef/JCefAppConfig.class (Use JBR bundled with the IDE)
2024-12-30 09:16:09,926 [   1640]   WARN - #com.android.sdklib.internal.avd.AvdManager - Observed package id 'emulator' in inconsistent location 'C:\Users\leandro\AppData\Local\Android\Sdk\emulator.backup' (Expected 'C:\Users\leandro\...

备注:内容来源于stack exchange,提问作者NeoFahrenheit

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 17:19:34