For a time Android Studio was unstable and not feature complete[1], there were valid reasons to stay with Eclipse. These days the only people that aren't happy about it are those that prefer Eclipse to IntelliJ. That certainly is a valid opinion, but there were people that preferred IntelliJ to Eclipse the first time around. You can never please everyone.
[1] Yes, I know NDK support isn't yet in Android Studio, it is coming.
They have enough resources to maintain both ADT and Android Studio, it's a very surprising move.
I think it already did that before, didn't it? The shoe's just on the other foot now.
The best developers I know are debating between Maven+IntelliJ and Gradle+Android Studio. If this turns off a handful of people that are tangentially attached to Android development, so be it. The people pushing the boundaries of writing apps have switched already.
I know some people personally are more familiar with Eclipse than IntelliJ. I was one of those people. There are lots of training resources for people going from Eclipse to IntelliJ, it is a well tread path. Just give it a try.
I know of a platform that forces developers to learn how to use their IDE, their Operating System, their Hardware, and recently their new language, and their adoption hasn't slowed down...
In the case of Apple their closeness is not hurting them, and definitely not decreasing their adoption.
In the case of Microsoft... well, they still need to convince people to take Windows Phone seriously, so their closeness only helps to hurt them.
Also, you're not "forced" into anything - any Gradle compatible Java IDE will load and compile AS projects without a hitch (sadly, Eclipse Gradle support is really bad, hence the switch od IntelliJ platform).
I rather like the approach taken by Netbeans where they refactored the IDE to use build tools as the project format, with known targets mapped to IDE actions.
Same approach taken by Visual Studio as well.
Cannot say much about Android Studio, because lack of C++ editing/linting/refactoring/debugging and NDK support keeps me on Eclipse.
There's ways around it, but it's still pretty broken. :(
It was announced quite a while ago that ADT was being abandoned and that Android Studio would replace it when available.
I mean, eclipse is a broken hellscape of failed promises on its own, but gdb is.... words fail me. Truly. AND I KNOW HOW TO USE GDB PRETTY WELL.
The development and debugging is done with the desktop version of the game. We avoid using Eclipse & friends unless we manage to break something at the Android side, which fortunately almost never happens.
We found this approach to be the most productive and less frustrating for our team.
You should also check SDL 2.0 if you are starting a new project, they already did all the heavy-lifting for you.
I would advise anybody listening to stay well away from NDK programming. Here there be dragons. Google has done their absolute best to pretend nobody ever needs to get their hands dirty in android. Which would be nice, if it were true.
Native development is a pleasure in iOS and Windows Phone.
On Android it feels like something Android team was forced to provide by upper management and do as little as they can.
Which given their reaction to alternative languages on the Android Team Fireside, might actually be true.
the Java code base only consists in a single Activity object and a ScaleListener.
We also ended up integrating our android build process in visual studio using a mix of python/batch scripts.
The make utility provided by the NDK is notorious for not being able to process absolute windows paths, so we cannot use the all-subdir-makefiles command. A workaround was to use a simple python script to generate a viable Android.mk file, setting the LOCAL_SRC_FILES var with a list of relative paths to our source files.
In the post-build event of a dedicated VS project, we batch the calls to ndk-build, the ant command, and the final little adb dance.
with the proper file hierarchy (src, res, jni and asset directories), the build process is very smooth.
Plus Eclipse has quite good static analyzer, which is something non optional when I code in languages like C and C++.