Не удается открыть диалоговое окно структуры проекта в Android Studio 4.1

#android #android-studio #kotlin

#Android #android-studio #kotlin

Вопрос:

Когда я пытаюсь открыть диалоговое окно структуры проекта в Android Studio (я использую 4.1 на macOS), я запускаю процесс под названием «Выборка моделей сборки», но ничего не происходит. Любая последовательная попытка приводит к одному дополнительному процессу «Выборки моделей сборки» (т. Е. Я получаю «запущено 2 процесса …», Затем «запущено 3 процесса …» И т. Д.) — По-прежнему ничего не происходит, и, в частности, диалоговое окно структуры проекта не отображается. В углу появляется небольшой значок ошибки: в первый раз с помощью a NoClassDefFoundError и более поздних вызовов со NullPointerExceptoin ссылкой на «невозможно сбросить настройки».

Полная информация о первой ошибке:

 java.lang.NoClassDefFoundError: org/jetbrains/kotlin/resolve/constants/evaluate/ParseUtilsKt
    at com.android.tools.idea.gradle.dsl.parser.kotlin.KotlinDslParser.extractValue(KotlinDslParser.kt:155)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslLiteral.lambda$produceValue$0(GradleDslLiteral.java:58)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:880)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslLiteral.produceValue(GradleDslLiteral.java:58)
    at com.android.tools.idea.gradle.dsl.model.CachedValue.updateValue(CachedValue.java:68)
    at com.android.tools.idea.gradle.dsl.model.CachedValue.getValue(CachedValue.java:53)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslSimpleExpression.getValue(GradleDslSimpleExpression.java:119)
    at com.android.tools.idea.gradle.dsl.model.ext.GradlePropertyModelImpl.extractAndGetValueType(GradlePropertyModelImpl.java:526)
    at com.android.tools.idea.gradle.dsl.model.ext.GradlePropertyModelImpl.getValueType(GradlePropertyModelImpl.java:100)
    at com.android.tools.idea.gradle.dsl.model.ext.PropertyUtil.resolveModel(PropertyUtil.java:140)
    at com.android.tools.idea.gradle.dsl.model.ext.ResolvedPropertyModelImpl.resolveModel(ResolvedPropertyModelImpl.java:258)
    at com.android.tools.idea.gradle.dsl.model.ext.ResolvedPropertyModelImpl.getValueType(ResolvedPropertyModelImpl.java:50)
    at com.android.tools.idea.gradle.structure.model.meta.PropertyModelUtilsKt.asInt(PropertyModelUtils.kt:50)
    at com.android.tools.idea.gradle.structure.model.android.PsAndroidModuleDefaultConfigDescriptors$versionCode$4.invoke(PsAndroidModuleDefaultConfigDescriptors.kt:186)
    at com.android.tools.idea.gradle.structure.model.android.PsAndroidModuleDefaultConfigDescriptors$versionCode$4.invoke(PsAndroidModuleDefaultConfigDescriptors.kt:50)
    at com.android.tools.idea.gradle.structure.model.meta.PropertyModelUtilsKt.getParsedValue(PropertyModelUtils.kt:126)
    at com.android.tools.idea.gradle.structure.model.meta.ModelPropertyCoreImpl.getParsedValue(ModelSimplePropertyImpl.kt:200)
    at com.android.tools.idea.gradle.structure.model.meta.ModelPropertyKt.getValue(ModelProperty.kt:74)
    at com.android.tools.idea.gradle.structure.configurables.ui.properties.SimplePropertyEditor.reload(SimplePropertyEditor.kt:330)
    at com.android.tools.idea.gradle.structure.configurables.ui.properties.SimplePropertyEditor.<init>(SimplePropertyEditor.kt:348)
    at com.android.tools.idea.gradle.structure.configurables.ui.properties.SimplePropertyEditorKt.simplePropertyEditor(SimplePropertyEditor.kt:361)
    at com.android.tools.idea.gradle.structure.configurables.ui.PropertiesUiModelKt.simplePropertyEditor(PropertiesUiModel.kt:144)
    at com.android.tools.idea.gradle.structure.configurables.android.modules.AndroidModuleRootConfigurableKt$defaultConfigPropertiesModel$3.invoke(AndroidModuleRootConfigurable.kt:90)
    at com.android.tools.idea.gradle.structure.configurables.android.modules.AndroidModuleRootConfigurableKt$defaultConfigPropertiesModel$3.invoke(AndroidModuleRootConfigurable.kt)
    at com.android.tools.idea.gradle.structure.configurables.ui.PropertyUiModelImpl.createEditor(PropertiesUiModel.kt:116)
    at com.android.tools.idea.gradle.structure.configurables.ui.PropertyUiModel$DefaultImpls.createEditor$default(PropertiesUiModel.kt:65)
    at com.android.tools.idea.gradle.structure.configurables.ui.properties.ConfigPanel.initializeEditors(ConfigPanel.kt:65)
    at com.android.tools.idea.gradle.structure.configurables.ui.properties.ConfigPanel.getComponent(ConfigPanel.kt:56)
    at com.android.tools.idea.gradle.structure.configurables.ui.AbstractTabbedMainPanel.ensureSelectedTabComponentInstantiated(AbstractTabbedMainPanel.kt:70)
    at com.android.tools.idea.gradle.structure.configurables.ui.AbstractTabbedMainPanel.addNotify(AbstractTabbedMainPanel.kt:77)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at com.intellij.ui.JBSplitter.addNotify(JBSplitter.java:111)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at com.intellij.openapi.ui.MasterDetailsComponent$3.addNotify(MasterDetailsComponent.java:128)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at com.intellij.ui.JBSplitter.addNotify(JBSplitter.java:111)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at java.awt.Container.addNotify(Container.java:2776)
    at javax.swing.JComponent.addNotify(JComponent.java:4741)
    at javax.swing.JRootPane.addNotify(JRootPane.java:757)
    at java.awt.Container.addNotify(Container.java:2776)
    at java.awt.Window.addNotify(Window.java:770)
    at java.awt.Dialog.addNotify(Dialog.java:753)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.addNotify(DialogWrapperPeerImpl.java:638)
    at java.awt.Window.pack(Window.java:807)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:649)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:437)
    at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1685)
    at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1644)
    at com.intellij.openapi.ui.DialogWrapper.showAndGet(DialogWrapper.java:1658)
    at com.android.tools.idea.structure.dialog.ProjectStructureConfigurable.showDialog(ProjectStructureConfigurable.kt:336)
    at com.android.tools.idea.structure.dialog.ProjectStructureConfigurable.showPlace(ProjectStructureConfigurable.kt:277)
    at com.android.tools.idea.structure.dialog.ProjectStructureConfigurable.show(ProjectStructureConfigurable.kt:293)
    at com.android.tools.idea.gradle.structure.actions.AndroidShowStructureSettingsAction.showAndroidProjectStructure(AndroidShowStructureSettingsAction.java:67)
    at com.android.tools.idea.gradle.structure.actions.AndroidShowStructureSettingsAction.actionPerformed(AndroidShowStructureSettingsAction.java:59)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:280)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:609)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$processAction$3(IdeKeyEventDispatcher.java:670)
    at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:669)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:619)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.java:516)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:470)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:219)
    at com.intellij.ide.IdeEventQueue.lambda$new$5(IdeEventQueue.java:233)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:805)
    at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:40)
    at java.awt.Component.dispatchEventImpl(Component.java:4770)
    at java.awt.Container.dispatchEventImpl(Container.java:2297)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4721)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766)
    at java.awt.EventQueue.access$500(EventQueue.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:715)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:739)
    at java.awt.EventQueue$4.run(EventQueue.java:737)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:736)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:974)
    at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:900)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:841)
    at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:741)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ClassNotFoundException: org.jetbrains.kotlin.resolve.constants.evaluate.ParseUtilsKt PluginClassLoader[org.jetbrains.android, 201.8743.12.41.6858069] com.intellij.ide.plugins.cl.PluginClassLoader@7bf47206
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:115)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
    ... 133 more
  

