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

Android Studio可启动AVD模拟器但IntelliJ 2023无法启动的求助

问题背景
  • 在Android Studio(2021.1.1 Patch 2)中创建的Android模拟器可正常启动,但IntelliJ IDEA 2023.3 Ultimate Edition的设备管理器中虽能看到该设备,却提示“Missing system image for Google APIs [...]”
  • 此前可通过IntelliJ启动模拟器,但无法创建新模拟器;移除多年前设置的ANDROID_SDK_HOME环境变量后,IntelliJ切换到了另一个AVD文件夹,且仅通过File -> Invalidate -> Restart无法让IntelliJ识别路径变更,需完全关闭后手动重启
  • 当前AVD文件位于C:\Users\MYNAME\.android\avd,能在IntelliJ中看到设备,但只能从Android Studio启动,调试器无法正常工作,仅能通过cmd或IntelliJ命令行启动应用
  • 点击IntelliJ设备管理器中的加号按钮创建新模拟器无任何反应
日志信息
2023-12-09 13:28:25,672 [50214691] SEVERE - com.android.tools.idea.concurrency.CoroutinesUtils.kt - No value present
java.util.NoSuchElementException: No value present
    at java.base/java.util.Optional.orElseThrow(Optional.java:377)
    at com.android.tools.idea.avdmanager.DeviceDefinitionList.getDefaultDefinition(DeviceDefinitionList.java:163)
    at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:180)
    at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
    at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
    at com.android.tools.idea.avdmanager.DeviceDefinitionList.setDefaultDevices(DeviceDefinitionList.java:151)
    at com.android.tools.idea.avdmanager.DeviceDefinitionList.<init>(DeviceDefinitionList.java:118)
    at com.android.tools.idea.avdmanager.DeviceDefinitionList.<init>(DeviceDefinitionList.java:109)
    at com.android.tools.idea.avdmanager.ChooseDeviceDefinitionPanel.$$$setupUI$$$(ChooseDeviceDefinitionPanel.java)
    at com.android.tools.idea.avdmanager.ChooseDeviceDefinitionPanel.<init>(ChooseDeviceDefinitionPanel.java:41)
    at com.android.tools.idea.avdmanager.ChooseDeviceDefinitionStep.createUIComponents(ChooseDeviceDefinitionStep.java:90)
    at com.android.tools.idea.avdmanager.ChooseDeviceDefinitionStep.$$$setupUI$$$(ChooseDeviceDefinitionStep.java)
    at com.android.tools.idea.avdmanager.ChooseDeviceDefinitionStep.<init>(ChooseDeviceDefinitionStep.java:45)
    at com.android.tools.idea.avdmanager.AvdWizardUtils.createAvdWizard(AvdWizardUtils.java:270)
    at com.android.tools.idea.avdmanager.AvdManagerImpl$createAvd$2.invokeSuspend(LocalEmulatorProvisionerFactory.kt:77)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
    at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
    at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:843)
    at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:463)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:75)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:67)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1430)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:82)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:124)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:44)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:589)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:44)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:848)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
2023-12-09 13:28:25,673 [50214692] SEVERE - com.android.tools.idea.concurrency.CoroutinesUtils.kt - IntelliJ IDEA 2023.3  Build #IU-233.11799.241
2023-12-09 13:28:25,673 [50214692] SEVERE - com.android.tools.idea.concurrency.CoroutinesUtils.kt - JDK: 17.0.9; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o.
2023-12-09 13:28:25,673 [50214692] SEVERE - com.android.tools.idea.concurrency.CoroutinesUtils.kt - OS: Windows 10
2023-12-09 13:28:25,674 [50214693] SEVERE - com.android.tools.idea.concurrency.CoroutinesUtils.kt - Plugin to blame: Android version: 233.11799.264
2023-12-09 13:28:43,077 [50232096]   INFO - #c.i.w.i.i.j.s.JpsGlobalModelSynchronizerImpl - Saving global entities to files
解决方案

1. 统一SDK与AVD路径

  • 打开IntelliJ,进入File -> Project Structure -> SDK Location
  • 将Android SDK location设置为Android Studio使用的SDK路径(默认通常是C:\Users\MYNAME\AppData\Local\Android\Sdk)
  • 确认Android Virtual Device location设置为C:\Users\MYNAME\.android\avd,与Android Studio保持一致
  • 完全关闭IntelliJ后重新启动,确保路径生效

2. 修复系统镜像识别问题

  • 打开IntelliJ的SDK Manager:Tools -> SDK Manager
  • 切换到SDK Platforms标签,找到模拟器对应的Android版本,勾选Google APIs系统镜像并安装(若已安装,先卸载再重新安装)
  • 切换到SDK Tools标签,确保Android Emulator和Android SDK Build-Tools的版本与Android Studio一致,如有需要更新或重新安装

3. 解决创建模拟器无反应的问题(针对日志中的NoSuchElementException)

  • 关闭IntelliJ,删除以下缓存目录:
    • C:\Users\MYNAME\.IntelliJIdea2023.3\system\caches
    • C:\Users\MYNAME\.IntelliJIdea2023.3\system\plugins-sandbox
  • 重新启动IntelliJ,等待插件加载完成后再次尝试创建模拟器
  • 若问题仍存在,进入Settings -> Plugins -> Marketplace,找到Android插件,尝试更新到最新稳定版本或降级至适配2023.3的版本

4. 验证调试器连接

  • 启动模拟器后,在IntelliJ中进入Run -> Edit Configurations,确认调试配置的Target Device选择对应的模拟器
  • 在IntelliJ终端或cmd中执行adb devices,确认模拟器已被识别
  • 若adb无法识别,执行adb kill-server后再执行adb start-server重启adb服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 18:12:03