Difference between Android Studio and IntelliJ IDEA with plugins?

85,497

Updated Answer November 2019

In the past, there was no functionality in Android Studio that was not present in IntelliJ IDEA with the Android plugin installed. However, since its inception, Android Studio has grown and has diverged more and more from IntelliJ IDEA, especially recently. There are now some plugins bundled in Android Studio that are not compatible with IntelliJ IDEA. One such example is the Android APK Support which was first released in June 2019. Moreover, there are some Android based plugins bundled with Android Studio that are not even listed on the JetBrains Plugin site (at this time) such as "Android Games", "Android NDK Support", "App Links Assistant", among others.

Thus at this time, it is likely best to use Android Studio for Android Projects, and use IntelliJ IDEA for any ancillary development, such as server side applications.

How to use both easily

The JetBrains Toolbox App makes it easy to install and use the two IDEs side by side. It also makes upgrading (and rolling back if ever desired) super easy as well. The toolbox did not support Android Studio when it first came out years ago. And thus picking one or the other was more of an "issue". Additionally, by using the Settings Repository Plugin (bundled in both IDEs) you can easily keep settings between the two IntelliJ Platform IDEs in sync. (See Share settings through a settings repository in the IntelliJ IDEA documentation.) Thus, between the Toolbox App and The Settings Repository Plugin, it's convenient (IMHO) to just use both.


Previous (Outdated) Answer Form June 2015

First, a disclaimer... I have only lightly used Android Studio as I do all my work in IntelliJ IDEA. But I have been an avid user of IntelliJ IDEA since 2003.

As Android Studio seems mainly to be a modified version of Intellij my question is are there totally specific features Android Studio has that are indispensable? Incompatible? "Standard"? vs Intellij Idea community or ultimate? Are the two interchangeable with a proper plugin set?

The quick answer is there is nothing you can do in Android Studio that you cannot do in IntelliJ IDEA (Community or Ultimate) with the Android Plugin installed and enabled. Here is a screenshot from the IntelliJ IDEA features matrix that makes that point: enter image description here

Basically, Android studio has more "branding" for Android than IntelliJ IDEA. And since it is just an Android IDE, it can be more "focused". As I mentioned, there is nothing you can do in Android Studio that you can't do in Intellij IDEA. But the opposite is not true. There are a number of (non-Android) things you can do in IntelliJ IDEA (both the community and ultimate editions) that you cannot do in Android Studio.

Regarding the question on whether or not Android studio can use IntelliJ IDEA plugins, that's going to depend on the plugin and what components (within the IntelliJ plugin API) it leverages. When you write a plugin, you have to declare (in your plugin descriptor) what API dependencies you use. Some examples are com.intellij.modules.lang, com.intellij.modules.java, AntSupport, and Git4Idea. There are dozens, if not hundreds, of possibilities - including other plugins. So if a plugin (or one of it dependencies) ends up using something in the plugin API that is not included in Android Studio, that plugin will not work. For example, one plugin I wrote (that has absolutely nothing to do with mobile development), lists on the JetBrains Plugin page as being compatible with Android Studio because it only depends on com.intellij.modules.lang and com.intellij.modules.java. So while it can go both ways, it is more likely that (due to IntelliJ IDEA having more components installed) a plugin may only be compatible in IntelliJ IDEA as a result of a dependency on something that is unique to that plugin.

Will Intellij always be lagging releases being Android Studio as it is Google's "Official" Tool.

It can go both ways. JetBrains may add things that take time to hit Android Studio; and Google may add things that take time to hit IntelliJ IDEA. It is most likely, however, the latter will be more prevalent. However, I do not know off hand how long that delay is. This JetBrians blog post may help in that regard: IntelliJ IDEA and Android Studio FAQ

My personal recommendations would be: If you know you are only going to be doing Android development, then go with Android Studio. Also new Android developers would likely find Android Studio a better fit since most documentation & tutorials will show it and there may be the occasional minor difference (such as where something is located in a menu) in IntelliJ IDEA. But if you will be working in JVM dedicated projects using Java, Kotlin, Groovy and/or Scala, or with other languages (Python, php, html, css, JavaScript, etc., etc.) or any server side (or "enterprise") code - either for your Android apps or for other work, then go with IntelliJ IDEA.

