[IDE] Using IntelliJ IDEA for Android development - IDEs, Libraries, & Programming Tools

When starting with Android development most people start so by using Eclipse, so did I. Unfortunately for me this was a quite frustrating experience no matter if I developed on Windows or Linux. I often had troubles launching projects after some changes and was forced to rebuild the whole workspace (which takes a while esp. if you included a couple library projects). So after a while I decided to switch to IDEA which is a lot more satisfying. I never had any issues with broken projects and everything just builds so much faster.
One big difference (and it seems many people have troubles with it) is IDEA's handling of library projects. Unfortunately I think this is done in a very logical way, as each "project" is handled as a model. Means you create a project ("My app"), add a module for your main app project, and add new modules for each library project you would add. For each modules you can set the dependencies and say on which modules it depends.
In the newest version (12) Jetbrains also added an Android UI designer, which was one of the features not available before.
If you are curious you can download and install IDEA from their website, or when you are using Ubuntu you can simply download it from Software center.
http://www.jetbrains.com/idea/
And here's a nice article given a quick introduction:
http://www.itwriting.com/blog/7083-intellij-idea-the-best-ide-for-programming-android.html

IDEA rocks, +1. It makes my little Arch box work like a real PC at times

i use idea too,just feel good
Sent from my Nexus 4

What about the on-the-fly analysis performed by IDEA during development? Does it detect many bugs?
Have you never used this functionality?

Nobody uses this feature of IDEA?

I've only had a brief play with it so far - updated the Android SDK and loaded 1 project from GitHub, but it compiles like lightning compared to Eclipse. Thanks for letting us know about this - it's much appreciated

So how does it handle multi-module projects? The advantage of Eclipse/Qt Creator is you can keep multiple projects open at once plus the plugin integration with Maven and Git.
I briefly tried out IntelliJ a couple months back and immediately stepped away when it failed multi-module requirement for me.
More speed than molasses Eclipse would be nice, though the Windows version runs tolerably on fast i5 and SSD.
If it supports .webp on the UI designer (unlike Eclipse), then I'll be all over it!

IntelliJ IDEA has no workspace concept like Eclipse, but its project can have multiple modules: http://www.jetbrains.com/idea/documentation/migration_faq.html .

I'm a total noob/beginner when it comes to programming - never really been into it. That said, I've recently been giving it a go using Eclipse - creating my own Android app. I've just installed IDEA and find it far better to use then Eclipse. Really loving it actually.

I never got into Eclipse. The only Eclipse project I tried using was IBM's Lotus version of OpenOffice. The thing was huge, bloated with Eclipse libraries.
Netbeans is my preferred IDE (also good for C++ and others) but it, unfortunately, falls short for Android.
Intellij worked first try. Glad to see a forum for this on XDA!

Really happy this gets some attention, I've switched from Eclipse to IDEA a while ago and I can't go back.
IDEA is just so smart and works so nice!
I think the best part of IntelliJ is that when you are programming you do it in one environment, from IntelliJ I can see Jira stories, commit svn/git and everything else I do while programming, without switching to 5 different applications
I hope more and more people will switch to IntelliJ, thanks for this thread!

Isn't anyone here bothered by the slow compile times compared to Eclipse? I'm working on a relatively large project, and each time anything is modified it seems to rebuild from scratch. Eclipse in comparision is able to launch the app with the new changes almost instantly.
I love IntelliJ when it comes to it's editor and project management, but in the end it takes about 20s to get my changes on the screen. I'm probably saving some time not having to bother with corrupted workspaces and such though.

I have been using it for more than a year now, haven't looked back at eclipse again.

