Think Twice About Updating to the Latest Android Studio Canary Build
Introduction
I was recently updating Android Studio to the latest build when I hit this error:
After hitting the “Exit” button, I got this error:
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
After digging through the issue list, I saw another person had this problem and a project member suggested that he just download the build and install it manually. This did not work for me as I had to do a complete uninstall/reinstall of Android Studio and download APIs, etc. again.
This immediately made me decide to switch my default settings to something more stable like the “Dev Channel”.
By default Android Studio checks for new canary builds. In my humble opinion, it should not. I’d rather use a slightly outdated version of the IDE that is more stable, then one that is not.
What’s the difference?
- Canary channel: Canary builds are the bleeding edge, released about weekly. While these builds do get tested, they are still subject to bugs, as we want people to see what's new as soon as possible. This is not recommended for production.
- Dev channel: Dev builds are hand-picked older canary builds that survived the test of time. It should be updated roughly bi-weekly or monthly.
- Beta channel: Not used yet. This will be used when we'll have beta-quality releases. Right now Android Studio is considered preview-quality.
- Stable channel: Not used yet. That will be for version 1.0 and following stable milestones.
How to Switch?
Press “Ctrl-Alt-S” to go to settings or you can find it through the file menu.
Under IDE Settings - Select Updates and switch “Canary Channel” to “Dev Channel” as shown below.
Wrap-Up
My Android Studio is finally back up and running and hopefully this saves you some pain.
TweetFollow mbcrumpNo new comments are allowed on this post.
Comments
No comments yet. Be the first!