Вступление
Я недавно обновлял Android Studio до последней сборки, когда столкнулся с этой ошибкой:
После нажатия кнопки «Выход» я получил эту ошибку:
java.lang.RuntimeException: com.intellij.ide.plugins.PluginManager$StartupAbortedException: Fatal error initializing 'null' at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:158) at com.intellij.idea.MainImpl$1$1$1.run(MainImpl.java:47) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:703) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:696) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:524) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:335) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) Caused by: com.intellij.ide.plugins.PluginManager$StartupAbortedException: Fatal error initializing 'null' at com.intellij.ide.plugins.PluginManager.handleComponentError(PluginManager.java:235) at com.intellij.openapi.application.impl.ApplicationImpl.handleInitComponentError(ApplicationImpl.java:368) at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.loadClasses(ComponentManagerImpl.java:422) at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.loadClasses(ComponentManagerImpl.java:398) at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.access$000(ComponentManagerImpl.java:384) at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponents(ComponentManagerImpl.java:107) at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:89) at com.intellij.openapi.components.impl.stores.ApplicationStoreImpl.load(ApplicationStoreImpl.java:87) at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:525) at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:150) ... 18 more Caused by: java.lang.NoClassDefFoundError: io/netty/channel/EventLoopGroup at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentsRegistry.loadClasses(ComponentManagerImpl.java:408) ... 25 more Caused by: java.lang.ClassNotFoundException: io.netty.channel.EventLoopGroup at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:142) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 28 more
Пролистав список проблем , я увидел, что у другого человека возникла эта проблема, и один из участников проекта предложил просто загрузить сборку и установить ее вручную. Это не сработало для меня, так как мне пришлось выполнить полное удаление / переустановку Android Studio, загрузить API и т. Д. Снова.
Это сразу же заставило меня принять решение переключить мои настройки по умолчанию на что-то более стабильное, например « Dev Channel ».
По умолчанию Android Studio проверяет наличие новых сборок канареек. По моему скромному мнению, этого не должно быть. Я бы предпочел использовать слегка устаревшую версию IDE, которая более стабильна, чем версия, которая не является стабильной.
Какая разница?
- Канарские каналы : Канарские сборки — это самый передовой, выпускаемый примерно еженедельно. Хотя эти сборки проходят тестирование, они по-прежнему подвержены ошибкам, так как мы хотим, чтобы люди увидели, что нового, как можно скорее. Это не рекомендуется для производства.
- Канал Dev : сборки Dev — это отобранные вручную старые канарейки, которые выдержали испытание временем. Он должен обновляться примерно раз в две недели или ежемесячно.
- Бета-канал : пока не используется. Это будет использоваться, когда у нас будут релизы бета-качества. Прямо сейчас Android Studio считается превью-качеством.
- Стабильный канал : пока не используется. Это будет для версии 1.0 и следующих стабильных вех.
Как переключиться?
Нажмите «Ctrl-Alt-S», чтобы перейти к настройкам, или вы можете найти его через меню файлов.
В настройках IDE — выберите «Updates» и переключите « Canary Channel » на « Dev Channel », как показано ниже.
Заворачивать
Моя Android Studio наконец-то запущена и работает, и, надеюсь, это избавит вас от боли.