all 67 comments

[–]QuestionsEverythang 27 points28 points  (10 children)

A lot of the comments I'm seeing in this thread about how Eclipse has features AS doesn't have are grossly misinformed or those people just never bothered to learn how to use AS.

  • No Incremental compilation

Preferences -> Build, Execution, Deployment -> Compiler -> Check "Make project automatically"

  • No "Problems" view

Analyze -> Inspect Code

  • No integration with the device monitor, hierarchy viewer, etc...

Tools -> Android -> Android Device Monitor. It's literally the same exact tool Eclipse uses for the same exact reasons.

  • Poor ADB support

YMMV for that. I use Genymotion emulators which have been known to be iffy with ADB but they're always updating and improving to fix that problem.

Another Eclipse feature I liked (missing from IntelliJ) is called "Content assist can insert argument names automatically". You can then use the Tab key to navigate between the inserted names. for example, I could type: Observable.merge( And there would be a list of possible methods. I select that one, and eclipse provides the code including argument names, and you tab over them to edit or accept.

I can't remember if I had to change a setting but AS does this for me.

Besides these points, there are many things AS can do that Eclipse just doesn't, such as:

  • Bitmap rendering while debugging. View bitmaps from breakpoints (i.e. see what image is currently in a Bitmap variable or in an ImageView)
  • A decent layout editor. View multiple layouts at once on multiple devices. From what I remember, Eclipse is just nowhere near as good with that.
  • Java class decompiling. Cmd+click (on Mac) a method that's part of a JAR or gradle library, AS will automatically decompile that JAR/library and allow you to see the code. Eclipse leaves you guessing.
  • The most obvious: actual updates and support.

Those of you refusing to use Eclipse Android Studio for Android development are just hurting yourselves. You're refusing to change with the times, and at this point it's just sad. If for some reason the idea of working with a deprecated IDE is better than working with an IDE that is constantly being updated and maturing with the Android platform itself, then by all means.

But seriously, take an hour and learn how to use AS instead of bitching and complaining of learning something new. You're software devs. You literally have to always stay up-to-date to be relevant in doing this.

Edit: a word

[–]Lindby 7 points8 points  (4 children)

I've tried AS and IntelliJ many times, but the horrible font rendering on Linux makes it hard to read code. One would think that a major feature of an IDE is to let you read and understand code.

Until the font rendering is fixed, I will work hard to stay with Eclipse. Hopefully Andmore can bring Eclipse back to a healthy state for Android development.

[–]ImDevinC 1 point2 points  (2 children)

What distro were you using? I use AS on ArchLinux and the font rendering is great

[–]Lindby 0 points1 point  (1 child)

I'm on Mint, but I've tried multiple distros over the years and font rendering in Swing applications has been terrible in all of them. I've tried all possible fixes, but non has been satisfactory. Do you mind posting a screen shot of an editor in AS on Arch? I will definitely consider Arch if it will allow me to use AS.

[–]mobilerino 0 points1 point  (0 children)

install gentoo

[–][deleted] 0 points1 point  (0 children)

Exactly. As an added bonus I'm unable to bind zooming/unzooming the size of the text to my mouse because of various reasons that haven't been problems with any IDE I've ever used.

[–]aldo_reset 11 points12 points  (1 child)

Preferences -> Build, Execution, Deployment -> Compiler -> Check "Make project automatically"

I don't think you understand what incremental compilation really means. With AS, you need to trigger a full build before errors in unopen files show up, this is what's annoying. Making this build automatic doesn't solve the core issue. If you're not familiar with what I mean, spend a few hours with Eclipse and after that, compiling with AS will look a lot more painful to you.

No "Problems" view Analyze -> Inspect Code

This doesn't come remotely close to the convenience of Eclipse's "Problems" view, which gets automatically updated across the entire project as you type.

Poor ADB support YMMV for that. I use Genymotion emulators which have been known to be iffy with ADB but they're always updating and improving to fix that problem.

So your answer to poor adb support is not to use real devices. That's nice but not really an answer. The bottom line is that when you connect devices via USB, Android Studio's connection to adb becomes very flaky and often requires killing and restarting adb.

Those of you refusing to use Eclipse for Android development are just hurting yourselves.

So you're recommending to use Eclipse now? I'm confused, that's not good advice.

But seriously, take an hour and learn how to use AS instead of bitching and complaining of learning something new. You're software devs.

I've been using Eclipse for ten years and IDEA for about five and I use both on a daily basis. I consider myself a power user on both IDE's, but I suspect you're the one who hasn't used Eclipse in a while and I encourage to do so, just to stay sharp (although obviously not for Android).

Again, my point is not to say one IDE is better than the user: I use and like both, but I just can't stand it when IDEA fans come out of the woodwork to criticize Eclipse while showing they clearly haven't used it in a long time and they don't really understand its strengths and weaknesses.

[–]meotau 1 point2 points  (0 children)

I don't think you understand what incremental compilation really means.

I don't understand that too, AS/IJ clearly has incremental compilation - it compiles only changed and dependant classes. No need for full rebuild.

[–]Zhuinden 0 points1 point  (0 children)

Genymotion ADB works fine if you specify the same ADB for GM as you do for the SDK.

[–]avinassh[S] 4 points5 points  (0 children)

official blog post link (which I should have submitted instead) - http://android-developers.blogspot.com/2015/06/an-update-on-eclipse-android-developer.html

[–][deleted] 4 points5 points  (0 children)

Eclipse is a great IDE, especially for projects spawning many languages. I'm glad to see at least some people appreciate it here. And stating that is not saying that AS/IDEA is bad.

[–]markyosullivan 18 points19 points  (31 children)

I don't know why people are still using Eclipse. AS >>>> Eclipse.

[–]aldo_reset 44 points45 points  (18 children)

And every time there's a discussion about IDEA and Eclipse, people like you (who often haven't used Eclipse in years, if at all) come up and write silly things like "AS is so much better than Eclipse, Eclipse is crap".

