升级Android Studio至最新版后新建项目触发构建异常及终端启动失败
Android Studio升级后构建报错及终端启动失败解决方案
问题描述
升级Android Studio至最新版本后,创建空Activity项目并尝试构建测试时,出现两个异常:
- IDE内部错误,堆栈信息如下:
java.lang.IllegalArgumentException: Each request requires the same not null build mode to be set at com.android.tools.idea.gradle.project.build.invoker.GradleBuildInvokerImpl.executeAssembleTasks(GradleBuildInvokerImpl.kt:166) at com.android.tools.idea.gradle.project.build.invoker.GradleBuildInvokerImpl.assemble(GradleBuildInvokerImpl.kt:212) at com.android.tools.idea.gradle.project.build.invoker.GradleBuildInvokerImpl.assemble(GradleBuildInvokerImpl.kt:206) at com.android.tools.idea.gradle.actions.MakeGradleProjectAction.doPerform(MakeGradleProjectAction.java:45) at com.android.tools.idea.gradle.actions.AndroidStudioGradleAction.actionPerformed(AndroidStudioGradleAction.java:63) at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.java:315) at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAwareWithCallbacks$4(ActionUtil.java:294) at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:337) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:294) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$performAction$4(ActionMenuItem.java:293) at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:227) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.performAction(ActionMenuItem.java:286) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$new$0(ActionMenuItem.java:67) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$3(ActionMenuItem.java:109) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:109) at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:546) at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:578) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6656) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3385) 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:788) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:737) 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:761) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:759) 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:758) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:918) at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:840) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:763) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:450) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:449) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113) at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:624) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:447) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:493) 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)
- 终端提示:
无法打开本地终端。无法在e:\my_app中启动[powershell.exe]。详见IDE日志获取详情。
已检查Gradle配置无异常,预期AVD显示空白页面但未实现。
解决方案
一、解决IDE内部构建错误
这个错误核心是Gradle构建调用时Build Mode未统一设置,按以下步骤排查:
- 同步并重建项目
- 点击
File→Sync Project with Gradle Files完成同步 - 执行
Build→Clean Project,再执行Build→Rebuild Project
- 点击
- 统一Build Variant配置
打开左侧Build Variants面板,确保所有模块的Build Variant(Debug/Release)保持一致,避免混合配置 - 清除IDE缓存并重启
点击File→Invalidate Caches...,勾选Invalidate and Restart选项,重启IDE后重新构建
二、解决终端无法启动powershell问题
终端启动失败通常和路径或权限有关:
- 验证powershell路径与权限
确认powershell.exe位于默认路径C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe,且Android Studio拥有该路径的访问权限 - 修改终端配置
- 打开
File→Settings→Tools→Terminal - 将Shell path改为
cmd.exe,或指定完整的powershell路径(如C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe) - 重启终端查看是否正常
- 打开
三、额外排查点
如果以上方法无效,尝试:
- 确认项目路径无中文、空格或特殊字符(当前路径
e:\my_app符合要求,但需注意后续项目路径规范) - 检查JDK配置,使用IDE自带JDK:
File→Project Structure→SDK Location,确认JDK路径为IDE默认路径 - 新建空白项目测试,排除当前项目的个性化配置异常
内容的提问来源于stack exchange,提问作者mhm.map
相关产品推荐
相关产品推荐

