没有导航编辑器 - Android Studio Canary 15 和 16

No Navigation Editor - Android Studio Canary 15 and 16

我正在为此绞尽脑汁。我正在尝试重构我的应用程序以使用 Android Studio Canary 15 中的新导航架构组件,创建 xml 文件时我得到的只是以下消息,编辑器从未出现;

我已经卸载并重新安装了 Android Studio 和 Android Studio Canary 15(位于 C:\Program Files\Android\Android Studio 和 C:\在 C:\Users\[用户名]\.AndroidStudio 文件夹中编程 Files\Android\Android Studio Canary 和所有相关组件。

知道为什么这不起作用吗?

编辑:好的,现在有一条错误消息,当我禁用 Android 支持 插件时,我收到更多错误消息告诉我重新启用插件!

编辑 2:我更新到 Canary 16,问题仍然存在。

26/05/2018
18:22   Plugin Error
            Problems found loading plugins:
            Plugin "Android Games" was not loaded: required plugin "Android Support" is disabled.
            Plugin "Android NDK Support" was not loaded: required plugin "Android Support" is disabled.
            Plugin "Android APK Support" was not loaded: required plugin "Android Support" is disabled.
            Plugin "Google Developers Samples" was not loaded: required plugin "Android Support" is disabled.
            Plugin "Google Cloud Tools For Android Studio" was not loaded: required plugin "Android Support" is disabled.
            Plugin "Test Recorder" was not loaded: required plugin "Android Support" is disabled.
            Plugin "Firebase Testing" was not loaded: required plugin "Android Support" is disabled.
            Plugin "Google Services" was not loaded: required plugin "Android Support" is disabled.
            Plugin "Firebase Services" was not loaded: required plugin "Android Support" is disabled.
            Plugin "App Links Assistant" was not loaded: required plugin "Android Support" is disabled.
            Plugin "Fire... (show balloon)

18:23   Error Loading Project: Cannot load 3 facets Details...

18:23   Plugins Suggestion
            Plugin supporting features (Run Configuration[Android App], Facet[android, android-gradle]) is currently disabled.
            Enable plugins...
            Ignore Unknown Features
null
java.lang.IllegalStateException
    at com.android.tools.idea.naveditor.scene.decorator.NavSceneDecoratorFactory.<init>(NavSceneDecoratorFactory.kt:39)
    at com.android.tools.idea.naveditor.scene.NavSceneManager.getSceneDecoratorFactory(NavSceneManager.java:510)
    at com.android.tools.idea.common.scene.SceneComponent.<init>(SceneComponent.java:116)
    at com.android.tools.idea.common.scene.SceneManager.createHierarchy(SceneManager.java:164)
    at com.android.tools.idea.naveditor.scene.NavSceneManager.createHierarchy(NavSceneManager.java:265)
    at com.android.tools.idea.common.scene.SceneManager.update(SceneManager.java:121)
    at com.android.tools.idea.naveditor.scene.NavSceneManager.requestRender(NavSceneManager.java:340)
    at com.android.tools.idea.common.surface.DesignSurface.requestRender(DesignSurface.java:1291)
    at com.android.tools.idea.naveditor.surface.NavDesignSurface.layoutContent(NavDesignSurface.java:227)
    at com.android.tools.idea.common.surface.DesignSurface.setScale(DesignSurface.java:730)
    at com.android.tools.idea.common.surface.DesignSurface.setScale(DesignSurface.java:683)
    at com.android.tools.idea.common.surface.DesignSurface.zoom(DesignSurface.java:571)
    at com.android.tools.idea.naveditor.surface.NavDesignSurface.zoom(NavDesignSurface.java:402)
    at com.android.tools.idea.common.surface.DesignSurface.zoom(DesignSurface.java:513)
    at com.android.tools.idea.common.surface.DesignSurface.zoomToFit(DesignSurface.java:631)
    at com.android.tools.idea.naveditor.surface.NavDesignSurface.refreshRoot(NavDesignSurface.java:521)
    at com.android.tools.idea.naveditor.surface.NavDesignSurface.getCurrentNavigation(NavDesignSurface.java:233)
    at com.android.tools.idea.naveditor.scene.NavSceneManager.getRoot(NavSceneManager.java:241)
    at com.android.tools.idea.common.scene.SceneManager.update(SceneManager.java:115)
    at com.android.tools.idea.naveditor.scene.NavSceneManager.requestRender(NavSceneManager.java:340)
    at com.android.tools.idea.common.surface.DesignSurface.requestRender(DesignSurface.java:1291)
    at com.android.tools.idea.naveditor.surface.NavDesignSurface.layoutContent(NavDesignSurface.java:227)
    at com.android.tools.idea.common.surface.DesignSurface.addModel(DesignSurface.java:310)
    at com.android.tools.idea.common.surface.DesignSurface.setModel(DesignSurface.java:368)
    at com.android.tools.idea.common.editor.NlEditorPanel.initNeleModelOnEventDispatchThread(NlEditorPanel.java:162)
    at com.android.tools.idea.common.editor.NlEditorPanel.lambda$null(NlEditorPanel.java:149)
    at com.intellij.openapi.project.DumbServiceImpl.lambda$smartInvokeLater(DumbServiceImpl.java:430)
    at com.intellij.openapi.application.TransactionGuardImpl.run(TransactionGuardImpl.java:315)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:447)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:431)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:415)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
    at java.awt.EventQueue.access0(EventQueue.java:98)
    at java.awt.EventQueue.run(EventQueue.java:715)
    at java.awt.EventQueue.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:779)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:720)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:395)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    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)

编辑 3:我的导航图 'main_graph.xml' 在下方;

<?xml version="1.0" encoding="utf-8"?>

<navigation xmlns:android="http://schemas.android.com/apk/res/android">
</navigation>

转到 IDE 设置,然后禁用和启用 Android 支持如下所示的插件:

  • Windows(和Linux):转到文件--->设置--->插件--- > 启用Android支持

  • Mac: Android Studio---> 首选项---> 插件---> 启用 Android支持

您有测试助手依赖,尝试移除它。它和导航编辑器有问题

androidTestImplementation "android.arch.navigation:navigation-testing:$nav_version"

然后点击重启并清理缓存。

发帖,因为我无法添加评论(声誉)。 @Levi Moreira 这对我来说是一个很好的起点,但我不得不删除一些额外的文件。 在我的例子中是:

-.idea/cashes - 项目中的文件夹

-libraries/ - 所有导航库

并启动 Android Studio。