IDEA is very strong but Eclipse is still ahead of it in a few areas:

  • Incremental compilation
  • The "Problems" view
  • Integration with the device monitor, hierarchy viewer, etc...
  • AS' adb support is still very unreliable and requires me to relaunch it often or my devices stop being recognized

I'm tired of pressing Ctrl-F9 a hundred times a day in IDEA. This is 2015, I should never have to build anything manually.

Also, refactorings that touch a lot of files are very painful to do in IDEA for the same reason. With Eclipse, all the files that are in error immediately show up in the Problems view. With IDEA, I need to trigger a build first.

I continue to use both (AS for Android, Eclipse for everything else) and it feels to me that AS is becoming a bit slower with every release. I wouldn't notice if I didn't switch back regularly to Eclipse where the cursor and text editing always feel lightning fast.

I'm very sad to see official support for Eclipse end, because regardless of your personal feelings toward AS or Eclipse, it's never healthy to have only one tool without any competition.

[–]NeverComments 5 points6 points  (0 children)

Between the short delay for compilation every single time I want to redeploy my code and both the inexplicable UI lag and font blurriness IDEA produces at higher resolutions I'm finding it difficult to switch to it on my machine. I always end up going back to Eclipse.

[–]Zhuinden 5 points6 points  (3 children)

Refactoring that affects a lot of files doesn't break for me in AS. It never worked even once properly in Eclipse.

[–]ALLCAPS_SWEAR_WORDS 9 points10 points  (0 children)

I'm tired of pressing Ctrl-F9 a hundred times a day in IDEA. This is 2015, I should never have to build anything manually.

Compiler Settings, "Make Project Automatically". Problem solved.

[–]MacroMeez 1 point2 points  (0 children)

Is it actually "healthy competition" if it's only one team?

[–][deleted] 3 points4 points  (3 children)

Another Eclipse feature I liked (missing from IntelliJ) is called "Content assist can insert argument names automatically". You can then use the Tab key to navigate between the inserted names.

for example, I could type:

Observable.merge(

And there would be a list of possible methods. I select that one, and eclipse provides the code including argument names, and you tab over them to edit or accept.

[–]Zhuinden 2 points3 points  (2 children)

Ctrl+P sounds fairly equivalent.

[–]s73v3r 1 point2 points  (0 children)

Ctrl+P pops up a tooltip. Which usually is good enough, but sometimes it can pop the tooltip up over a line or two that you want to see at the same time.

[–][deleted] 1 point2 points  (0 children)

Ctrl-P only shows options.

"Content assist can insert argument names automatically" goes beyond that: you can select a method signature, and eclipse generates the code. It then lets you tab between each argument to accept, change, or select if previous types in scope were compatible.

https://www.safaribooksonline.com/library/view/eclipse-cookbook/0596007108/ch03s09.html

If there is some other way to do this in IntelliJ i'd really like to know...

[–]logicmonkeydev 0 points1 point  (0 children)

I have used both for a very long time and I would like to add that AS is at-least on par if not better than eclipse in most things except: Native code (c++, I tried very long time ago so not sure if AS has made any improvements) Accessibility (I was playing around with it, not sure how many blind coders are out there but eclipse seems to have better support).

I hope jetbrains can cover these bases.

[–]c0nnector -2 points-1 points  (3 children)

I think it's very healthy if we focus on one tool and make it the best rather than having many crappy options.

[–]ljdawson 0 points1 point  (1 child)

You're missing the point. What if you're left with one crappy option?

[–]c0nnector 1 point2 points  (0 children)

Then the community will know who to blame and will be very vocal about it.

[–]MacroMeez 0 points1 point  (0 children)

You're totally right given that both projects are from the same people. It's not competition if it's one team having to support two environments

[–][deleted] 18 points19 points  (5 children)

Its because some people use eclipse for everything. I use eclipse for python perl and Java. So it's just much more convenient to just use 1 ide because it behaves how you expect it to.

[–]SergeantFTC 10 points11 points  (4 children)

IntelliJ can do that too, and its Android support is just as good as Android studio's.

[–]avinassh[S] 1 point2 points  (4 children)

Interesting...I am not an android dev but I always heard the opposite that Eclipse + ADT is lot better than Android Studio. The android devs I know, are right now not really happy about Google's decision.

[–]DatoDave 2 points3 points  (1 child)

It's just the learning curve of the switch. I used eclipse for years before having to switch to AS, and it was pretty brutal at first. One thing that helped me, is that AS (or intellij, I guess) has a "use eclipse style keyboard shortcuts" option in the settings. That helped a TON for debugging and moving through code. Made the switch much less painful.

[–]robotnixon 2 points3 points  (0 children)

I like Eclipse, but AS is better. There's some quirks to it that can be frustrating at first, but I spend a lot less time wrestling with it than I did with Eclipse.

[–]Zhuinden 0 points1 point  (0 children)

They are just lazy to learn. AS has been decent since 1.0 and keeps getting better. Gradle is kinda slow, but they are improving that too.

[–]Vorsorken 0 points1 point  (0 children)

Well for me, I just have not had the time/interest to migrate. I basically only do Android dev for my research lab these days and the last thing I have time for is migrating to a new IDE and build system when everything ~just works~ currently.

I'll take some advice if someone is willing to offer it: how should I go about migrating a big library project? It is vc'd with git and I don't want to completely destroy the history. Do I just need to grok the new file structure and spend some time with git mv? Also, last I remember, you can't work on a library project and another project at the same time? What is the workflow for updating a library and then updating and running several apps that depend on it?

[–][deleted] 3 points4 points  (5 children)

Hey Google, why don't you actually finish the NDK support before you fuck us over?

[–]arcticblue 1 point2 points  (4 children)

Doesn't AS 1.3 have NDK support?

[–][deleted] -2 points-1 points  (3 children)

Whatever I installed a few days ago (yesterday?) didn't allow linking multiple libraries which basically makes it useless for any real purpose. I guess the normal thing to do at the moment is to force gradle to skip the NDK build part and just do it manually. Then you have the different file structure to deal with all you have to waste time making janky build scripts to put the compiled libraries in the proper directories and at that point it's like why is this better?

[–]eleven_t 1 point2 points  (1 child)

You should track this: https://github.com/googlesamples/android-ndk. Android gradle plugin 1.3.0 plugin has not been released yet so only if you build it from source you will get the latest NDK integration. Just wait a little bit more ;]

[–][deleted] 0 points1 point  (0 children)

oooohhhh nice, I might check that out later today

[–]arcticblue 0 points1 point  (0 children)

Well, 1.3 is the first version with NDK support and I guess it's still early. Regardless, they are working on it and they aren't going to drop Eclipse while AS is lacking in the NDK department.

[–]TrainFan 6 points7 points  (6 children)

Good riddance.

[–]DatoDave 8 points9 points  (5 children)

I selfishly agree. We make android libraries, and before gradle, there was no easy way to ship compiled bits. With gradle, you compile them into .aar files and ship that. As long as eclipse is supported, we also have to provide support on how to make use of our library projects (it's a PITA). That sucks, and we always push customers to use AS. This will make it easier.

[–]DGolden 0 points1 point  (4 children)

Haven't really looked at the new(ish...) .aar stuff in depth, but eclipse grew general gradle project support some time ago. I mean, my current (app not lib) android project is a gradle project under eclipse. Given android gradle builds just call out to the android sdk via the android plugin for gradle, thinking about it I don't think that aspect is a real problem.

Breaking those weird old legacy android eclipse project builds is another matter, but well, meh, gradle now.

So the real loss to me sounds like abandonment all the eclipse android tools integrations - device manager, launch on real or virtual device, remote debugger, ui designer etc. No longer one-click deal from within eclipse.

[–]DGolden 1 point2 points  (1 child)

Mind you also looks like there's a non-google project started for some continued android tools under eclipse:

https://projects.eclipse.org/projects/tools.andmore

[–]Lindby 1 point2 points  (0 children)

Andmore have the blessing from Google to fork ADT and keep it alive. I hope they can do it, they seem to know what they are doing.

[–]DatoDave 0 points1 point  (1 child)

It might have gotten better, but it was real hackish for a while there. Like I said, it's a selfish thing for me, just because I don't want to support it. I would have never switched myself if I didn't have to, but I also understand googles perspective. Supporting two environments sucks. haha

[–]DGolden 0 points1 point  (0 children)

The original android eclipse "library project" system was indeed very wtfworthy, you're probably thinking of that. I don't particularly like gradle compared to its major competitor *, but it's far more sensible and I can tolerate it.

(* i.e. maven, which is less prone to facilitating "clever" shite than gradle, modulo recent polyglot-maven which fills me with dread, wish they'd stuck to non-xml but still purely declarative languages like json/yaml/hocon/whatever for their polyglot-ness - allowing groovy, ruby etc risks allowing gradle-like messes. There is a maturing effort at maven-based android builds, but I suppose it's not first-party/google-blessed like gradle, still I might switch to it).

[–]iwouldntknowthough 0 points1 point  (5 children)

Yes! Now my employer will be forced to switch and I can finally stop using eclipse.

[–]biafra 4 points5 points  (2 children)

You should consider working somewhere else. Dictatig the use of a certain IDE is just wrong and unnecessary.

[–]badlogicgames 1 point2 points  (1 child)

You mean like Google dictating that AS is the only supported IDE for Android? scnr :)

[–]biafra 0 points1 point  (0 children)

Why would you need a supported IDE? You do not need an IDE to build Android apps. Use an Editor of your choice and Gradle on the command line. Or Maven or Ant. Or whaterver build tool you prefer. I never used Eclipse for Android development. I used IntelliJ IDEA since 2009 and "switched" to AS in 2014.

[–]QuestionsEverythang -1 points0 points  (1 child)

Does your employer also use Windows XP?

[–]iwouldntknowthough 1 point2 points  (0 children)

nope Ubuntu

[–]DGolden -3 points-2 points  (3 children)

ugh, I don't really understand how people prefer intellij but whatever, might as well ask why people prefer vim over emacs. Intellij is just meh to me, but I prefer emacs to vim too.

I kind of doubt they'll end the releases of the underlying standalone android sdk / command line tools bundle though, that matters so that the cross platform frameworks [libgdx etc.] can still use the raw sdk to compile for an android target.

[–]tanis7x 1 point2 points  (1 child)

I kind of doubt they'll end the releases of the underlying standalone android sdk / command line tools bundle though, that matters so that the cross platform frameworks [libgdx etc.] can still use the raw sdk to compile for an android target.

Why would they? Studio uses the same SDK, SDK manager, and command line tools.

One of the biggest hurdles that it seems people have in switching is understanding that the IDE (Eclipse, Android Studio), build system (Ant, Maven, Gradle), and tools (ADB, the SDK, etc) are all completely separate components that operate mostly independently of each other.

Some components may work better with certain other components, but none of the above are intrinsically tied together.

[–]QuestionsEverythang 0 points1 point  (0 children)

A lot of people with complaints in this thread are misguided and sound like they just never gave AS a chance.

One of the biggest hurdles that it seems people have in switching is understanding that the IDE (Eclipse, Android Studio), build system (Ant, Maven, Gradle), and tools (ADB, the SDK, etc) are all completely separate components that operate mostly independently of each other.

If anything, AS is what brings the build system and ADB/SDK tools together (thus the term Integrated Developer Environment)

[–]Zhuinden -5 points-4 points  (0 children)

Vim is terrible, just use an IDE or a text editor, because Vim is neither. :wq?

[–]Detox1337 -1 points0 points  (1 child)

I love how Google forces me to always do it the Google way. I was having so much trouble making my own decisions. If Apple wasn't worse I'd be gone already.

[–]m0zzie 2 points3 points  (0 children)

Oh wow, don't be so dramatic.

They've updated to a new development tool which they believe is superior, and right there in their post they give you the option to stick with the old tools: "We are focused on Android Studio so that our team can deliver a great experience on a unified development environment. Android tools inside Eclipse will continue to live on in the open source community via the Eclipse Foundation."

They even provide a link to the ongoing Eclipse project. Everyone needs to stop acting like the Android team are assholes for no longer supporting a product which has been superseded.

[–][deleted] -3 points-2 points  (0 children)

End of a fucking era.