Edited Aug 4, 2018 for some clarification and an added screenshot.

Updated Nov 25, 2019 to add new information.

Share:
85,497
peterk
Author by

peterk

Have been programming for many years, started with APL,C,assemblers -> C++ -> forth, postscript, Java -> duck typed things, ECMA, ruby etc. Commercial projects of note where I was "team leader" Autodesk Animator Pro, Caligari for the Amiga -> Truespace by Caligari Corp. Development of large scale multi-touch screens and software for them with Perceptive Pixel. Currently working on data visualization software for Digital Design Inc. http://didi.com. And communications based software for embedded systems "internet of things" with Orlandointegrations.com (LTD.)

Updated on January 03, 2022

Comments

  • peterk
    peterk over 2 years

    We have an existing Java code base where we use IntelliJ IDEA for development.

    We are building an Android application where we will be sharing code and other resources with the pre-existing code and resource base.

    As Android Studio seems mainly to be a modified version of IntelliJ my question is are there totally specific features Android Studio has that are indispensable? Incompatible?
    "Standard" vs IntelliJ IDEA Community or Ultimate?
    Are the two interchangeable with a proper plugin set?

    If we were to use IntelliJ IDEA with the various Android support plugins, are these plugins the same as what comes with Android Studio?
    With this set of plugins will the programs virtually interchangeable?

    (I did notice "ant" support is not in Android Studio. Though all I need is some ability to invoke executables from the IDE with a set of menu configurable entries for various commands - I now use the IntelliJ ant support to do this because it was available.)

    Will IntelliJ always be lagging releases being Android Studio as it is Google's "Official" Tool.

    If they are significantly incompatible, what is the easiest way to use common resources and tools between the two systems?

  • peterk
    peterk almost 9 years
    I am surprised Google didn't simply produce intellij plugins to work with the community edition so they would be 100% compatible. I guess it is the branding thing :)
  • peterk
    peterk almost 9 years
    of course all the resources common and the application project itself are in source control, and we do use git :)
  • peterk
    peterk almost 9 years
    thanks for the intelli blog link. It certainly didn't pop up on any of the searches I ran.
  • peterk
    peterk almost 9 years
    Ah yes begs the nest poorly researched question (which hopefully will provide another soul with a good concise answer :) That is: what set of plugins is necessary to enable the equvalent set of features in intellij to what comes pre-packaged with Android Studio :)
  • peterk
    peterk over 8 years
    No plugins necessary as community edition does it as downloaded (out of the bits :) It is quirky though just like intellij for java and one has to learn the quirks but these are likely present in astudio as well. At least though it is way way easier to integrate intellij into a larger environment that also has intellij java builds as one doesn't have to keep track of two subtly different things and two different apps.
  • OfusJK
    OfusJK over 7 years
    It's so common answer.. need a deep dive
  • peterk
    peterk over 6 years
    BTW I have been using the main fork intellij product for the last two years with no ill effects, one one has an android template project it's cut and paste to create a new one. And I can us the same IDE for all our other projects, build the common libraries with it and spawn things like code generator processes and git automation using the ant module to launch scripts. Android studio launches the applications in the android SDK to do all the meat of the work and run the debugger so there would be no incompatibility.
  • Codism
    Codism over 6 years
    Last time I tried to use Android Studio (2.1.3), I couldn't figure out how to create a regular library project - which is a big no to me. I tend to put the core functionality in a platform independent library so I can easily test that part on PC or provide some additional tools for the main app.
  • SilSur
    SilSur about 5 years
    Great answer - finally cleared up my mind on which tool to invest my resources (time & money) into - as a solo (independent) developer. Answers like this is just one of the many reasons I love SO so much !!
  • Zaffy
    Zaffy over 4 years
    Well, Android Studio has C++ support, Intellij IDEA Ultimate does not.