Benefits of switching from Eclipse to IntelliJ IDEA for Android development

AndroidEclipseIntellij Idea

Android Problem Overview


I have been using Eclipse for Android development and don't have a problem with it (I also use it for Web Service and C++ development under Linux) but I want to give IntelliJ IDEA a go as it appears to have favourable reviews. This is easily possibly now that IDEA 10 has been released with Android support enabled in the Community Edition.

I have looked at IDEA and it looks pretty good to me with the only downside being the lack of UI on .xml file editing (AndroidManifest.xml for example) and the user interface builder provided with ADT 9.0.

Has anyone got experience they can share on IntelliJ IDEA and Android development?

EDIT: Thanks all; I'm sticking with Eclipse as I know it pretty well and it allows me to do pretty much anything (Java-related) I like for free. I shouldn't look a gift horse in the mouth!

Android Solutions


Solution 1 - Android

The only benefit for me: You code as fast as formula 1 :). Really. If you're used to Resharper in .NET programming, then you will code as fast as in .NET. Even faster.

Bad thing: lack of some Eclipse's tools (browse my questions for details) and it seems that Eclipse's compiler--which you can use from IntelliJ as well--is better. Because of the lack of some tools you are forced to use many 3rd party tools.

The bottom line is: if you don't have problems with Eclipse, then stick to it. I hated Eclipse's slowness and that's why I moved to IntelliJ.

EDIT 23 Jan 2013

IntelliJ has improved a lot. They now have UI visual editor, a great connection to Android SDK and at this moment I can't really think of any feature which Eclipse has and IDEA does not have. What's better, I will say again that IDEA has more features than Eclipse.

EDIT 11 Mar 2014

Again IntelliJ improved. With its visual UI editor for XML layouts and itself being used as the base for Google's Android Studio, its still the best IDE around.

The only flaws for Android developer are IMHO:

  • it still does not perfectly import dependencies (libraries) so you have to fix things manually

  • it does not perfectly recognizes other projects (modules) which sometimes you have to add those modules manually

  • a support for Google Glass does not exist

All this is referring to when importing projects made in Eclipse, which happens very often to anyone working on multiple Android projects.

Solution 2 - Android

I have used both, they aren't that different. A lot of it is just what you are used to. Personally, if you aren't having any problems with Eclipse, I would not suggest switching. There are no advantages that are worth the learning curve.

Solution 3 - Android

I switched to IDEA for my android development.

  • Intellisense actually works
  • IDEA is much faster
  • The refactoring is nicely done, and the "inspections" catch a lot of places where refactoring would make sense

Things I miss:

  • The new Layout viewer from Android 3.0. I always modify the layout xml, but it's nice to be able to switch over and get an idea of what it will look like without running the app. I do load up eclipse for this reason when I do heavy layout editing.
  • Hover documentation. In intelliJ, you have to press ctrl+Q to get the javaDoc of an existing method call (vs intellisense popping up as you code).

Solution 4 - Android

I know eclipse is free, but come on, I don’t know how people actually use it to build software. I like open source as much as the next guy, I just like “high quality open source” which may be an oxymoron.

I want to get work done and not fight the tool no matter how free it is.

After 2 years of Android Development on Eclipse I finally give up. I hate it because:
1. Eclipse is slow.
2. Search and autocomplete is poor.
3. Require big among of memory.
4. Crashing and hanging constantly.
5. Correct or incorrect way of closing Eclipse may cause workspace and settings crash.

> Eclipse: reminding me every time I use why I normally don't use it. - > Romain Guy

You can check some of interesting IntelliJ IDEA features here

enter image description here

Solution 5 - Android

Google has introduced new intellij-based IDE for android development (if you dont want to pay for intellij), you can find more info here http://developer.android.com/sdk/installing/studio.html

Solution 6 - Android

I am interested in this question too. For me, eclipse starts to be slow as more plugins installed: CDT, aptana, pydev, ADT....

IDEA seems like a light-weighted and interesting alternative. For the lacking of layout xml editing, you may do it with http://www.droiddraw.org/, or its desktop version. Pretty amazingly easy after reading the droiddraw tutorials.

I haven't got enough experience with IDEA, so cannot help a lot. Hope more people cast light on this issue.

Thanks, Frank

Solution 7 - Android

I think Eclipse has all the features that an IDE should have these days. But from my point of view it does everything on the wrong way (I am a Visual Studio fan).

After I tried IDEA, I had to realize that it can be customized to act nearly the same as VS, so it IS a very good IDE.

And the version 12 has UI editor for Android.

I can say that try to compare their IntelliSense (or whatever you call it), the debugger (including watches) and the editor. Much more better, smarter, faster for a daily use.

