Android Studio VS Eclipse + ADT 插件?

关于这个问题,我想有客观的答案:

为什么我应该使用 Android Studio,遇到问题和复杂的任务,例如,导入为 Eclipse 开发的库,对我可能遇到的 bug 的支持较少,... 而不是继续使用 Eclipse?

Android Studio 和 Eclipse 的真正优势是什么?

59394 次浏览

The last update is now more than a year old, so here goes another update (25th of October 2016):

TL;DR

  • Eclipse ADT has been deprecated and should no longer be used.
  • Android Studio is a stable product and is updated much more frequently than IntelliJ
  • I chose to use Android Studio over IntelliJ about a year ago and haven't looked back.
  • When in doubt, use Android Studio.

IntelliJ over Android Studio

The only reason I can see for using IntelliJ over Android Studio is if you're using the Ultimate edition. It has a lot more plugins that you can use with the IDE. If you're using the Ultimate edition already and don't want to use two IDE's simultaneously, there is no reason to switch over to Android Studio (except bleeding-edge features).

Android Studio does ship with the C/C++ Plugin now, but AFAIK, there is still no support for HTML/CSS/JS (which is helpful with all these hybrid frameworks these days).


For the sake of keeping this answer short, I have opted to remove all previous (and outdated) statements, instead of just striking them. Feel free to browse the edit-history if you're interested!

Eclipse + ADT sometimes feels like an unfinished product anyways. If you like trying new things or you are not a fan of Eclipse I would suggest going for Android Studio, if you are right now happy with Eclipse, just stay with it until Android Studio is mature enough to move on.

Great question, the answer is much longer than what I can reasonably post in an SO answer.

If you are new to Android you should absolutely be using Android Studio. By using Eclipse you are going to be learning an outdated IDE (for Android specifically) which Google has strongly indicated they are not going to be supporting in the future. It is much better to learn the skill you are going to be using 2 years from now.

Also: Android Studio has come a long way and been updated multiple times. It was definitely more shaky in the past but I have now used it for two separate Android app projects without issue.

I have also written two comprehensive articles on this topic for anyone who wants the complete in-depth details. If you are still on the fence about which to use then you can read either:

If you just want a general overview of the differences:

http://www.airpair.com/android/android-studio-vs-eclipse

For Migrating from Eclipse:

http://rexstjohn.com/exporting-android-project-eclipse-android-studio-0-4-0/

Additional Pro:

Android Studio is ready for Android projects that use Gradle as their building system. Gradle is becoming the standard for building and testing your Android application. Check the Gradle Plugin User Guide in Android's website .

By the time of writing this answer, the ADT plugin for Eclipse does not support a Gradle layout style. Some hacking has to be done if you want to use Eclipse+Android+Gradle and an Android project with a Gradle directory layout what is quite inconvenient. See Integration of Eclipse with Gradle in an Android project.

Why should I use Android Studio, encounter issues and complex tasks for, for example, importing libraries which are developed for Eclipse, having less support about bug I may encounter, ... rather than continuing using Eclipse ?

You should not if you don't want to. You can try this new software or wait for the same on Eclipse platform. See http://tools.android.com/roadmap

Android Studio

  • Gradle Build system deep integration
  • ADT Feature parity

Eclipse plug-ins

  • Visual layout editor
  • Resource manager
  • Theme editor
  • Better refactoring support

That is while Android Studio is pushing with gradle, it is not yet on ADT Feature parity.

What are the real advantages of Android Studio vs Eclipse ?

It is based on other platform: IntelliJ. Eclipse, IntelliJ, NetBeans and other platforms all have their users, features, bugs and plans for development. So if you starting using Android Studio you should learn from IntelliJ users, that should tell you about those features and how to avoid bugs.

In the end it is just another software to do the same.

Read Is it possible to use the Gradle build system for Android with Eclipse? that have much more links about Android with gradle in Eclipse.

Try Nodeclipse/Enide Gradle for Eclipse (marketplace) if you want to experiment or fully use as additional build system right now.

Some screenshots for Gradle for Eclipse by Nodeclipse/Enide effort. Like Android Studio it is under development.

Few advantages are:

  1. Its exclusively made for Android Platform, its not plugin.
  2. It will get platform updates quicker.
  3. Eclipse plugin development intensity will decreased slowly if not stop in coming days.
  4. Its looking really good in black theme.
  5. Emulator are looking niche.

As a seasoned Visual Studio + ReSharper user who has not been writing Android apps for long, I'm finding Android Studio far more intuitive than Eclipse. Many of the keyboard shortcuts I am used to simply work in just the same way. I was concerned that the learning curve would be steeper as there are so many more Eclipse-friendly tutorials and examples out there just now but so far I've been able to translate everything pretty easily into the Android Studio world, whenever necessary.

Had I come from a Java / Eclipse background I'm sure I would feel differently about it.

It also seems to me (at time of writing some months after other answers that mention bugs) that Android Studio is very stable and feature complete, although I'm not exactly what I'd call a Power User (yet).

Which ever platform you currently use, an hour or so spent playing with the other will probably tell you more than any number of SO answers or blog posts.

As an old eclipse user, after reading "Android Studio vs Eclipse" comments, I stayed with Eclipse. However, I stucked with Gradle build and finally I decided to switch to Android Studio, et voila: it's such an easy environment! I built my project with Gradle in a minute and I didn't spend any extra minute although I am completely stranger to this product.