Android Studio运行项目均触发java.lang.AssertionError错误求助
解决Android Studio全局触发java.lang.AssertionError的问题
根据错误堆栈,该问题由**模拟器工具窗口管理器(EmulatorToolWindowManager)**添加模拟器面板时的断言失败导致。卸载重装AS无效的话,可尝试以下方案:
彻底清理AS缓存与配置文件
关闭AS后,删除对应系统的配置目录:- Windows:
C:\Users\<你的用户名>\.AndroidStudio<版本号>、C:\Users\<你的用户名>\.gradle - macOS:
~/Library/Application Support/Google/AndroidStudio<版本号>、~/.gradle - Linux:
~/.AndroidStudio<版本号>、~/.gradle
重启AS后重新配置SDK与模拟器。
- Windows:
重置模拟器配置
打开AS的Tools > Device Manager,删除所有现有模拟器,重新创建一个基础机型(如Pixel 5)的模拟器,再运行项目测试。切换至AS内置JDK
打开File > Project Structure > SDK Location,在JDK location选择Embedded JDK(AS自带JDK),避免使用系统JDK,应用设置后重启AS。检查系统权限
- Windows:右键以管理员身份运行AS,避免权限不足导致面板创建失败
- macOS:在系统设置的「隐私与安全性」中,给AS授予「屏幕录制」和「辅助功能」权限
禁用第三方插件
打开File > Settings > Plugins,禁用所有非官方插件(如汉化、主题类插件),重启AS后测试。
若以上方案均无效,可尝试下载Android Studio的Canary预览版本,该版本可能已修复稳定版存在的此bug。
错误堆栈信息:
java.lang.AssertionError: Assertion failed at com.android.tools.idea.emulator.EmulatorToolWindowManager.addEmulatorPanel(EmulatorToolWindowManager.kt:297) at com.android.tools.idea.emulator.EmulatorToolWindowManager.access$addEmulatorPanel(EmulatorToolWindowManager.kt:58) at com.android.tools.idea.emulator.EmulatorToolWindowManager$emulatorAdded$1.invoke(EmulatorToolWindowManager.kt:385) at com.android.tools.idea.emulator.EmulatorToolWindowManager$emulatorAdded$1.invoke(EmulatorToolWindowManager.kt:383) at com.android.tools.idea.emulator.EmulatorUtilsKt$sam$java_lang_Runnable$0.run(EmulatorUtils.kt) at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:199) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794) at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:350) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:133) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46) at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:189) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:885) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:754) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:441) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:825) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:440) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:486) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
内容的提问来源于stack exchange,提问作者Youngin
相关产品推荐
相关产品推荐

