Android Studio: our new, shiny Android IDE

by Алекс Руис on May 16, 2013

The cat is out of the bag: yesterday, during Google I/O‘s keynote, we announced our new IntelliJ IDEA-based Android IDE, Android Studio. This is what my team has been working on for the past months.

From what I read on the web, Android Studio has been pretty well received. I personally heard nice comments about it, from “awesome!” to “fantastic!” and “really cool.”

Here are some highlights about Android Studio. I’ll be writing more detailed blogs about our IDE soon. Before I continue, let me make this clear:

This is a personal blog. The opinions expressed here represent my own and not those of my employer, Google.

With that out of the way, here we go:

Our goal is to be Gradle-centric

We are working closely with the Gradleware folks on a new Gradle-based build system. Right now, with Android Studio, you can create new Gradle-based Android projects or import existing ones. When you build your project in Android Studio, we disable the default IDEA Java builders and delegate the build to Gradle. You get the same output from building within Android Studio or from the command line. Our goal is to have Gradle build files as the only source of truth.

This is an early access preview

Even though it is possible to create applications with Android Studio, there are still rough corners, bugs and features that we have not implemented yet. It would be great to get as many bug reports and feature requests from early adopters. Here is the list of known issues.

We still support Eclipse

We will be supporting Eclipse ADT as well. In fact, we plan to add similar Gradle support to ADT. The catch here is that given limitations in Eclipse, especially JDT, we cannot guarantee a development experience as smooth as Android Studio. You can, however, export your Eclipse-based Android project as a Gradle project, and then import it into Android Studio.

This is not a fork of IntelliJ IDEA

We have been working, and continue to work, really close with JetBrains, the folks behind the best Java IDE, IDEA. They implemented the changes we needed in their platform in order to develop Android Studio. Eventually, you will be able drop Android Studio as a plug-in into your copy of IDEA.

That’s it for now. Stay tuned for more Android Studio posts :)

Update: Xav‘s and Tor‘s Google I/O talk “What’s New in Android Developer Tools” is on YouTube!

{ 27 comments… read them below or add one }

Gunnar May 16, 2013 at 6:30 pm

Please share any limitations you found in JDT via Bugzilla!

Reply

Alex Ruiz May 16, 2013 at 10:40 pm

Gunnar,

Let’s say we manage to file bugs for all the stuff that we need in order to extend JDT the way we need. Do you really think they will be addressed? Look at the activity of the JDT project here: http://projects.eclipse.org/projects/eclipse.jdt

Reply

Sven Efftinge May 16, 2013 at 11:37 pm

Maybe not, but there are often existing ways to solve problems. We managed to get a very decent Java integration in Xtend without relying on AOP or something similar. And although we have been developing against JDT for a couple of years, we missed a crucial hook until we filed a bug and one of the JDT committers gave us the helpful pointer.

JDT on the other hand is looking for developers. I guess one or two developers from google would be very welcome ;-)

Reply

Alex Ruiz May 17, 2013 at 8:05 am

Thanks, Sven, for the thoughtful comment (as always.) Let’s chat offline :)

Reply

Jin Mingjian May 17, 2013 at 8:49 am

Hi, Alex, your concern to the current status of JDT is basically right:) The main JDT guys come from IBM. They lost several comitters in the begin of this year. That is will be greater if we can give a hand to them:)

Gunnar May 17, 2013 at 2:57 pm

Alex, seriously, did the Android SDK team at Google entered Bugzillas at all?

It sounds like you never did for JDT. That’s certainly not how Eclipse (and to some extend Open Source) works. You can’t complain and celebrate a switch without letting developers/committers know about your issues.

Reply

Alex Ruiz May 17, 2013 at 3:25 pm

Gunnar, I hear you. I appreciate your good intentions. I’d suggest you to check with the Eclipse folks if such conversations ever happened. They may have happened before you and me got involved.

Peace.

Reply

Scott Stanchfield May 17, 2013 at 11:03 am

Exactly. I’ve heard mention of “we couldn’t do this before” about features in Android Studio. From what I’ve seen in Studio, I don’t buy it. I’d like to know what the roadblocks were; I’m sure there are many Eclipse plugin and platform developers out there who could help, and I wouldn’t be surprised if some, if not all of the roadblocks were due to lack of details about how to approach something in Eclipse.

(BTW: I don’t really see what the fuss is about the features shown in Android Studio – many of them, like GUI previews, already existed in ADT, and some, like the icons/colors in the gutter are really unnecessary window-dressing. Get used to a slower edit-build-deploy-test cycle with Studio, due to a lack of incremental on-the-fly compilation…)

Reply

Dmitry Jemerov May 18, 2013 at 8:21 am

Scott,
As Alex mentioned, the compilation in Android Studio is entirely driven by Gradle. So the degree to which it will be incremental, and the speed of the edit-build-deploy-test cycle, is entirely determined by the feature set of Gradle, not Eclipse or IntelliJ. And for non-Gradle-based projects, recent versions of IntelliJ IDEA do fully support incremental on-the-fly compilation.

As for the window dressing – well, if you say that, then I’d say that most of the features of Eclipse and IntelliJ are unnecessary. You can do everything in Notepad, after all.

Reply

Melinda Green May 24, 2013 at 4:12 pm

Dmitry, are you saying that there is nothing we can do to speed the edit-build-debug cycle in Android Studio? When launching under the debugger it seems to spend the most time in the “Checking Sources” step. Is that doing code inspections or something that can be skipped? Bringing the full cycle time as short as possible is extremely important to me.

Reply

Alex Ruiz May 26, 2013 at 6:32 am

Melinda,
We disabled IDEA’s own Java builder and we delegate the build entirely to Gradle. We are working on making the Gradle build faster.

