【问题标题】:Android Studio : IDE shows fatal error when adding a new activity to the existing projectAndroid Studio:向现有项目添加新活动时,IDE 显示致命错误
【发布时间】:2017-09-04 10:08:24
【问题描述】:

工作室版本:2.3.1 Gradle 插件版本:2.3.1 Gradle 版本:3.3 Java 版本:OpenJDK Platform8 版本 8.0.1120.6 操作系统:Windows 10

复制步骤: 1.在android studio中打开https://github.com/udacity/ud851-Exercises/tree/student/Lesson04a-Starting-New-Activities/T04a.01-Exercise-AddNewActivity作为已有项目。

  1. 添加新活动时,有时我会收到 nullpointerexception,但没有任何视觉反应,有时我会收到一个创建新活动向导,单击“完成”按钮后,该向导会冻结并出现 InvalidRefrenceException。

  2. 我曾多次尝试添加新活动,每次尝试后我都得到了 nullPointerException。然而,在最后一次尝试中,向导出现了,但在单击完成按钮后,它冻结了,我得到了 IllegalStateException。

  3. 另外,当我打开 Android SDK manager、SDK Tools 和其他选项卡时,所有版本的 sdk 以及底部的显示详细信息框都无法点击。

这是日志文本:

空 java.lang.NullPointerException 在 com.android.tools.idea.actions.NewAndroidComponentAction.actionPerformed(NewAndroidComponentAction.java:121) 在 com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:197) 在 com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:88) 在 com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:156) 在 com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:211) 在 com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$2(ActionMenuItem.java:304) 在 com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:905) 在 com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:124) 在 com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:284) 在 javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) 在 com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:112) 在 com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:88) 在 com.intellij.openapi.application.TransactionGuardImpl.access 300 美元(TransactionGuardImpl.java:40) 在 com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:113) 在 com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:123) 在 com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:109) 在 com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:112) 在 com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:513) 在 com.intellij.ui.plaf.beg.BegMenuItemUI.access 300 美元(BegMenuItemUI.java:45) 在 com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:533) 在 java.awt.Component.processMouseEvent(Component.java:6533) 在 javax.swing.JComponent.processMouseEvent(JComponent.java:3324) 在 java.awt.Component.processEvent(Component.java:6298) 在 java.awt.Container.processEvent(Container.java:2236) 在 java.awt.Component.dispatchEventImpl(Component.java:4889) 在 java.awt.Container.dispatchEventImpl(Container.java:2294) 在 java.awt.Component.dispatchEvent(Component.java:4711) 在 java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) 在 java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) 在 java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) 在 java.awt.Container.dispatchEventImpl(Container.java:2280) 在 java.awt.Window.dispatchEventImpl(Window.java:2746) 在 java.awt.Component.dispatchEvent(Component.java:4711) 在 java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 在 java.awt.EventQueue.access$500(EventQueue.java:97) 在 java.awt.EventQueue$3.run(EventQueue.java:709) 在 java.awt.EventQueue$3.run(EventQueue.java:703) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) 在 java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) 在 java.awt.EventQueue$4.run(EventQueue.java:731) 在 java.awt.EventQueue$4.run(EventQueue.java:729) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) 在 java.awt.EventQueue.dispatchEvent(EventQueue.java:728) 在 com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:795) 在 com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:627) 在 com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:387) 在 java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 在 java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) 在 java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 在 java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 在 java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

【问题讨论】:

  • 我什至无法访问日志窗口,你怎么会看到异常?
  • 原来android sdk的路径不应该有空格。修复后,此问题也将得到修复。

标签: android-studio-2.3


【解决方案1】:

这也发生在我身上,但仅在从活动列表创建活动时发生。如果您从图库中创建新活动,则不会发生这种情况。 您可以在此处找到图库:File->New->Activity->Galery

https://i.stack.imgur.com/Fm4a3.jpg

【讨论】:

  • 对不起,我是 android studio 的新手。您能否提供从图库中创建新活动的步骤(最好带有屏幕截图)。提前致谢。
  • 感谢@Gabriel 的提示。在谷歌修复错误之前,这是一个很好的解决方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-12
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多