One thing that bugs me about all of these options is that they don't work on Android itself. Not a big deal for me yet, but I see it becoming more important as we start to see Android devices with bigger screens and keyboards.
I know that AIDE is a decent IDE that runs on Android, but it only runs on Android and it doesn't compare with Eclipse or IntelliJ (yet).
I heard that the current version of Eclipse (4.2) enables some degree of GUI independence, and the next version (due in June) enforces that. That would be a good step forward, but still mostly a theoretical one.
If JetBrain were to undertake the rather large task of making IntelliJ work on Android, as well as existing desktop platforms, they would certainly get my $.
I wonder - is the new Gradle based build system compatible with Android itself?
I found the new-ish GAE Endpoints service to be quite interesting in that part of the build process (code generation) happens on the server as a service. This strikes me as very Googly and I wonder whether Google will provide Android build as a service sometime in the near to medium future. That would certainly help move us towards a platform independent future, though I guess AIDE has shown that it is not the build system, but the IDE, that is holding us back from developing on Android.

I've been using IntelliJ since just after I started Android development (2+ years ago). I had tried Eclipse before that, and besides the excellent feature set, always found the editor to be lacking in many ways (still no virtual space). So when starting with Android development I just hated it because I had to do it in Eclipse. No offense to the people who use and love it, I'm sure that it is a great IDE, it just does not suit me at all.
When I discovered IntellJ, I immediately felt comfortable within the IDE. This made me enjoy the coding that much more which, to me, beats out any feature that an IDE can ever have. IntelliJ has some shortcomings, but overall I find it an exceptional IDE for Android development. It can be a tad sluggish in large projects, but not to the point of annoyance. It is also insanely stable, and I have NEVER in 2 years of working with it had a single crash - just brilliant.
Also, having been using it over an extended period, I can safely say that they excellent developers at JetBrains have constantly been improving on the Android support within the IDE. Feature wise, I think that IntellJ is definitely almost on par with Eclipse, and they have done this without any official support from Google (as far as I know). If Google would take notice of IntelliJ and provide support (I'm thinking ADT) that would just make it even better - here's hoping.
I would highly recommend anyone attempting android development to give IntellJ a go - the Community Edition is free. Especially developers coming from Visual Studio

Thanks, tried it, but I prefer Eclipse.
I'm a new programmer (now learning), and it seems better for me now.

DubelBoom said:
Thanks, tried it, but I prefer Eclipse.
I'm a new programmer (now learning), and it seems better for me now.
Click to expand...
Click to collapse
I think this is an important point. Try all the options available, and make a choice based on what you prefer.
I'm just glad that at this point Android has at least two very capable IDEs to provide that choice.

I really cant figure out how to get IDEA to see my install of the android SDK. It looks like their setup tutorial assumes default locations for jdk and android-sdk on windows. How do you setup paths if android-sdk is somewhere else? (using a mac)
Also, second link on the first post seems to be dead right now.

truehybridx said:
I really cant figure out how to get IDEA to see my install of the android SDK. It looks like their setup tutorial assumes default locations for jdk and android-sdk on windows. How do you setup paths if android-sdk is somewhere else? (using a mac)
Also, second link on the first post seems to be dead right now.
Click to expand...
Click to collapse
Check my answer here: http://stackoverflow.com/a/16485929/104891 .

I am on my second attempt at using IDEA for Android dev and I am stuck at the same point as last time, and its the only thing that Eclipse has going for it: I want to create a new Android app, min SDK 8, target SDK 17 (or whatever). This is fairly easy in Eclipse and I can go though the wizard for a new project, choose my settings, even the app icon and end up with the bare outline of my app that has the ICS style (ie an ActionBar & Holo theme)... can I hell do this is IDEA. I know that there is something I am/am not doing that is causing this but I have followed tutorials for adding support libs and even had a go at ActionBarSherlock.
I think this is where a lot of users are scared off of IDEA - I think its interface and usability is better than Eclipse, hell, the GUI editor for the layout XML files is better in IDEA than in Eclipse! (Eclipse freaked out on me several times trying to put static, non moving buttons at the bottom of the screen with a vertical scrollview above them, IDEA, sure, no problem!).
If they could sort the basics out, like getting the wizards included and even if they could allow you to add in various other frameworks (ABS, ViewPager etc) then they would have a winner.
On that matter, anyone got a tutorial on setting up a new project in IDEA the same as Eclipse with Holo theme?
Thanks

Related

So many question, so little time.

Hello all,
I am new to the Android scene and I wanted to find out if there are any good tutorials on app/rom development, what are the programming languages used, etc... I know learning from scratch is probably a long and bumpy road, but it is something I am interested in. I have already rooted and flashed my phone, good times that was. Thank you all for your help.
Th3Cap3
What's your existing programming experience? You could do worse than check out the anddev forums. App development is principally in Java though you can write parts of apps in C or even assembler.
My existing programming consist of very very very basic python, and some web stuff like HTML and CSS, I would basically have to learn how to program the ones you have mentioned from scratch, I have books for most of those though. I will go check out those forums and see what I can dig up Thanks for the info.
I bookmarked that page thank you, I just got a hold of their Eclipse software and all of their beginner tutorials I can't wait to dive into this stuff.
Me too. I know C, but only have a passing acquaintance with Java & Linux; Android I know even less about, not having encountered it till getting my Hero in February. I'm working my way through Thinking in Java (Eckel) to be followed by Professional Android 2 Application Development (Meier).
Even if your grasp of Python is basic it's still a start - you don't have to struggle again with fundamental procedural programming concepts like conditional execution, program flow control & so forth. Plus Python is an OOP language, aiui (I don't know Python) so you have a head start there too
I've installed Java, Eclipse & Android's SDK on this Windows box, but I'm thinking of dual booting Ubuntu as some things just work better in Linux, especially if one wants to cross compile ROMs. Aiui Cygwin, which I already use, can be a little problematic & when one is likely to be asking for help at times, it's useful to be using a similar set up to most devs.
I have been thinking about dual booting again, I just havent had to time to partition my drive and install some sort of linux release, UBuntu is the one I am most familiar with, which isnt very, but its a start.
I am going through those video tutorials from anddev.org right now, it seems to be similar to Python in the way the coding is done, I am excited.
I have also downloaded the Eclipse program, but I have the pulsar version, it seems to be geared more towards mobile development and I have gotten the Android toolkit installed and I have had the Android SDK from when I rooted my Hero (Which is awesome, running the newest Damage Control) good times.
I think I may have a java book on PDF somewhere as well, I will have to go look.
Atm I can't make up my mind between dual boot & Virtual Box, or maybe both, to see if I can wean myself off m$
I have been thinking about the dual boot option a lot since you mentioned it, not sure what to do, I may wait till this quarters class is over so that if something goes missing. it Sony be a big deal
Sent from my HERO200 using the XDA mobile application powered by Tapatalk

Eclipse + Android SDK + JDNI/LDAP Access

Hi All,
For sometime I have been looking for a suitable Active Directory Management tool on a mobile device, however have never found anything which quite cuts the mustard. For this reason I have decided to give it a bash myself. I am the proud owner of a lovely shiny new Desire and it feels like it's just crying out for an app of this nature.
Just hoping I might be able to discuss a matter which requires some expertise. I have the latest versions of the Eclipse IDE for Java Developers and the SDK installed, so far I'm having much success with my first GUI builds after following a cracking tutorial Although I can handle the GUI elements (which I normally hate), I'm struggling to forge my first LDAP connection.
I have found info about the "Java Naming and Directory Interface" for java (*however no download) and just wondering if anyone else has had any success using it to code an Android app? I'm not digging for too much info for the moment, just trying to get some assurance that what I am trying to achieve is actually possible.
Not everyone's cup of tea, I know.. But decided it'd be worth asking.
Much Love,
Futurian

What do you use to develop with?

I have been trying to learn how to do some android development for work and keep running into problems. I find it hard to believe that people are able to create a lot of these apps with the Google development tools in such poor condition.
I have set up a development system with eclipse and the android tools. One of the first problems I ran into is ADB crashing whenever I tried to debug and there was a device attached to the system. Didn't matter if I was trying to debug on the device or emulator, ADB would crash. I was finally able to get the problem fixed by using the Composite ADB interface driver instead of the plain ADB interface (would it really hurt Google to add one sentence to the directions to tell people this?)
Now every time I go to debug, the emulator comes up in Chinese/Japaneses. I type in English and it converts it. I can fix it by changing the input method, but I have to do it every time I start the emulator. I have Googled looking for a solution and have found this is a known problem that has been around for almost a year and there is no resolution with it. The bug reports I have found on the android site even lists them still as NEW!
When trying to debug a problem, I wanted to delete the shared preference file for the app as it seems like it had become corrupted and every time it went to read it, the app would force close. (And when this happen, the debugger perspective would come up but for the life of me, I could not find any information as to what caused the fault or any sort of stack trace to look back and see where in my code it failed).
If you are an app developer, are you running into these issues? Have you found ways to work around the problems? I just can't believe that this is the way people develop for this platform. I'm ready to tell my boss that we forget about the platform unless we can find some stable development tools, otherwise we will be spending more time fighting with the tools than working on the app.
If anyone has any suggestions, I would really like to hear them. I'm not a noob when it comes to software development (20+ years as a software engineer), but I have never seen development tools for such a major platform, be this poorly done. What am I missing?
I'm a professional developer as well too. 20 years or so as a C/C++ developer, but I've worked most of my career as a Unix developer. Naturally, I use linux where possible and my Eclipse setup on Gentoo linux is pretty stable. I tried on Win7-64 but it was buggy as heck. I believe that the problem is with Java. There seems to be so many ways to set it up wrong that I'm not sure you can set it up right under windows.
I find it ironic that Oracle is trying to sue Google for making a JVM that actually works!
I havent had any of your mentioned issues. I am running eclipse on a 32 vista machine and a 64 bit windows 7 machine.
Not sure what I may have done different that you for setup. But I followed the Android application development for dummies book. The author goes step by step of what to download and how to install and configure. Even though your software experience is way beyond this book maybe its worth picking it up to read the install notes.
FreeTheWorld said:
I havent had any of your mentioned issues. I am running eclipse on a 32 vista machine and a 64 bit windows 7 machine.
Not sure what I may have done different that you for setup. But I followed the Android application development for dummies book. The author goes step by step of what to download and how to install and configure. Even though your software experience is way beyond this book maybe its worth picking it up to read the install notes.
Click to expand...
Click to collapse
I picked up the book, "Sams Teach Yourself Android Application Development in 24 Hours" and it has a section for setting up the environment too. Followed it to the letter several times and always had this problems. I think the issue comes down to the books were written using version 6 and 7 of the SDK and the current version, 8, has introduced some problems the books don't cover. For example, the tools directory has been split into two directories, tools and platform-tools. When you first download the SDK, you don't get everything you had like before until you update the SDK.
I have talked to several other people who also had the problem with the ADB crashing like I did, even started a thread here about it. No one could get any help anywhere on resolving the issue. I think the problems I have that others don't see is because they started with an earlier version of the SDK.
Gene Poole said:
I'm a professional developer as well too. 20 years or so as a C/C++ developer, but I've worked most of my career as a Unix developer. Naturally, I use linux where possible and my Eclipse setup on Gentoo linux is pretty stable. I tried on Win7-64 but it was buggy as heck. I believe that the problem is with Java. There seems to be so many ways to set it up wrong that I'm not sure you can set it up right under windows.
I find it ironic that Oracle is trying to sue Google for making a JVM that actually works!
Click to expand...
Click to collapse
I have also setup the development platform on a linux system and haven't had the problems I have with Windows 7 64bit. I also feel a lot of the problems have come from the Windows 64bit platform and even windows in general. I tried installing on a clean 64bit and 32bit Windows 7 and was still having the ADB problem. As soon as I get my tax refunds, I'm going to get a work desk setup at home so I can try using my linux system (it sits on the floor with no monitor and is my network server). Boss will really love it if I tell him we have to set up linux platforms to develop on. Guy is a bit of a tight wad when it comes to equipment.
edboston said:
If you are an app developer, are you running into these issues?
Click to expand...
Click to collapse
Nope, I didn't have any stability problems with SDK. I use linux 32-bit, didn't try to work on a Windows, MacOS and/or 64-bit arch.
I've not seen any of your problems, either.
FYI, I followed these instructions to set up the env:
http://developer.android.com/resources/tutorials/hello-world.html
(Environment - WinXP/32 netbook)
Eclipse is buggy. The most annoying issue with it is that the auto complete freezes your computer at times.
An alternative is IntelliJ. They offer a free community addition. I work with one dev that swears by it.
I use Windows7x64 and Ubuntu 10.10 to develop my apps. I use IntelliJ mostly because I find Eclipse to be convoluted overcomplicated mess. I think the Android integration in Eclipse is better, especially around editing some of the key XML files but I despise how projects are organized in Eclipse.
The OS you use really doesn't matter the results are the same, once you're up and running the work will be the same so the OS becomes irrelevant. The IDE becomes the differentiator.
I haven't met with the issues you mentioned, but as you said it can be because I installed the sdk a long time ago (after google anounced the eclair). I'm using eclipse and yes, that program is full of bugs, but I read an article about developing for android in Netbeans (my personal favorite). You can read it here: http://androidportal.hu/2011-01-09/fejlesztes-androidra-netbeans-segitsegevel (it's hungarian, but google translate is our friend)
Sent from my GT-I5700 using XDA App
MotoDev Studio 2.01
stick to 32-bit Galileo
for the slow autocomplete problem, I've made sure to use eclipse Galileo, something in Helios was causing massive lag. Also make sure you're running the 32-bit version of eclipse, even if your machine is 64-bit, there are definitely some bugs last time I tried to install ADT on 64-bit eclipse.
the new tools directory was a bit of a pain after updating to the latest API but nothing too bad once you figured it out.
I haven't had many of the other problems you mentioned. I always debug with adb logcat from terminal, and you can always hop into the device with adb shell.
I use eclipse every day at work so I've kind of gotten used to all the little quirks. I had the chinese text problem with the emulator, but I do most of my testing on a real phone. I use the emulator just to try out different resolutions.

[Q] need help from a developer

I need a push start!!
i have created a circle composed of 12 concentric rings.
i want to make a live wallpaper with these rings slowly spinning in opposite directions.
i have been studying numerous web threads on how to create live wallpaper, but it just seems to me that each one assumes that the reader knows a lot more about developing in java for android using eclipse than i do.
please help me get started.
i understand the basics. i have created a couple of text based applications that i've ran on the emulator and installed on my droid x. they worked as planned!
i'd be very appreciative and willing to donate lots of time and even cash to a developer who will work with me online or offline to get this project started.
i am a veteran of 30 years software development for the VMS operating system. I've also created 2 dozen or more clock applications in lua for the windows mobile operating system. i've developed management applications for monitoring and configuring over 1200 windows 2003 servers in java, vbscript, c#, .aspx, html, perl and so forth. i'm no dummy, i can code!
i've written code in just about everything, even java, but the use of xml, manifest files, the android graphics interface has me baffled. maybe it''s just too many ways to get it done that confuses me.
anyway, i'm in need of a push start and am willing to donate to someone who will patiently get me going in the right direction.
thank you!
Although I can't give you much help, I can recommend that you look through the samples that come with the Android SDK for base source code for live wallpapers.
And also, even though the many option make it seem difficult, one you play with it for a while it gets simple.
I hope that I've helped at all. Good luck!
Sent from my DROIDX using XDA App
anybody?!
well this sure isn't the response i thought i was going to get!!!!
bump!
You'd be better off asking this is in a more generic Android/App Dev forum.
This forum is DX specific (and quite frankly, a lot of people have left the DX platform for newer phones).
Try here:
http://forum.xda-developers.com/forumdisplay.php?f=524

Decent Environment to get started?

Ok I'm looking into getting into writing apps for android.
The last time i programmed was about 8 years ago. I used to write C++ apps in Visual studio but my main focus was on writing mods and addons for Unreal Engine based games (Unreal Tournament). The great thing about VS is the ability to edit some code and press a button to compile and test instantly.
I don't think it'd be too difficult to get back into the swing of things, but i need a decent setup on my PC which allows for quick and easy compilation and testing.
I'm going to be making LOADS of mistakes when i first start out so i want to setup a good environment in which i can edit some code.. click a button and it's all ready to rock and roll with regards to the Android Emulator..
Quick and easy testing - You get the idea?
Also i have Windows & Linux Mint
I am partial to Eclipse. I had to use a tutorial on how to set it up the first time but it works great. Once it is up and running, it is a one button click to start testing with the emulator.
zalez said:
I am partial to Eclipse. I had to use a tutorial on how to set it up the first time but it works great. Once it is up and running, it is a one button click to start testing with the emulator.
Click to expand...
Click to collapse
Do you mean this? http://www.eclipse.org/downloads/
+ the Plugin that's avaliable thu google
hudsonhicks said:
Do you mean this? http://www.eclipse.org/downloads/
+ the Plugin that's avaliable thu google
Click to expand...
Click to collapse
Yeah, that is where you get Eclipse.
Follow this tutorial for Eclipse: http://developer.android.com/sdk/installing/index.html
Recently, Google released their own IDE called "Android Studio". It is based on IntelliJ. Therefore it has better code completion function but it takes some time to get used to the shortcuts you need. Eclipse is much easier at the beginning because you can find everything in the GUI. Android Studio also contains more bugs.
For these reasons I recommend you to start with Eclipse. Check the link I gave you.
Thanks everyone i got eclipse up and running now.
Gonna mess around with Java for a little whilst before going onto Android specific stuff.
I
hudsonhicks said:
Thanks everyone i got eclipse up and running now.
Gonna mess around with Java for a little whilst before going onto Android specific stuff.
I
Click to expand...
Click to collapse
Great.
just take a peek at the new Android Studio, I m a fan of Intellij IDE.:laugh:
lonesaint said:
just take a peek at the new Android Studio, I m a fan of Intellij IDE.:laugh:
Click to expand...
Click to collapse
I am a fan of Android Studio and IntelliJ, too. However, due to the amount of tutorials for Eclipse, it might be better for beginners to start with that IDE.
nikwen said:
I am a fan of Android Studio and IntelliJ, too. However, due to the amount of tutorials for Eclipse, it might be better for beginners to start with that IDE.
Click to expand...
Click to collapse
+1
while the other IDEs are at least as capable, the internet is loaded with so many tutorials written about Eclipse, it makes it the best bet for starting out.
I came from pretty much nothing with Java, and have managed to piece my way through a couple OK apps, mostly because documentation with Eclipse is so easy to find. Even many of the google tutorials use it.
I must say though, I'm almost ready to switch to Android Studio. Staring at the white background of Eclipse for 6+ hours really burns out the ole eyes.
out of ideas said:
+1
while the other IDEs are at least as capable, the internet is loaded with so many tutorials written about Eclipse, it makes it the best bet for starting out.
I came from pretty much nothing with Java, and have managed to piece my way through a couple OK apps, mostly because documentation with Eclipse is so easy to find. Even many of the google tutorials use it.
I must say though, I'm almost ready to switch to Android Studio. Staring at the white background of Eclipse for 6+ hours really burns out the ole eyes.
Click to expand...
Click to collapse
I have to admit that I could not work with the black background. For that reason I use the white IntelliJ theme. :laugh:
Well, I try to write all of my tutorials for Android Studio, too:
[GUIDE] Signing and zipaligning your app
[GUIDE] Debugging apps

Categories

Resources