График навигации Android - PullRequest
0 голосов
/ 30 мая 2018

Использование нового навигационного графика в Android Studio canary 3.2.Я столкнулся с проблемой, когда визуализация графика навигации не будет отображаться.На дисплее появляется сообщение «Ожидание завершения сборки ...» Я пытался восстановить, очистить, даже удалить и переустановить Android Studio.Ничто не может исправить это.У кого-нибудь есть удача?(Я получаю следующую ошибку IDE.)

null java.lang.IllegalStateException в com.android.tools.idea.naveditor.scene.decorator.NavSceneDecoratorFactory. (NavSceneDecoratorFactory.kt: 39) на странице.android.tools.idea.naveditor.scene.NavSceneManager.getSceneDecoratorFactory (NavSceneManager.java:510) в com.android.tools.idea.common.scene.SceneComponent. (SceneComponent.java:116) в comandidea.common.scene.SceneManager.createHierarchy (SceneManager.java:164) в com.android.tools.idea.naveditor.scene.NavSceneManager.createHierarchy (NavSceneManager.java:265) в com.android.tools.ideamon.com.scene.SceneManager.update (SceneManager.java:121) в com.android.tools.idea.naveditor.scene.NavSceneManager.requestRender (NavSceneManager.java:340) в com.android.tools.idea.common.surface.DesignSurface.requestRender (DesignSurface.java:1291) на com.android.tools.idea.naveditor.surface.NavDesignSurface.layoutContent (NavDesignSurface.java:227) на com.android.tools.idea.common.surface.DesignSurface.setScale (DesignSurface.java:730) на com.android.tools.idea.common.surface.DesignSurface.setScale (DesignSurface.java:683) на com.android.tools.idea.common.surface.DesignSurface.zoom (DesignSurface.java:571) на com.android.tools.idea.naveditor.surface.NavDesignSurface.zoom (NavDesignSurface.java:402) на com.android.tools.idea.common.surface.DesignSurface.zoom (DesignSurface.java:513) в com.android.tools.idea.common.surface.DesignSurface.zoomToFit (DesignSurface.java:631) в com.android.tools.idea.naveditor.surface.NavDesignSurface.refreshRoot (NavDesignSurface.java:521) в com.android.tools.idea.naveditor.surface.NavDesignSurface.getCurrentNavigation (NavDesignSurface.java:233) в com.android.tools.idea.naveditor.scene.NavSceneManager.getRoot (NavSceneManager.java:roidto at)..idea.common.scene.SceneManager.update (SceneManager.java:115) по адресу com.android.tools.idea.naveditor.scene.NavSceneManager.requestRender (NavSceneManager.java:340) по адресу com.android.tools.idea.common.surface.DesignSurface.requestRender (DesignSurface.java:1291) в com.android.tools.idea.naveditor.surface.NavDesignSurface.layoutContent (NavDesignSurface.java:227) в com.android.tools.idea.common.surface.DesignSurface.addModel (DesignSurface.java:310) на com.android.tools.idea.common.surface.DesignSurface.setModel (DesignSurface.java:368) на com.android.tools.idea.common.editor.NlEditorPanel.initNeleModelOnEitorDatchJava: 162) на com.android.tools.idea.common.editor.NlEditorPanel.lambda $ null $ 4 (NlEditorPanel.java:149) на com.intellij.openapi.project.DumbServiceImpl.lambda $ smartInvokeLater $ 7 (DumbSjerjava $:430) на com.intellij.openapi.application.TransactionGuardImpl $ 2.run (TransactionGuardImpl.java:315) на com.intellij.openapi.application.impl.LaterInvocator $ FlushQueue.doRun (LaterInvocator.java:447) на com.intellopenapi.application.impl.LaterInvocator $ FlushQueue.runNextEvent (LaterInvocator.java:431) в com.intellij.openapi.application.impl.LaterInvocator $ FlushQueue.run (LaterInvocator.java:415) в java.awt.event.InvocationEvent.dispatch (InvocationEvent.java:311) в java.awt.EventQueue.dispatchEventImpl (EventQueue.java:762) в java.awue.cessQuvent$ 500 (EventQueue.java:98) в java.awt.EventQueue $ 3.run (EventQueue.java:715) в java.awt.EventQueue $ 3.run (EventQueue.java:709) в java.security.AccessController.doPrivileged (Native)Метод)по адресу java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:80) по адресу java.awt.EventQueue.dispatchEvent (EventQueue.java:732) по адресу com.intellij.ide.IdeEventQueue.defue.jue (eJD)com.intellij.ide.IdeEventQueue..awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:93) в java.awt.EventDispatchThread.run (EventDispatchThread.java:82)

1 Ответ

0 голосов
/ 05 июня 2018

Случайно наткнулся на решение.

  1. Прежде всего удалите зависимости gradle навигационного контроллера, а также все его использования в коде.
  2. Удалите папку навигации в ресурсах.
  3. Убедитесь, чтоgradle sync успешен.
  4. Перезапустите Android Studio.
  5. Щелкните правой кнопкой мыши по папке res, создайте новый ресурс.Назовите его nav_graph, выберите тип ресурса - навигация.AS предлагает загрузить необходимые зависимости, нажмите yes.
  6. Наслаждайтесь навигационным контроллером.

Обратите внимание, что эта последовательность работала для меня не с первого раза, повторите попытку, если она все еще не работает.

Редактировать: после добавления других зависимостей контроллера навигации (пользовательский интерфейс и тестирование навигации) и перезапуска AS, произошла та же ошибка.После небольшого эксперимента я нашел виновника - это зависимость androidTestImplementation "android.arch.navigation: navigation-testing-ktx: $ navigationVersion".Только не используйте его и не комментируйте перед выходом из AS, раскомментируйте после запуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...