Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
As of 2015, I see that Android studio is an official IDE for developing android applications according to information on their official site and on each page of their site, there is a note suggesting to go for Android studio rather than Eclipse with ADT.
Note: If you have been using Eclipse with ADT, be aware that Android Studio is now the official IDE for Android, so you should migrate to Android Studio to receive all the latest IDE updates.
But I haven't found any latest article about the pros and cons in choosing the IDE or eclipse with ADT. If some one can throw some light on it then it would help other beginners like me in choosing the right app for android development
IMO everything you can do with Android Studio (gradle, maven, etc) you can do it with Eclipse faster and easier and i mean "faster, easier" because in Eclipse if any problems arises like "error XX" you do a quick search on yahoo/google/whatever and thousands of results appears of guys who had the same problem and how to fix it.
I've been programming with Eclipse for C/C++ and Java over 8 years already switching to IntelliJ for me is a total waste of time with translates in a huge loss of money, all my clients wants their apps for yesterday and i can't have the luxury of "playing" and wasting time tweaking a really different IDE while i have bills to pay. So in my case i will 100% stay with Eclipse.
Indexing. Causes AStudio to load up in a matter of years. Afterwards, same a Eclipse. +E
Language support. +A
Perspectives. One has to actually start fumbling for the different
windows in AStudio once they need to switch between design / debug /
code. This hassle was completely taken care of by the use of
Perspectives. +E
Debugger. Incredibly slow to launch in AStudio. Even Running an app
takes ages to complete in AStudio. And on the rare occasions it
doesn't, one ends up with all sorts of exceptions in his app under
development or plainly app won't install any longer. +E
Support. StackOverflow is the main resource in both cases. Just that
with Eclipse there is not much need for it. +E
UI: AStudio is just eye cancer. Eclipse is such a breeze. +E
Building: gradle > ant; but Eclipse also offers mvn. Also, this is
the main reason of slow run/debug -ing in AStudio and there is no way
around it. You just have to swallow the pill and wait 15-20 seconds
every time you change a line of code. +E
Auto-save: just makes me think Google felt I was retarded and this feature would save my life. +E
Final score:
A : E
1 : 7
Which begs the question of why in the world did they switch to AStudio. That being said, we naturally have no say in this, we just blindly follow the Man.
First, Android Studio is created and maintained by Google toolkit development team. That means that seemingly every latest update of Android Development will be pushed to AS at the first time. Second, AS is an integration of different Android Development Tools, including ADT, IntelliJ, Gradle, Maven, Ant...You know, ADT could be pluggin in many different open-source development tools, like Eclipse, IntelliJ, NetBeans...When you migrate projects from one to another, some problems could be caused because they have different programming rules and formats which pains not only developers but also Google's and Android's. That is a question. So Android Studio may be a solution for this.
I am a seasoned developer in eclipse adt and recently switched to AS ( Dec 2015) . I should say eclipse is definitely better than AS! True eclipse crashes but so does AS and even more! Eclipse know how a Java developer thinks and thus is very very intuitive. AS crashes blatantly throwing NPEs which is embarrassing! As of now AS is definitely over-hyped. I am sure intellij has done some evil deals with google to push its IDE. People who are voting for AS have definitely not worked in eclipse for long. This debate is becoming more of "Who knows what!" rather than "Which is better!"
Here is an article that I am currently writing. Its high somebody raise his voice:
http://pissedoff-techie.blogspot.in/2016/01/why-android-studio-sucks-over-eclipse.html
Android Studio's primary problems:
Very slow compilation for debugging. For some of my project Eclipse - 11 sec AS 5 min!
String completion is unusable. For example, completion without parameters. No completion for some operators, for example if, else, for etc.
AS dramatically slows the PC down: mouse and keyboard are periodically freezing.
Project structure is intricated.
So, how to continue using Eclipse if new version of Google Play Services (V30 and higher) is not available for Eclipse but only for AS? This is info how to prepare AS libs (Analytic, ADS, etc) for Eclipse.
Eclipse is far more superior to AS. It is much easier to use, more intuitive, much less buggy (even though alot buggier than VISUAL Studio, but we're comparing to AS), and will probably make your work more productive. It's 2016 now and I'm planning to keep using Eclipse as long as it's possible.
I am new and I started with AS, but soon grew frustrated when it came down to using other developers repositories in my project. The whole aggrevating process and guesswork of migrating them over to the gradle and configuring manually just became over bearing to me, so I went retroactive and downloaded Mars1 and gave it a try. I found it to be a little unintuitive at first, but once it I learned the navigation I fell in love with the openness of it.. I still intend to use Android Studio for all or my releases, but eclipse is now my goto ide right now unless Google tries making some API that is only used in Studio. I like options and hate it when companies try to streamline they lose great experienced developers that way. Also #mistersmith...you probably cannot afford to be that naive. You are going to go the way of the dodo thinking their is only one solution and feeding into corporate garbage. You may not know it, but google is grooming people like you into believing AS is the only practical solution. Just wait until you are forced to migrate to something differnent in the future after buying into AS for all of your mobile application needs.
In my opinion:
Android Studio is official IDE for Android developer which was provided by Google. So, we can have latest support for updating or any official change from google.
Using Android Studio is better than Eclipse for layout. You can code the layout and see the preview [at least, when I answer this question, Android Studio is better than Eclipse]
With build.gradle we can easily access share library of others on github.
We also can avoid some silly bugs with code analyzer tool of Android Studio (without add any plug-in). And we also can have many other help from it to improve coding style or logic, ...
I feel mad with the problem of generate R.java on Eclipse. Sometimes, my Eclipse does not generate this file, so I have to find many solutions to solve it. On Android Studio, we can easily deal with this problem (this problem almost occurs due to define resource).
If you familiar with Shortcuts (combination key) on Eclipse (Mac OS or Windows,...) you can configure to get this on Android Studio: Go to File -> Settings -> KeyMap -> Keymaps dropdown Option. Select from them.
But, Android Studio is not always good. Specially, when you work on a big project, which includes many projects (each project will generate a apk file). Android Studio is not possible to open two projects in a single window. New projects can only either be opened in a new window or replace the project in the existing window. Someone talks that Module in Android Studio is same as project on Eclipse and Project in Android Studio is same as workspace on Eclipse. But, I think it is not equivalent.
gradle and indexing process on Android Studio is so heavy for wooden PC (just like laptop core-i5 + RAM 4GB + HDD sata), it will result in showing Android Studio is not responding
There's a question already here which answer this perfectly.
To add my bits, Android Studio is the one which is getting the latest update and is going to be the only official IDE for the future, so I think everyone should move to Android Studio.
Android Studio is far better, stable and lightweight IDE. Eclipse has been crashing on me since I started Android Development, while Android Studio had a lot less crashing. On top of that we have a very good integration of Maven for libraries in Android Studio.
The future is here with Gradle, ANT is a thing of past.
Here are some thoughts about how Android Studio team has not been able to become a product of a lot better than Eclipse and why, in my opinion, Google Android Studio will close the project in the near future due to some chronic problems: http://turbocolour.blogspot.com/p/eclipse-adt-vs-android-studio.html
Interesting topic for me:
I used to think that Eclipse was a hell of IDE for building Android apps... ironically, now that I am using AS things got worst.
For sure AS is much more integrated with the android platform but that is why I would have expected something smoother and hassle free: Eclipse had the excuse of being a general purpose IDE after all.
I think the problem lies in the android architecture itself and the related dev tools that makes coding awkward, unpleasant with much lower throughput compared to other more stable platforms.
Google seems not to care too much about changing API and forcing project/code upgrades to make possible to update projects written for previous versions.
They seem to not care at all about backward compatibility.
They introduce changes their libs, even stripping away entire APIs from the core (apache for instance in Android 6), think about play services (that is becoming now bigger than the OS itself), admob, analytics....they keep on changing and changing forcing to upgrade / change source / re deploy.
Every time I see a popup in the dev console about a new feature I feel shivers down my spine.
What about the fact they discontinued eclipse while their studio was still unstable and most important not giving decent reliable tools for porting projects ? Have you guys tried to port a big old project into AS ? It’s a kind of hell...
I just think they don't care that much about coders cause we ARE A LOT, We do not pay them and want it or not you will have to conform if you want to stay in.
I cannot even think about for example Microsoft or Apple doing the same with their dev tools, but it is also true that in such cases you pay them.
My opinion of course.
#Eugene
The reason you say this is the same reason aged developers end up without jobs.
Hey kid, RESPECT.
Have a look to what the previous generations of coders did for the IT and what your one is doing and then think about what you write.
Just give you some names to start your homework: Stallman Knuth Torvalds Berners Lee Wozniak Ritchie Codd Thomson Engelbart and I could continue ....
I tried android studio(AS) and it makes your computer very very slow. I have a intel I5 core processor but it takes a lifetime to open AS. I tried to code a little and i see that auto-completion is great in AS. I tried to search the internet how to make AS fast so try it a little more. There are bunch of tutorials that say it can make the AS fast including disabling other programs. With all the hardwork you have to input just to make AS fast, i switched back to Eclipse. Eclipse is a lot lot lot faster than AS. Installing AS just wasted one day of my life.
As of May 2015, Android Studio support for NDK has significantly improved. You can choose between automatic native lib generation, or using your own Android.mk in more complex cases. But AS still does not provide a way to debug native parts of an app (if you are using JNI). This may be the last reason to keep Eclipse on one's desktop.
Update, a year later: Android Studio 2.2.1 provides decent NDK support, and is almost fully compatible with the old Android.mk - based configuration. And it does support C++ debug, much easier than Eclipse ever did.
The main Pro now is one has to use it for Android dev. The main con is many other tools still use Eclipse. Even Appium automated test framework for Android.
Nowadays one must use Android Studio. It has great features such as code search: one can context click on
Find Usages
when a class is highlighted and find uses in the code. (nevermind the word "usages" is incorrect English. :-) It's the Google way. Swim with it.
It has some tighter integration than was accomplished with Eclipsed such as the nice feature to context menu on an xml layout file and find where in code it is used. Useful.
Also, it uses Gradle so people can write their own build processes rather than having an IDE do it automatically. I think this frees Google from having to waste time figuring out how to make the IDE handle all the configuration mess.
While our build went from 2+ minutes with AS 1.x to 17 minutes with AS 2.x, this could be attributable to how we have our Gradle files laid out. We need a build programmer to make sure our build configuration is correct.
As you can see, the main Pro is one has to use it and the putative Pros are it has better support for Android code navigation and screen designers. The main Con is it moves from the standard IDE used for most all other Java development and it doesn't provide drastic improvements in performance. Another Con is it arguably introduces the need for a new role of build engineer; but many projects already were bogged down into manual build definitions with Maven; so, that may not be a Con depending on your team's speed.
For Android development definitely Android Studio is better than Eclipse. I have worked on Eclipse for almost 4 years but when I switched to Android Studio, I felt the difference. Below are few points I have noticed:
Performance:
Android Studio's performance is better than Eclipse and improving with each new release.
Intelligent:
Android Studio is more intelligent than Eclipse. It gives you suggestions more accurate and fast
More options:
You can build multi flavor APKs at once in build.gradle
Summary:
After working on Android Studio if you will work on Eclipse you will feel the same as driving a entry level car of Toyota after driving Lamborghini Aventador :)
I felt this difference
Update:
Android Studio 2.0 is coming. Its very very fast than current Android Studio. http://android-developers.blogspot.jp/2015/11/android-studio-20-preview.html
Update:
Android Studio 3.0 is released. As I mentioned 2 years ago about the difference, Android Studio is getting better day by day. Have a look into AS 3.0 : https://android-developers.googleblog.com/2017/10/android-studio-30.html
Update:
Android Studio 3.3 has been released last month. Please check here for more details: https://android-developers.googleblog.com/2019/01/android-studio-33.html
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am about to start developing an android app and need to get an IDE. Eclipse and the android eclipse plugin appears to be the natural choice. However I am familiar with intelliJ and re-sharper so I would prefer use intelliJ.
Has anyone used https://code.google.com/archive/p/idea-android/? Is this any good?
Should I just bite the bullet and learn Eclipse?
LATEST NEWS
Android Studio has officially come out of beta and been released. It is now the official IDE for Android Development - Eclipse won't be supported anymore. It is definitely the IDE of choice for Android Development. Link to download page: http://developer.android.com/sdk/index.html
NEWS
As of Google I/O 2013, the Android team has moved to IntelliJ Idea with the new Android Studio IDE: http://developer.android.com/sdk/installing/studio.html
Great to see Google endorse Idea. It is safe to say that Android Studio, and thus Idea, will from now on be the definitive IDE for Android development! :D
ORIGINAL ANSWER
IntelliJ now has support for Android. See Enabling Android Support from the JetBrains help page and the Google Code project page for the plugin. The Getting Started wiki page is pretty helpful.
If you are used to IntelliJ, I don't think it would be beneficial to switch IDEs just for Android tools. You can work on Android with any text editor (I use Vim). If you're more productive with a specific environment I don't see why you'd have to learn a new one. Not worth it in my opinion. Plus I'm a big IntelliJ fan. The IntelliJ plugin lets you make apk files and push the app to the emulator, that's all you need for Android app development. I'd say you're safe sticking with IntelliJ.
Update: there is now an official free IDE for IntelliJ android dev! http://blogs.jetbrains.com/idea/2010/10/intellij-idea-10-free-ide-for-android-development/
Eclipse is not that hard to learn (I use both Eclipse and NetBeans, and I switch back and forth pretty effortlessly). If you're going to be learning Android development from the start, I can recommend Hello, Android, which I just finished. It shows you exactly how to use all the features of Eclipse that are useful for developing Android apps. There's also a brief section on getting set up to develop from the command line and from other IDEs.
Of the existing IDEs, Ted Neward ranks them this way:
Best: IntelliJ IDEA
Second: Netbeans
Third: Eclipse
He seems to think that Eclipse throws up a lot of "friction"; hard to say what that means.
Edit, years later: After attempting to use Eclipse/Aptana for node development and using JetBrains products for node and ruby development I would absolutely start with IntelliJ IDEA and give that a try for the 30 day trial.
Unfortunately, there is no perfect IDE for Android. Eclipse has more features as it is the only IDE google developed plugin for. However, if you are just like me, tired of crashes and weired debug/develop mode swithes, Use Netbeans plugin from http://nbandroid.kenai.com.
If you do android native code development using NDK, give Visual Studio a try. (Not a typo!!!) Check out: http://ian-ni-lewis.blogspot.com/2011/01/its-like-coming-home-again.html
and: http://code.google.com/p/vs-android/
I think intellij is the best option for android. i have used both eclipse and intellij and found intellij is much easier to use with android as compared to eclipse because of these reasons :-
Intellij provides a built-in support for android and you don't have to configure it as you need to do with eclipse.
Intellij gives you auto-lookup feature which is really important for developer like us to increase our productivity. And if we talk about eclipse you have to type each and every method, classname etc on your own. (May be eclipse has this feature too but i never found it and trust me i tried to find it like anything)
Its much more user friendly and easy to use than eclipse.
I hope it will help you and other members of stack overflow to decide which IDE is best for Android development.
My personal choice is Intellij.
EDIT
But there is one thing i love about eclipse and that is visual layout creator. You can use drag and drop technique to create a layout and eclipse will automatically generate an XML file for you just like XCODE.
EDIT
Good News!! Intellij added a new feature which shows how your app's view is going to look like. It doesn't work exactly like Eclipse but it will give you a good idea about your layout.
My personal choice is still Intellij because it helps me to type faster than eclipse.
EDIT
Ok guys these days i am using eclipse juno and found its kind of buggy and slow. So if you still want to use eclipse better stick to some older version. And finally i am able to found how to enable auto-complete in eclipse. Below is a small tutorial.
Eclipse -> Preference - > Java -> Editor -> Content Assist -> Auto Activation
Now put following in the three given boxes
Auto Activation delay(ms) - 0
Auto activation triggers for java - .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
Auto activation triggers for javadoc - ##
You are now good to go. Happy coding.
EDIT
As now Google has adopted Intellij for their own Android dev tool, there is no question now about which one is better. Intellij is far far better than eclipse. And i switched back to Intellij and it feels like i am back home!! :D
All of the full-featured Java IDE's are good and share all of the same concepts and main features. If you can find your way around one you can probably do the same for any other without much trouble.
EDIT: Google gave us a wonderful gift with the new and free AndroidStudio is very good. I highly recommend it over Eclipse.
If you haven't installed Eclipse yet, I'd recommend Motorola's MotoDev Studio. It does a lot of the annoying little tasks like set up your Android environment along with your paths, and adds a lot of nice built in functionality to Eclipse.
Even if you've already installed Eclipse, you can add it as a plugin (I haven't tried that myself). It is by Motorola, so they have some Motorola centric functionality as well, such as the ability to add your app to the Motorola market. Anyway if you're interested, give it a shot: http://developer.motorola.com/docstools/motodevstudio/
I've been using IntelliJ IDEA for the last 12 months now as my main IDE, but I am often forced to use Eclipse as well. So when I have to work in Eclipse I start biting my nails. I will sum up my pros and cons.
Eclipse pros:
- visual editor. IDEA has one as well, but it's rather primitive. I suspect that this feature will soon be deleted as IDEA will improve its editor.
- many projects into one right pane (this is also my personal con as I like IDEA's one-project-per-pane thing)
- faster compiles Android projects. IDEA has made its compilation process faster, so I also soon expect to delete this Eclipse pro
IDEA pros:
- faster intellisense (if you like Resharper, then you know what I am talking about)
- smarter autocomplete - my friend and I decided to write the same class. I finished before him simply because IDEA faster reacts to my wishes
- incredibly smart - do not know what to do? just press Ctrl+Shift+Space and IDEA will tell you what should come there. It also recognizes naming scheme to if you're filling name object, it will first display getName method.
- will add more as I remember of them
IDEA cons:
- Still the only con is that if you open Eclipse Android project and edit any XML layout file, Eclipse will no longer be able to display edited file into its visual layout editor. This has not been fixed as of this day and it's IDEA's bug as it somehow messes the XML.
Bottom line: if you're a person who does not see advantages of ReSharper in .NET (and we all coded in .NET), then you'll probably stick to Eclipse. It's official Android IDE and you believe it's the best.
If you liked ReSharper and want to code faster, then you'll appreciate IDEA and will stick to it forever.
An IDE which supports Android development is Processing for Android: http://wiki.processing.org/w/Android. Processing is its own language but it's easy to learn. Processing for Android requires the JDK and Android SDK to be installed but runs on its own. It runs on Linux, Mac OSX and Windows (on a side note: one can develop a desktop app in Processing and then compile it to target any of these operating systems). Its development is ongoing but it works. It's especially good for quickly sketching up an idea and running it on your Android phone (even if you plan to develop it further in another IDE).
There is an active support forum here: http://forum.processing.org/android-processing.
One good system is Basic4Android - great for anyone familiar with Basic,
Includes a visual designer for screen layouts
Can connect to the emulators available as part of the Android SDK
Makes it relatively easy to develop programs.
Eclipse and Netbeans are both horrible slow, and I'ts a miracle that even the serious developers has been sticking with it for years, not even try to stick with a better product.
Java as platform is a shame when it comes to non-handheld platforms (win,mac,linux) and if anyone are going to develop on the platform I say do what else but do not use Java at all. For mobility it's probably has a kind of good luck here, as the systems are more down-scaled.
As far I know, there aren't any existing IDE for Java which aren't iself written in a Java environment. This is horrible because Java is messing up the desktop environment.
I'm willing to spend hours on google to find an Java IDE/Editor which are capable for android projects but will use a native environment for itself.
I Feel Eclipse IDE is more suitable for android applications rather than other IDEs.
Because its providing us more than five perspectives which will make our project flexible and ease.You may try Eclipse ides starts with 3.6 and above will provide you better performance.
Eclipse_jee_indigo
Eclipse_java_indigo
Eclipse_classic
The above eclipses are belongs to the version3.7.2 which are all latest and supports all kind of access.
I am a huge supporter of using the environment that is most familiar to you. However this isn't always the best option. In some cases, a different environment can result in (far?) greater efficency in the long run.
In this particular case I suspect that sticking with what you already know is a good option, but someone starting new would benifit from the easy setup and sdk/ndk integration offered by eclipse. I also don't know how available geolocation manipulation (or phone state manipulation - ie incoming call etc) is in other IDE's, but integration within eclipse feels seamless.
AIDE is a fun option that I use while traveling or when I don't feel like sitting at my desk all the time. It is an extrodinarly well put together IDE that runs on Android, compiles Android appications, and then lets you install, all without touching a computer. It includes a logcat readout, syntax highlighting and some git compatibility as well. Obviously you don't have a lot of screen real estate available and things can get cluttered or you can't see everything you want to at once, but for quick touchups or early in a project it is more than adequate.
Eclipse is the best IDE. It easy to setup android and debug applications in eclipse
Eclipse is the most widely used development environment for the Android platform. The reason is that even Google itself providing the plug-in to be added in eclipse and start developing the applications. I have tried installing it from the eclipse market place, it is very easy and simple to create the android application. set up also very simple.
You can also develop rich UI filled Android applications using Adobe AIR. If you plan to go that route then Flex Builder Burrito is the best IDE. Take a look at this post as to how easy it is to build an AIR4Android app http://blog.air4android.com/?p=13
I advise Android bundle for TextMate: https://github.com/nesterow/Android.tmbundle It's lightweight and easy to use. There is no intellisense, but actually it just makes you remember namespaces better. :)
For me the best is Motodev is a Eclipse plugin developed by Motorola.
you can use Juno, i just find it. it's fastest than Helios that i worked with that. you can try it.
In my recently started internship (I'm studying computer science), I have to port a somewhat big existing Project to Android. It is a Visual C/C++ Project which in the end should run on Android using of course the NDK. The problem is that I don't know a thing about porting software, since this is not covered in my studies...
I had a few days to get to know the project I will be working with a little.
A few words about the complexity:
It is a Visual Studio solution which consists of 28 projects of which most are kind of big...
And now I need to develop a concept for porting it to Android, and this is why I'm writing this. I have absolutely no idea know where to start, also I don't know how to get to a concept for porting it. I tried searching online for some stuff or for some books covering this, but I found nothing.
Of course I know, that basically I have to remove everything that is Visual/Windows specific and replace it with appropriate Android/Linux functions or implement something new if there is nothing corresponding on Android.
But since this project is somewhat huge, I can't just try to compile it with the correct compiler and work through the error messages, this will lead to nowhere, I guess...
So now my actual question:
Is anybody experienced about this or something similar and can give some tips how to start with it? As I said, I first need a concept. Something more general about how to start and deal with porting a software project of this size is also very welcome, since I don't know nothing about it...
I think that you're approaching the whole matter in the wrong way. There are several tools that will allow you to compile C# and visual C++ and other visual languages from their respected IDEs to the android platform. For example there is mono for android . Mono is a plugin for visual studio which helps you create android projects using visual studio and .net technologies. I think you should focus your research on tools like this because changing all of the code manually is nearly impossible and too time consuming. Here is a page that will help you get started with mono for android. Good luck.
See this answer Android NDK with Visual Studio.
Personally I don't use this, but It seems to be a nice solution to your problem.
Like you, in the past, we had to port a big Visual C++ library project to Android, we proceeded in this way:
Try to compile the main library interface (by creating the relative Android.mk)
By using linking errors, you should guess other projects to be compiled and create the mks for them
Cycle until you have no more linking errors.
You didn't tell about the source code size of the project (how many thousands of lines of source code).
If the code size is big enough (e.g. at least 100 KLOC), you could consider customizing the GCC compiler (assuming a recent 4.6 or 4.7 version), perhaps using MELT (a high level domain specific language to extend GCC), or painfully coding in C a GCC plugin. This GCC customizing approach is worthwhile only for large code bases (you'll need several days to master GCC internals).
On the other hand, many well designed applications may have packaged their operating system functions inside a well defined interface and library. You might consider porting your application to Qt or some other cross-platform library.
We need more details about your project to help you more.
I've been doing a lot of research to try to set up my development environment to produce highly maintainable code, essentially. I've found many tools for Java/Android around, and the more I research or try to use more it seems that I end up running around in circles. Is there anyone that can give me solid advice on these things? A lot of my search results are out of date, and/or partial. They at best get me one piece of the set up, but don't work well with each other.
Tools I've tried to integrate into my development:
Code Coverage
TDD
Build tools
Dependency Injection
Compatibility libraries
Continuous Integration
I wanted to have a nice MVC structure to my project, with proper scoping of objects, so I discovered Roboguice/Guice and using interfaces/abstract classes to expose the API of the underlying implementation. This I got to work fine for me so far, though not for testing yet. I need an older-SDK compatible Action Bar, so I was lead to ActionBarSherlock in the Android Office Hours. I can add the Android Library Project fine it seems.
Then I discovered (at least for the current stable version) you have to do some maneuvering to get it to work with Roboguice because of the compatibility library. The solution pointed to using Maven to handle the dependencies. So I look into converting my Android project to a Maven Android project (it's something I was considering doing anyways for the cleaner project dependency management). Now I believe I have Maven, Android, and Eclipse (yes, I forgot, Eclipse is another variable in this equation) to work together. But now I'm having issues using the ActionBarSherlock library when importing it through an apklib-type dependency as the guide mentions. Can't "find symbol: class FragmentActivity" for example. I try to make a new Android Library Project with the "target/unpack/apklibs/" Maven produces, but can only get empty Android projects missing an AndroidManifest.xml.
Then I try to find how I could add code coverage for my testing suite, and I find Emma, EclEmma, and Robotium. It seems that those only "work" with Ant builds, in particularly, I've only read things for Emma that seem to require major modifications of the default Android files and build script to support the code coverage reporting. I'm now hesitant to move forward on those because I don't want to destroy my Android development base pursuing old advice, and it requires Ant not Maven, but my earlier work needs Maven.
I'm hesitant to ask such a question because it seems broad, but they are important tools for developing production code so people must be using them, and I can't seem to figure out how to get a nice subset of them working simultaneously. Is there any experienced advice for this issue?
This is more of a side note. All tools you are mentioning are wonderful but please remember that all of them come at the cost of adding bulk to your app. My rule of thumb is: no more than 150-200K of added weight. So I have a tendency to use simple and built-in packages. I get much more mileage on good reusability of my code and I'm really picky about any code repetition. So, refactor, refactor and refactor. Eclipse provides wonderful facilities for that
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am about to start developing an android app and need to get an IDE. Eclipse and the android eclipse plugin appears to be the natural choice. However I am familiar with intelliJ and re-sharper so I would prefer use intelliJ.
Has anyone used https://code.google.com/archive/p/idea-android/? Is this any good?
Should I just bite the bullet and learn Eclipse?
LATEST NEWS
Android Studio has officially come out of beta and been released. It is now the official IDE for Android Development - Eclipse won't be supported anymore. It is definitely the IDE of choice for Android Development. Link to download page: http://developer.android.com/sdk/index.html
NEWS
As of Google I/O 2013, the Android team has moved to IntelliJ Idea with the new Android Studio IDE: http://developer.android.com/sdk/installing/studio.html
Great to see Google endorse Idea. It is safe to say that Android Studio, and thus Idea, will from now on be the definitive IDE for Android development! :D
ORIGINAL ANSWER
IntelliJ now has support for Android. See Enabling Android Support from the JetBrains help page and the Google Code project page for the plugin. The Getting Started wiki page is pretty helpful.
If you are used to IntelliJ, I don't think it would be beneficial to switch IDEs just for Android tools. You can work on Android with any text editor (I use Vim). If you're more productive with a specific environment I don't see why you'd have to learn a new one. Not worth it in my opinion. Plus I'm a big IntelliJ fan. The IntelliJ plugin lets you make apk files and push the app to the emulator, that's all you need for Android app development. I'd say you're safe sticking with IntelliJ.
Update: there is now an official free IDE for IntelliJ android dev! http://blogs.jetbrains.com/idea/2010/10/intellij-idea-10-free-ide-for-android-development/
Eclipse is not that hard to learn (I use both Eclipse and NetBeans, and I switch back and forth pretty effortlessly). If you're going to be learning Android development from the start, I can recommend Hello, Android, which I just finished. It shows you exactly how to use all the features of Eclipse that are useful for developing Android apps. There's also a brief section on getting set up to develop from the command line and from other IDEs.
Of the existing IDEs, Ted Neward ranks them this way:
Best: IntelliJ IDEA
Second: Netbeans
Third: Eclipse
He seems to think that Eclipse throws up a lot of "friction"; hard to say what that means.
Edit, years later: After attempting to use Eclipse/Aptana for node development and using JetBrains products for node and ruby development I would absolutely start with IntelliJ IDEA and give that a try for the 30 day trial.
Unfortunately, there is no perfect IDE for Android. Eclipse has more features as it is the only IDE google developed plugin for. However, if you are just like me, tired of crashes and weired debug/develop mode swithes, Use Netbeans plugin from http://nbandroid.kenai.com.
If you do android native code development using NDK, give Visual Studio a try. (Not a typo!!!) Check out: http://ian-ni-lewis.blogspot.com/2011/01/its-like-coming-home-again.html
and: http://code.google.com/p/vs-android/
I think intellij is the best option for android. i have used both eclipse and intellij and found intellij is much easier to use with android as compared to eclipse because of these reasons :-
Intellij provides a built-in support for android and you don't have to configure it as you need to do with eclipse.
Intellij gives you auto-lookup feature which is really important for developer like us to increase our productivity. And if we talk about eclipse you have to type each and every method, classname etc on your own. (May be eclipse has this feature too but i never found it and trust me i tried to find it like anything)
Its much more user friendly and easy to use than eclipse.
I hope it will help you and other members of stack overflow to decide which IDE is best for Android development.
My personal choice is Intellij.
EDIT
But there is one thing i love about eclipse and that is visual layout creator. You can use drag and drop technique to create a layout and eclipse will automatically generate an XML file for you just like XCODE.
EDIT
Good News!! Intellij added a new feature which shows how your app's view is going to look like. It doesn't work exactly like Eclipse but it will give you a good idea about your layout.
My personal choice is still Intellij because it helps me to type faster than eclipse.
EDIT
Ok guys these days i am using eclipse juno and found its kind of buggy and slow. So if you still want to use eclipse better stick to some older version. And finally i am able to found how to enable auto-complete in eclipse. Below is a small tutorial.
Eclipse -> Preference - > Java -> Editor -> Content Assist -> Auto Activation
Now put following in the three given boxes
Auto Activation delay(ms) - 0
Auto activation triggers for java - .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
Auto activation triggers for javadoc - ##
You are now good to go. Happy coding.
EDIT
As now Google has adopted Intellij for their own Android dev tool, there is no question now about which one is better. Intellij is far far better than eclipse. And i switched back to Intellij and it feels like i am back home!! :D
All of the full-featured Java IDE's are good and share all of the same concepts and main features. If you can find your way around one you can probably do the same for any other without much trouble.
EDIT: Google gave us a wonderful gift with the new and free AndroidStudio is very good. I highly recommend it over Eclipse.
If you haven't installed Eclipse yet, I'd recommend Motorola's MotoDev Studio. It does a lot of the annoying little tasks like set up your Android environment along with your paths, and adds a lot of nice built in functionality to Eclipse.
Even if you've already installed Eclipse, you can add it as a plugin (I haven't tried that myself). It is by Motorola, so they have some Motorola centric functionality as well, such as the ability to add your app to the Motorola market. Anyway if you're interested, give it a shot: http://developer.motorola.com/docstools/motodevstudio/
I've been using IntelliJ IDEA for the last 12 months now as my main IDE, but I am often forced to use Eclipse as well. So when I have to work in Eclipse I start biting my nails. I will sum up my pros and cons.
Eclipse pros:
- visual editor. IDEA has one as well, but it's rather primitive. I suspect that this feature will soon be deleted as IDEA will improve its editor.
- many projects into one right pane (this is also my personal con as I like IDEA's one-project-per-pane thing)
- faster compiles Android projects. IDEA has made its compilation process faster, so I also soon expect to delete this Eclipse pro
IDEA pros:
- faster intellisense (if you like Resharper, then you know what I am talking about)
- smarter autocomplete - my friend and I decided to write the same class. I finished before him simply because IDEA faster reacts to my wishes
- incredibly smart - do not know what to do? just press Ctrl+Shift+Space and IDEA will tell you what should come there. It also recognizes naming scheme to if you're filling name object, it will first display getName method.
- will add more as I remember of them
IDEA cons:
- Still the only con is that if you open Eclipse Android project and edit any XML layout file, Eclipse will no longer be able to display edited file into its visual layout editor. This has not been fixed as of this day and it's IDEA's bug as it somehow messes the XML.
Bottom line: if you're a person who does not see advantages of ReSharper in .NET (and we all coded in .NET), then you'll probably stick to Eclipse. It's official Android IDE and you believe it's the best.
If you liked ReSharper and want to code faster, then you'll appreciate IDEA and will stick to it forever.
An IDE which supports Android development is Processing for Android: http://wiki.processing.org/w/Android. Processing is its own language but it's easy to learn. Processing for Android requires the JDK and Android SDK to be installed but runs on its own. It runs on Linux, Mac OSX and Windows (on a side note: one can develop a desktop app in Processing and then compile it to target any of these operating systems). Its development is ongoing but it works. It's especially good for quickly sketching up an idea and running it on your Android phone (even if you plan to develop it further in another IDE).
There is an active support forum here: http://forum.processing.org/android-processing.
One good system is Basic4Android - great for anyone familiar with Basic,
Includes a visual designer for screen layouts
Can connect to the emulators available as part of the Android SDK
Makes it relatively easy to develop programs.
Eclipse and Netbeans are both horrible slow, and I'ts a miracle that even the serious developers has been sticking with it for years, not even try to stick with a better product.
Java as platform is a shame when it comes to non-handheld platforms (win,mac,linux) and if anyone are going to develop on the platform I say do what else but do not use Java at all. For mobility it's probably has a kind of good luck here, as the systems are more down-scaled.
As far I know, there aren't any existing IDE for Java which aren't iself written in a Java environment. This is horrible because Java is messing up the desktop environment.
I'm willing to spend hours on google to find an Java IDE/Editor which are capable for android projects but will use a native environment for itself.
I Feel Eclipse IDE is more suitable for android applications rather than other IDEs.
Because its providing us more than five perspectives which will make our project flexible and ease.You may try Eclipse ides starts with 3.6 and above will provide you better performance.
Eclipse_jee_indigo
Eclipse_java_indigo
Eclipse_classic
The above eclipses are belongs to the version3.7.2 which are all latest and supports all kind of access.
I am a huge supporter of using the environment that is most familiar to you. However this isn't always the best option. In some cases, a different environment can result in (far?) greater efficency in the long run.
In this particular case I suspect that sticking with what you already know is a good option, but someone starting new would benifit from the easy setup and sdk/ndk integration offered by eclipse. I also don't know how available geolocation manipulation (or phone state manipulation - ie incoming call etc) is in other IDE's, but integration within eclipse feels seamless.
AIDE is a fun option that I use while traveling or when I don't feel like sitting at my desk all the time. It is an extrodinarly well put together IDE that runs on Android, compiles Android appications, and then lets you install, all without touching a computer. It includes a logcat readout, syntax highlighting and some git compatibility as well. Obviously you don't have a lot of screen real estate available and things can get cluttered or you can't see everything you want to at once, but for quick touchups or early in a project it is more than adequate.
Eclipse is the best IDE. It easy to setup android and debug applications in eclipse
Eclipse is the most widely used development environment for the Android platform. The reason is that even Google itself providing the plug-in to be added in eclipse and start developing the applications. I have tried installing it from the eclipse market place, it is very easy and simple to create the android application. set up also very simple.
You can also develop rich UI filled Android applications using Adobe AIR. If you plan to go that route then Flex Builder Burrito is the best IDE. Take a look at this post as to how easy it is to build an AIR4Android app http://blog.air4android.com/?p=13
I advise Android bundle for TextMate: https://github.com/nesterow/Android.tmbundle It's lightweight and easy to use. There is no intellisense, but actually it just makes you remember namespaces better. :)
For me the best is Motodev is a Eclipse plugin developed by Motorola.
you can use Juno, i just find it. it's fastest than Helios that i worked with that. you can try it.