As many of you may know, Android Studio is set to be the standard development environment for Android in the very near future. I confess that I have deliberately avoided it up to now. Why? Simply on that age old basis of “If it ain’t broke, don’t fix it”. With Android Studio now being in late beta, I finally feel I can no longer put off the evil day.
Since I first started with Android, the standard IDE has been Eclipse with the ADT (Android Development Tool) plugin. I personally feel it is a pretty good combination. Android Studio is based on the IntelliJ IDE which whilst it has it’s aficionados, has a significantly smaller user-base than Eclipse perhaps because you have to pay for it! IntelliJ users will wax lyrical as to just how wonderful IntelliJ is and how much better than Eclipse. Me, I’ve been using Eclipse for so long that it feels like home! Consequently, I’ve approached Android Studio with great cynicism.
I did in fact try Android Studio (I’ll refer to it as AS for brevity) not long after it was first announced. On that occasion, I found so many issues that I dropped it almost immediately. I’ve now done some real work with AS and I confess that I’m coming to like it. I’ll cover myself here by saying that I still think it needs improvement but, that is after all what beta programs are all about.
This review is based on the (at time of writing) current Beta version which is 0.8.9. You can examine the very latest versions by downloading Android Studio from the Canary channel. I’m going to be really negative about this and start by saying what I do not like! I’ll come back to some of the nice things about Android Studio in a later entry.
Perhaps irrationally, I find the interface cluttered, there are a whole host of buttons that appear around the sides of the display to swap views, particularly during the build and run phases. Nothing I can’t live with!
I really do not like the way that imports are handled! There is a neat option to enable automatic imports as you type and paste but as soon as there is an ambiguity, you are forced to select each class reference in turn, wait for a bit then hit CTRL + ENTER to be prompted for a choice. I know I’m being picky but with all those V4 imports for the compatibility library it can be a pain.
The manifest editor is gone! Yes, really, it’s just a plain XML editor now. I know the old editor was far from perfect but in an instructional situation (e.g. from a beginners perspective) it avoided the need for a deep understanding of the structure of the manifest. On the plus side, it is no longer necessary to hard-code build versions and library references into the XML. Gradle can handle all of that for you. That’s for another day though…
One last major annoyance: the device monitoring tools which were so nicely integrated with Eclipse. They are now in a separate application called Android Device Monitor (ADM). It’s easily launched from the Android Studio toolbar and looks just like the DDMS perspective in Eclipse. In fact, it is the DDMS plugin from the Eclipse ADT version. The issue I have is that the Android Device Monitor completes with Android Studio for the connection to ADB (the connection to the emulator or device being debugged). I’ve had two big issues with this: the first being that you can’t debug an application if the ADM is connected! The second is that I’ve had Android Studio freeze on me several times when ADM has been open. My guess is that the two are related.
Those are my major complaints right now. In fairness, this is still a beta release and I expect many of these issues will be addressed over time. Now, here is the thing: there must be something good about Android Studio as I’ve no great desire to go back to Eclipse ADT. In my next piece, I’m going to address some of the good things about Android Studio.
To learn more, Learning Tree has an excellent course covering Android Studio development entitled Developing Applications for Android Devices.