Полная информация о последующих ошибках:

 cannot reset configurable

java.lang.NullPointerException
    at com.intellij.openapi.ui.MasterDetailsComponent.clearChildren(MasterDetailsComponent.java:428)
    at com.intellij.openapi.ui.MasterDetailsComponent.disposeUIResources(MasterDetailsComponent.java:417)
    at com.android.tools.idea.gradle.structure.configurables.BasePerspectiveConfigurable.reset(BasePerspectiveConfigurable.kt:213)
    at com.android.tools.idea.structure.dialog.ProjectStructureConfigurable.reset(ProjectStructureConfigurable.kt:399)
    at com.intellij.openapi.options.ex.ConfigurableCardPanel.reset(ConfigurableCardPanel.java:166)
    at com.intellij.openapi.options.ex.ConfigurableCardPanel.lambda$createConfigurableComponent$4(ConfigurableCardPanel.java:118)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894)
    at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61)
    at com.intellij.openapi.options.ex.ConfigurableCardPanel.createConfigurableComponent(ConfigurableCardPanel.java:105)
    at com.intellij.openapi.options.ex.ConfigurableCardPanel.lambda$create$0(ConfigurableCardPanel.java:54)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894)
    at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61)
    at com.intellij.openapi.options.ex.ConfigurableCardPanel.create(ConfigurableCardPanel.java:53)
    at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:51)
    at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:48)
    at com.intellij.ui.CardLayoutPanel.createValue(CardLayoutPanel.java:73)
    at com.intellij.ui.CardLayoutPanel.select(CardLayoutPanel.java:101)
    at com.intellij.ui.CardLayoutPanel.select(CardLayoutPanel.java:86)
    at com.intellij.openapi.options.newEditor.ConfigurableEditor.init(ConfigurableEditor.java:100)
    at com.intellij.openapi.options.newEditor.SingleSettingEditor.<init>(SingleSettingEditor.java:29)
    at com.intellij.openapi.options.newEditor.SettingsDialog.<init>(SettingsDialog.java:43)
    at com.android.tools.idea.structure.dialog.ProjectStructureConfigurable$showDialog$dialog$1.<init>(ProjectStructureConfigurable.kt:296)
    at com.android.tools.idea.structure.dialog.ProjectStructureConfigurable.showDialog(ProjectStructureConfigurable.kt:296)
    at com.android.tools.idea.structure.dialog.ProjectStructureConfigurable.showPlace(ProjectStructureConfigurable.kt:277)
    at com.android.tools.idea.structure.dialog.ProjectStructureConfigurable.show(ProjectStructureConfigurable.kt:293)
    at com.android.tools.idea.gradle.structure.actions.AndroidShowStructureSettingsAction.showAndroidProjectStructure(AndroidShowStructureSettingsAction.java:67)
    at com.android.tools.idea.gradle.structure.actions.AndroidShowStructureSettingsAction.actionPerformed(AndroidShowStructureSettingsAction.java:59)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:280)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:609)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$processAction$3(IdeKeyEventDispatcher.java:670)
    at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:669)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:619)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.java:516)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:470)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:219)
    at com.intellij.ide.IdeEventQueue.lambda$new$5(IdeEventQueue.java:233)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:805)
    at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:40)
    at java.awt.Component.dispatchEventImpl(Component.java:4770)
    at java.awt.Container.dispatchEventImpl(Container.java:2297)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4721)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766)
    at java.awt.EventQueue.access$500(EventQueue.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:715)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:739)
    at java.awt.EventQueue$4.run(EventQueue.java:737)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:736)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:974)
    at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:900)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:841)
    at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:741)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
  

