升级Android Studio后,Flutter无法打开Android模块进行编辑
问题描述
将Android Studio升级至Hedgehog版本(2023.1.1)后,点击Flutter菜单下的“Open for Editing in Android Studio”选项打开项目时,弹出IDE错误,无法正常打开模块以生成签名App Bundle。卸载重装Giraffe版本后问题依旧,此前使用Tiramisu版本功能正常,新建Flutter项目也存在相同问题。
错误核心提示:
java.lang.IllegalStateException: configureNewProject should be used with new projects only
完整错误栈:
java.lang.IllegalStateException: configureNewProject should be used with new projects only at com.android.tools.idea.gradle.project.importing.GradleProjectImporter$Companion.configureNewProject(GradleProjectImporter.kt:203) at com.android.tools.idea.gradle.project.importing.GradleProjectImporter$importAndOpenProjectCore$1$1$1.invokeSuspend(GradleProjectImporter.kt:98) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at com.intellij.openapi.application.impl.DispatchedRunnable.run(DispatchedRunnable.kt:35) at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209) at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21) at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:829) at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:454) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:79) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:122) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:41) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:789) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:740) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:734) 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:759) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:667) at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$7(IdeEventQueue.kt:571) at com.intellij.openapi.application.impl.ApplicationImpl.withoutImplicitRead(ApplicationImpl.java:1444) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:571) at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343) at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:995) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113) at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:995) at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:829) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385) at com.intellij.openapi.progress.impl.PlatformTaskSupportKt.pumpEventsForHierarchy(PlatformTaskSupport.kt:341) at com.intellij.openapi.progress.impl.PlatformTaskSupportKt.access$pumpEventsForHierarchy(PlatformTaskSupport.kt:1) at com.intellij.openapi.progress.impl.PlatformTaskSupport$runBlockingModalInternal$2$1.invoke(PlatformTaskSupport.kt:139) at com.intellij.openapi.progress.impl.PlatformTaskSupport$runBlockingModalInternal$2$1.invoke(PlatformTaskSupport.kt:121) at com.intellij.openapi.application.impl.ModalityKt.inModalContext(modality.kt:36) at com.intellij.openapi.progress.impl.PlatformTaskSupport.runBlockingModalInternal(PlatformTaskSupport.kt:121) at com.intellij.openapi.progress.impl.PlatformTaskSupport.access$runBlockingModalInternal(PlatformTaskSupport.kt:41) at com.intellij.openapi.progress.impl.PlatformTaskSupport$runBlockingModalInternal$1.invoke(PlatformTaskSupport.kt:113) at com.intellij.openapi.progress.impl.PlatformTaskSupport$runBlockingModalInternal$1.invoke(PlatformTaskSupport.kt:110) at com.intellij.openapi.progress.CancellationKt$ensureCurrentJob$1.invoke(cancellation.kt:68) at com.intellij.openapi.progress.CancellationKt.withCurrentJob$lambda$0(cancellation.kt:17) at com.intellij.openapi.progress.Cancellation.withCurrentJob(Cancellation.java:60) at com.intellij.openapi.progress.CancellationKt.withCurrentJob(cancellation.kt:17) at com.intellij.openapi.progress.CancellationKt.executeWithJobAndCompleteIt(cancellation.kt:126) at com.intellij.openapi.progress.CancellationKt.ensureCurrentJob(cancellation.kt:67) at com.intellij.openapi.progress.CancellationKt.ensureCurrentJobAllowingOrphan(cancellation.kt:51) at com.intellij.openapi.progress.impl.PlatformTaskSupport.runBlockingModalInternal(PlatformTaskSupport.kt:110) at com.intellij.openapi.progress.TasksKt.runBlockingModalWithRawProgressReporter(tasks.kt:263) at com.intellij.ide.impl.ProjectUtilKt.runBlockingUnderModalProgress(ProjectUtil.kt:731) at com.intellij.ide.impl.ProjectUtilKt.runBlockingUnderModalProgress$default(ProjectUtil.kt:726) at com.intellij.ide.impl.ProjectUtilKt.runUnderModalProgressIfIsEdt(ProjectUtil.kt:718) at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.kt:523) at com.android.tools.idea.gradle.project.importing.GradleProjectImporter.importAndOpenProjectCore(GradleProjectImporter.kt:89) at io.flutter.actions.OpenAndroidModule.openOrImportProject(OpenAndroidModule.java:64) at io.flutter.actions.OpenAndroidModule.actionPerformed(OpenAndroidModule.java:52) at io.flutter.actions.OpenInAndroidStudioAction.actionPerformed(OpenInAndroidStudioAction.java:60) at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.java:333) at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAwareWithCallbacks$4(ActionUtil.java:307) at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:356) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:307) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$performAction$5(ActionMenuItem.java:299) at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:225) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.performAction(ActionMenuItem.java:292) 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$4(ActionMenuItem.java:114) 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:114) at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:526) at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:558) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6657) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3385) at java.desktop/java.awt.Component.processEvent(Component.java:6422) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4855) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4954) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4581) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4522) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2808) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4855) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:791) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:740) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:734) 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:764) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:762) 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:667) at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:615) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570) at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348) at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343) at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:995) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113) at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:995) at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:829) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385) 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)
解决方案
- 手动打开Android模块:直接定位到Flutter项目中的
android文件夹,用Android Studio打开该文件夹,可直接进行签名App Bundle的操作,绕过Flutter菜单的触发逻辑。 - 更新Flutter插件与SDK:
- 打开Android Studio的
Settings > Plugins,找到Flutter插件,检查并更新至最新版本; - 在终端执行
flutter upgrade命令,将Flutter SDK升级到最新稳定版,新版本通常会修复与Android Studio的兼容性问题。
- 打开Android Studio的
- 清理Android Studio缓存:
- 关闭Android Studio;
- 删除对应系统的缓存目录:
- Windows:
C:\Users\<你的用户名>\.AndroidStudio<版本号>\system\caches - macOS:
~/Library/Caches/Google/AndroidStudio<版本号> - Linux:
~/.cache/Google/AndroidStudio<版本号>
- Windows:
- 重启Android Studio后重新导入项目。
- 回退到兼容版本:若上述方法无效,暂时回退到Tiramisu(2022.3.1)版本,该版本与Flutter的此功能兼容性正常,待后续Flutter插件适配完成后再升级Android Studio。
内容的提问来源于stack exchange,提问作者knobi
相关产品推荐
相关产品推荐