IDEA ultimate is not free, but if you would like to make money with programming I think you can make it easier with professional tools.

I would never pay for Eclipse.

Solution 8 - Android

As a new IDEA user I found the IDE to be somewhat overwhelming at first. The IDE contains more options than I thought possible and can bring into question - "Just how many checkboxes can you fit on a screen". Once the shock passed and I was able to complete a small project, I'm in love. Sorry Eclipse, but you were kind of flakey and would have unpredictable behavior. IDEA is rock solid.

As a programmer I want rock solid tools and sometimes the phrase "you get what you pay for" is valid.

Solution 9 - Android

Google's Android Studio is built on top of IDEA, assuming that it will be the "Official" developer tool when it reaches 1.0, it might be worth getting up to speed by learning IDEA. It also has a "dark" theme built in so you don't have to mess around with Eclipse plugins.

Solution 10 - Android

Quick comparison

between eclipse 4.3.2 and intellij 13.0.2:

I will refer to intellij idea as I as an abbreviation below (e.g. I12 means intellij idea version 12)

Both are fine . Pro Intellij are:

  • Faster compiler mode:(introduced in I12) exactly as with eclipse, now Intellij compiles everything continuously in the background and shows you files that doesn't compile with red zigzag. Exactly as Eclipse but less heavier and more responsive .

  • Android UI editor: (introduced in I11) even better than the one in eclipse ADT plugin: it shows more properties as android:layout_span ,i.e. Advanced properties that are hidden in Eclipse UI editor forcing you to edit them from Layout XML , can be easily editted from Intellij UI editor. Also while Eclipse UI editor hangs when selecting multiple components then editting one common property , this is extremely fast and easy in Intellij UI editor. It also can show you a preview while editing XML code, which you can't do in eclipse.

  • Best content assist : it auto completes when you enter next limiter (space or semicolon or brackets or dot ) you don't have to press enter then press the next limiter, exactly as Visual Studio Intellisense. Also Intellij puts most relevant result on top. another feature introduced in I12 is that it searches if matches are available from the middle not from start.

  • Fast: intellij is much faster than Eclipse. Eclipse 3.8 is slow and Eclipse 4.2 is even slower due some bugs, that were fixed gradually in Eclipse 4.2.1 and 4.2.2 releases .

  • more stable than eclipse. In Eclipse, A row of Layout properties editor may stick on screen while you scroll, a very bad UI glitch. Also Eclipse x64 crashes very frequently as compared with eclipse x86 or Intellij, may be because of bugs in JDK x64.

  • Add framework support:( New in I13) a wizard to add framework support

  • As of intellij 13, it has wizard like (New->Android-> Android Activity) as that in eclipse adt plugin , maybe the only difference is the intellij wizard may force you to a higher minimum SDK version, while eclipse doesn't .

Con Intellij:

  • Gradle: Android project wizard: (New in I13) when you create an app you can define in a gui wizerd : min sdk , target sdk , icons and theme (all these fills in the gap between eclipse and previous Is) and support mode ( an advantage over eclipse). Although this might be considered an advantage, gradle added so many errors to managing an android project, that intellij became not usable as before in intellij 12. most errors require either changing configuration and updating a maven repo from internet , or navigating to a folder and running a command from terminal.

  • Doesn't support NDK (Native Development Kit for development in C/C++)

Solution 11 - Android

I have been using IDEA for professional Android development for almost a year, it is much better than Eclipse because:

  1. The IDE is much faster and stable
  2. Excellent interface designer
  3. Other good enhancements such color picker in XML, creating resource directories and creating String resources.

IDEA is much better for Android development and you will increase your productivity for sure, Google knows this, that is why Android Studio is built on top of IDEA

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiontrojanfoeView Question on Stackoverflow
Solution 1 - AndroidsandaloneView Answer on Stackoverflow
Solution 2 - AndroidCheryl SimonView Answer on Stackoverflow
Solution 3 - AndroidHowlerView Answer on Stackoverflow
Solution 4 - AndroidDmytro DanylykView Answer on Stackoverflow
Solution 5 - AndroidMarcin MikołajczykView Answer on Stackoverflow
Solution 6 - AndroidFrank DuView Answer on Stackoverflow
Solution 7 - AndroidZsoltView Answer on Stackoverflow
Solution 8 - Androiduser2172997View Answer on Stackoverflow
Solution 9 - AndroidPescollyView Answer on Stackoverflow
Solution 10 - AndroidMohamed El-NakeepView Answer on Stackoverflow
Solution 11 - AndroidKumaitView Answer on Stackoverflow