Примечание: это происходит со мной в одном конкретном проекте Android; в другом проекте, над которым я работаю с той же версией Android Studio на том же компьютере, я могу без проблем открыть диалоговое окно структуры проекта, но я понятия не имею, что вызывает эту разницу.

Есть идеи, почему это происходит и как это исправить?

Ответ №1:

На случай, если кто-то еще столкнется с подобной проблемой и наткнется на это, к настоящему времени мне удалось решить проблему двумя разными способами, но обратите внимание, что тем временем я также обновил Android Studio до версии 4.1.1, но не пытался просто открыть проект таким, каким он был, поэтому я не могускажите, это ли обновление решило проблему, или действительно ли было необходимо применить одну из следующих альтернатив:

  • Один из вариантов: удалите свой .idea каталог и импортируйте проект в Android Studio заново (в моем случае я сделал это, клонировав репозиторий Git, где, за исключением двух файлов gradle.xml и codeStyles/Project.xml .idea каталога, Git игнорируется).

  • Другой вариант: откройте проект, указав Android Studio импортировать его, а не открывать (я не уверен, какое это имеет значение, если вообще имеет значение, но — по крайней мере, в сочетании с обновлением до 4.1.1 — это решило проблему).

Я до сих пор понятия не имею, что вызвало проблему в первую очередь, и что бы это ни было, это, очевидно, ошибка в Android Studio (по крайней мере, в версии 4.1.0), но, по крайней мере, теперь я могу снова редактировать свою «структуру проекта» через диалоговое окно. (Кстати, я был бы гораздо счастлив выполнить всю настройку непосредственно в скрипте конфигурации сборки Gradle, но, похоже, гораздо проще найти объяснения того, как делать что-то в диалоговом окне структуры проекта, чем как это сделать в Gradle… Но это еще одна проблема.)

Комментарии:

1. Это не отвечает на вопрос, почему это происходит, но предлагает исправления. Я приму это, поскольку никаких других ответов опубликовано не было.