Android Studio无法启动,4.1版本报Haxm初始化错误且提示SDK缺失
Android Studio启动异常问题解决方案
问题背景
- 最新版Android Studio安装后启动仅弹出start failed空白窗口,无法进入主程序,需通过任务管理器强制结束进程
- 降级至4.1版本后启动抛出如下异常:
java.lang.NoClassDefFoundError: Could not initialize class com.android.tools.idea.welcome.install.Haxm at com.android.tools.idea.updater.configure.ToolComponentsPanel.<clinit>(ToolComponentsPanel.java:65) at com.android.tools.idea.updater.configure.SdkUpdaterConfigPanel.$$$setupUI$$$(SdkUpdaterConfigPanel.java) at com.android.tools.idea.updater.configure.SdkUpdaterConfigPanel.<init>(SdkUpdaterConfigPanel.java:211) at com.android.tools.idea.updater.configure.SdkUpdaterConfigurable.createComponent(SdkUpdaterConfigurable.java:129) at com.intellij.openapi.options.ex.ConfigurableWrapper.createComponent(ConfigurableWrapper.java:162) at com.intellij.openapi.options.ex.ConfigurableCardPanel.lambda$createConfigurableComponent$4(ConfigurableCardPanel.java:109) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894) at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61) at com.intellij.openapi.options.ex.ConfigurableCardPanel.createConfigurableComponent(ConfigurableCardPanel.java:105) at com.intellij.openapi.options.ex.ConfigurableCardPanel.lambda$create$0(ConfigurableCardPanel.java:54) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894) at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61) at com.intellij.openapi.options.ex.ConfigurableCardPanel.create(ConfigurableCardPanel.java:53) at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:51) at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:48) at com.intellij.ui.CardLayoutPanel.createValue(CardLayoutPanel.java:73) at com.intellij.ui.CardLayoutPanel.select(CardLayoutPanel.java:101) at com.intellij.ui.CardLayoutPanel.lambda$null$0(CardLayoutPanel.java:117) at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831) at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:310) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:80) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:128) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46) at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:184) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764) at java.awt.EventQueue.access$500(EventQueue.java:98) at java.awt.EventQueue$3.run(EventQueue.java:715) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:734) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:974) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:847) at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:730) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:496) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109) at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190) at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235) at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233) at java.awt.Dialog.show(Dialog.java:1077) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:708) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:437) at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1685) at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1644) at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:124) at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:97) at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:89) at com.android.tools.idea.updater.configure.RunSdkConfigAction.actionPerformed(RunSdkConfigAction.java:75) at com.android.tools.idea.sdk.wizard.SdkQuickfixUtils.showAndroidSdkManager(SdkQuickfixUtils.java:137) at com.android.tools.idea.sdk.wizard.SdkQuickfixUtils.showSdkMissingDialog(SdkQuickfixUtils.java:132) at com.android.tools.idea.actions.AndroidNewProjectAction.actionPerformed(AndroidNewProjectAction.kt:41) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:280) at com.intellij.openapi.actionSystem.ex.ActionUtil.invokeAction(ActionUtil.java:443) at com.intellij.openapi.actionSystem.ex.ActionUtil.invokeAction(ActionUtil.java:428) at com.intellij.ui.components.labels.ActionLink$1.linkSelected(ActionLink.java:46) at com.intellij.ui.components.labels.LinkLabel.doClick(LinkLabel.java:143) at com.intellij.ui.components.labels.ActionLink.doClick(ActionLink.java:55) at com.intellij.ui.components.labels.LinkLabel$MyMouseHandler.mouseReleased(LinkLabel.java:331) at java.awt.Component.processMouseEvent(Component.java:6550) at javax.swing.JComponent.processMouseEvent(JComponent.java:3325) at java.awt.Component.processEvent(Component.java:6315) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4899) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4721) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4721) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766) at java.awt.EventQueue.access$500(EventQueue.java:98) at java.awt.EventQueue$3.run(EventQueue.java:715) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:739) at java.awt.EventQueue$4.run(EventQueue.java:737) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:736) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:974) at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:912) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:844) at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:741) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
- 点击new project按钮弹出报错:Your Android SDK is missing, out of date or corrupted.

运行环境
- 操作系统:64位 Windows 10
- 处理器:AMD Ryzen 7 5800X 8-Core Processor 3.80 GHz
- 已安装JDK版本:jdk-17
修复步骤
1. 处理HAXM兼容问题
Intel HAXM仅支持Intel处理器,AMD平台会出现初始化失败报错,操作如下:
- 进入控制面板>程序和功能,卸载所有已安装的Intel HAXM程序
- 开启Windows功能:勾选「Windows虚拟机监控程序平台」和「适用于Linux的Windows子系统」,重启设备生效
2. 修正JDK冲突
Android Studio 4.1内置JDK 1.8运行环境,全局配置的JDK 17会引发版本冲突:
- 删除系统环境变量中
JAVA_HOME指向JDK 17的配置,Android Studio默认优先使用内置JDK,无需额外配置全局JDK
3. 重置Android SDK
- 完全删除原有SDK目录,默认路径为
C:\Users\当前系统用户名\AppData\Local\Android\Sdk - 启动Android Studio,在欢迎页点击Configure>SDK Manager,重新下载匹配版本的Android SDK
4. 修复最新版启动失败问题
- 打开Android Studio安装目录下的
bin文件夹,编辑studio64.exe.vmoptions文件,新增如下配置:
-Djava.net.preferIPv6Addresses=false -Duser.name=你的系统用户名
- 删除
C:\Users\当前系统用户名\.AndroidStudio<对应版本号>目录下的所有缓存配置,重新启动程序即可
内容的提问来源于stack exchange,提问作者Goncharov
相关产品推荐
相关产品推荐

