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

创建AVD时出现ADV Error及NullPointerException,如何解决?

解决AVD创建时的NullPointerException错误

异常栈信息

java.lang.NullPointerException: Cannot invoke "com.android.sdklib.internal.avd.AvdInfo.getId()" because the return value of "com.android.tools.idea.avdmanager.AvdOptionsModel.getCreatedAvd()" is null
at com.android.tools.idea.devicemanager.virtualtab.BuildVirtualDeviceConfigurationWizardActionListener.actionPerformed(BuildVirtualDeviceConfigurationWizardActionListener.java:51)
at com.intellij.util.ui.StatusText$1.onClick(StatusText.java:91)
at com.intellij.ui.ClickListener$1.mouseReleased(ClickListener.java:59)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6656)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3385)
at com.intellij.ui.table.JBTable.processMouseEvent(JBTable.java:764)
at java.desktop/java.awt.Component.processEvent(Component.java:6421)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5026)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2804)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:790)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:763)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:761)
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:760)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:909)
at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:831)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:753)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$5(IdeEventQueue.java:437)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:436)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:615)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:434)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:480)
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)

可行解决步骤

  • 清理AVD缓存与配置文件
    关闭Android Studio,找到系统中的AVD目录:

    • Windows: C:\Users\<你的用户名>\.android\avd
    • macOS: ~/Library/Android/sdk/.android/avd
    • Linux: ~/.android/avd
      删除该目录下所有文件,重启Android Studio后重新创建AVD。
  • 检查SDK组件完整性
    打开SDK Manager,确保以下组件已正确安装:

    • 对应Android版本的System Image(优先选择x86或x86_64架构,避免arm架构)
    • Android SDK Build-Tools(选择与目标SDK版本匹配的最新稳定版)
    • Android Emulator组件,若版本过旧则更新到最新版
  • 修改AVD创建路径
    创建AVD时,在"Configure"步骤中,将AVD的存储路径改为不含中文、空格或特殊字符的路径,比如D:\Android\AVDs,避免路径解析异常。

  • 重置Android Studio配置
    关闭Android Studio,执行以下操作:

    • Windows: 删除C:\Users\<你的用户名>\.AndroidStudio<版本号>目录
    • macOS: 删除~/Library/Application Support/Google/AndroidStudio<版本号>目录
    • Linux: 删除~/.AndroidStudio<版本号>目录
      重启Android Studio,重新配置SDK和AVD。
  • 使用命令行创建AVD
    绕开图形界面的bug,用命令行创建:

    1. 打开终端/命令提示符,进入SDK的emulator目录(比如~/Library/Android/sdk/emulator)
    2. 执行avdmanager list device查看可用设备模板,记下设备ID(比如pixel_5)
    3. 执行avdmanager create avd -n <自定义AVD名称> -k "system-images;android-<SDK版本号>;google_apis;x86_64" -d <设备ID>
      例如:avdmanager create avd -n MyPixel5 -k "system-images;android-33;google_apis;x86_64" -d pixel_5

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 05:08:11