Eric Burke May 16, 2013 at 9:50 pm

I love this! I’m so glad this is not a fork, and also really appreciate the “single source of truth” philosophy.

Reply

Alex Ruiz May 16, 2013 at 9:54 pm

Thanks, Eric!

Reply

Jin Mingjian May 16, 2013 at 9:59 pm

Not sure if the stuido is open source or not. If open-sourced, then there is a chance to rebuild a Android Stuido under the umbrella of Eclipse. The Dark theme is truely hot in these months:)

Reply

Alex Ruiz May 16, 2013 at 10:06 pm

Jin, Android Studio is open source, using Apache 2.0 license.

What do you mean rebuild under the Eclipse umbrella? As a port to Eclipse APIs? or under the Eclipse Foundation? My *personal* opinion is none of these options are doable, because of technical and license differences. Plus, we host the source code ourselves.

Reply

Jin Mingjian May 17, 2013 at 9:16 am

great to see the studio is APLv2 license. Do you have some link to check out its source? For “under the umbrella of Eclipse”, I mean to implement Android Studio by using Eclipse platform technologies. I admit there are some goods in the IDEA. I surely think Eclipse has greater general flexibility better than IDEA. Both are good in the basic Java application development. Although Eclipse shows problems in recent several releases, I think the community will push to solve them. So, it could be great to see the Google can give a hand to this:)

Reply

Alex Ruiz May 17, 2013 at 1:47 pm

Hey Jin, the source code for Android Studio is here: https://android.googlesource.com/platform/tools/adt/idea/

Reply

Dmitry Jemerov May 18, 2013 at 8:31 am

Android Studio built under the umbrella of Eclipse already exists, and is called ADT for Eclipse.

The dark theme is part of IntelliJ Platform; it’s not something that the Android team at Google worked on. If someone wants to reimplement it for Eclipse, they’re welcome to do so (and I think Fabio Zadrozny plans to work on it as part of his LiClipse project), but I don’t see how this has anything to do with Android Studio.

And I guess a key difference is that JetBrains is able to implement the changes Google needs in a short timeframe and without asking Google to lend a hand with the platform development. Which lets Google focus on developing the Android plugin specifically, not improving the underlying platform.

Reply

Alex Ruiz May 18, 2013 at 8:48 am

Absolutely! To me, the main benefit of working with the JetBrains folks, besides IntelliJ’s well-thought architecture and clean code, is the JetBrains folks themselves. Any change that we needed in their platform was implemented in a matter of hours, if not minutes. Questions and bug fixes were addressed right away. This kind of support allowed us to move really fast.

Dennis Doubleday May 17, 2013 at 7:28 am

Often these things come down to the personal preferences of the developers involved (and that is OK–the most deeply involved people should be comfortable with the environments they work in.) But you really do give the game away with “the folks behind the best Java IDE, IDEA. ”

But, the argument that something can’t be done in Eclipse, in this case, is not too believable.

Reply

Alex Ruiz May 17, 2013 at 8:04 am

Denis,

As a end-user, I like Eclipse as an IDE. It gets the job done. The problem here is extensibility.

When I said that IDEA is the best Java IDE, I’m stating my personal opinion. I made it clear at the beginning of the post.

Reply

SadTruth May 17, 2013 at 11:13 am

Honestly I think most people are reacting to the Solarized Theme (or whatever it is) that Studio is running in. Starting vanilla IDEA Community takes twice as long as JavaEE Eclipse so that right there is saying a lot.

The “hackers” on HN are taking this to mean that Google is reacting to Eclipses UX which is pretty sad given most people on HN can’t even figure out how a workspace works. I don’t know anything about eclipse plugin dev (besides that its an OSGi plugin) but given that you have builders in Eclipse as well, why isn’t gradle builds something that can be done via builders?

I would love to hear more about how Eclipse didn’t succeed as an extensible platform. Personally I can’t take IDEA seriously. You have a choice of either a barebones free Swing App or a $500 usable one.

Reply

Erdal Karaca May 17, 2013 at 2:56 pm

“our new, shiny Android IDE”: shiny things tend to blind… hope you have good sun glasses :-)

Reply

Alex Ruiz May 17, 2013 at 8:07 pm

I appreciate your concern, Erdal. I can take care of myself pretty well, thanks :-)

Reply

Joe May 21, 2013 at 4:19 pm

I work in a Java dev shop for more than a decade and we evaluated various Java IDEs. IDEA was the first preffered IDE. Because of lack open source edition at that time, we ended up going with Netbeans. Eclipse never worked for me. It was fine for small adhoc type projects. When you have 100s of thousands of lines of code, Eclipse is pain to use. It puts the burden of project dependencies on each developer. Poor project management system in Eclipse is the main culprit. I always felt Eclipse was built by folks who never used an IDE.
I am glad smart folks at Google finally realized this and fixing it.

Reply

Max Rydahl Andersen June 7, 2013 at 3:54 am

I would love to hear more on what those limitations in JDT was about.

We fight similar battles when trying to get Maven and WTP to fit together in our m2e work but for most cases we can make it work.

Gradle has its own very quirky behavior – the fact you have to disable all the incremental stuff the IDE can provide is for me a sad thing but I can understand why for some cases that is a nice thing.

In any case – would like to hear more and help where I/we can – i filled in my email here so you can contact me; or if you can tell me where development of Android tooling is discussed I can show up there (could not find any info on that on Google ADT pages)

Thanks,

Reply

Roshan September 10, 2013 at 8:19 pm

Just wanted to thank you for the nice PNG up there. The default icon included with Android Studio is ugly as sin because it is so low-res. This looks much better in the dock.

Reply

Leave a Comment

{ 2 trackbacks }

Previous post:

Next post: