Developers, have I got a treat for you today: AIDE - Android Java IDE. AIDE is a self-contained integrated development environment that allows devs to write, compile, and run Android apps on their Android devices. Normally, if you want to write Android apps, you do it on a separate machine running Eclipse (or an alternative IDE). Now... well, you probably still do for major projects (especially ones involving complex library dependencies), but you can edit or create smaller ones without ever leaving the Android ecosystem.

AIDE really is more than just an editor - it supports code completion, real-time error checking and highlighting, code refactoring, formatting, and smart navigation, as well as compilation and execution of APKs.

image image


But AIDE doesn't just work on tablets - it works on phones too, although I can't see serious development getting done on smaller screens:

image image image

To put it simply, this is pretty awesome. Tablets in general have been aiming to replace laptops and netbooks as a user's primary computing device. That can't happen as long as Android relies on other OSes to write its apps. This first IDE may not be enough to outright replace Windows, Linux, or Mac, but it's a great first step.

AIDE is fully compatible with existing Eclipse projects, so if you're not eager to ditch your killer compiling rig to set up a 10" tablet with a mobile processor in its place, you can still use your usual development environment and edit on the go.

Oh, and did I mention it's free? Yup. Check out the widget for the download link and a comprehensive feature list. And after that, may we suggest getting a keyboard for your tablet if you haven't already? You're going to need it.

A brief summary of features...

Edit-compile-run cycle:
- Create a sample App with a single click
- Run your App with a single click
- No root access required
- Incremental compilation for fast build times
- Uses Eclipse .classpath project format for compatibility
- Integrated LogCat viewer

Real-time error checking:
- Real time error analyis throughout the whole project as you type
- Automatic Quick-Fixes for many errors

- Rename
- Inline variable
- Introduce variable
- Extract method

- Code formatter
- Organize imports
- Out-comment code
- Create setters/getters/constructors from fields

Code navigation:
- Goto defintion
- Find usages
- Goto symbol
- Goto class

- Very fast editor even with large files
- Code completion for Java and Android XML
- Android online help directly from the code
- Syntax highlighting for Java and XML
- Unlimited Undo/Redo
- Pinch zoom
- Smart expand selection
- Keyboard support with configurable keybindings
- UI optimized for small screens to show as much code/content as possible

- Built-in file manager with the most common features: Rename, delete, create file or folder

And last but not least: "Yo Dawg, I heard you like Android apps, so we made an Android app that makes Android apps on your Android."

Thanks Abel!

Eric Ravenscraft
Eric is a snarky technophile with a taste for the unusual. When he's not obsessing about Android, you can usually find him obsessing about movies, psychology, or the perfect energy drink. Eric weaves his own special blend of snark, satire, and comedy into all his articles.

  • http://www.AndroidPolice.com Artem Russakovskii

    As a developer who has only seen relatively average code editors on Android, this is a huge jump - code completion alone is already impressive, and this can do so much more.

    • http://techthirst.com Anuj Ahooja

      Yeah, there have been a few Android IDEs, but the code completion is absolutely impeccable on this one. My only gripes:
      - kinda slow, so it would be nice if we could turn off auto-compile in the bg
      - it imports everything, not just everything you want

      But this could easily be the biggest step in Android IDEs yet. Really excited about this project...

      • Hal Motley

        +1 Artem!

        The only IDE (on Android) I use is PascalGUI which is a rather primitive IDE for Pascal. Having said that I have done some fun things with it and I enjoy it as a toy.

        Now of course you can develop apps for Android on the device itself is a huge step forward because you can develop on the go and easily test on the go.

        Also it's free! Kudos to the creators!

    • Eric

      What? Eclipse does everything this app does, plus a lot more, plus it's much faster. Have you actually ever used the only officially supported IDE? I'm guessing not...

      • http://techthirst.com Anuj Ahooja

        Wow...you're totally missing the point, huh?

      • derp

        Eclipse doesn't run on an Android device. This runs on the device it's compiling for.

        • http://codytoombs.wordpress.com Cody Toombs

          If nothing else, the thing that's cool about this is it basically allows dogfooding (a term used to describe developers using their own tool to further build on or support further development of that same tool). In a loose sense, most operating systems aren't considered REAL operating systems until they can be used to build the apps that run on them. I know on-device compilation was already possible, but I tend to think a reasonable IDE is necessary too ;)

      • http://www.AndroidPolice.com Artem Russakovskii

        Eclipse runs on Android now?

  • http://android.jamtheman.dk JamTheMan

    Plain and absolute awesomeness!!

    I have been looking for this for so long.!
    Simply can't wait to give it a spin og my Gtab10.1 and see what it brings!

  • Tristan

    Can I kang on my Android now? :P

  • Letroy

    I don't really see the use of this on a phone, but the tablet version seems promising.

    • GraveUypo

      i have a phone, a have a bluetooth mouse, a bluetooth keyboard, a bunch of 24" 1900x1200 computer screens, a bunch of 32" full HD tvs, a 52" Full HD TV a phone with a HDMI-out.

      i see the use of this on phones...

  • http://www.mobiletechview.com Johnd09

    Tried it on the Prime and with simple code it compiles in seconds. This will start putting the faster processors to good use.

    • Hal Motley

      Tegra 3 has a use other then gaming! XD

  • http://www.toysdiva.com PixelSlave

    I guess the biggest advantage is that you no longer need to rely on the absolutely horribly slow emulator in the SDK.

    • Hal Motley

      Yeah that emulator really is slow. I mean I have quite a powerful computer and that emulator lags like hell. Why does it anyway?

      I actually think coding on the go is the best feature. Though this is definitely more a tablet app.

      • Mgamerz

        Emulating an ARM processor is not easy, plus it's running Java... Not sure what speed it is trying to emulate, if it's like 1Ghz it'd take at least 2Ghz, AT LEAST, just to do an exact copy of assembly instructions in real time, which I am sure is far from how simple it would be.

        • aliasxerog

          since when is emulating a RISC processor hard? This isn't x86 we're talking about.

          • rob.jones

            The ARM may not be too hard but you also have to emulate screen, peripherals etc. Try it sometime then give us a report.

  • Donna

    No one in their right mind would EVER try to write apps on a slow, tiny screen, low powered, handheld device.

    There's just no reason for it.

    Do you not OWN a full size computer?

    Why would you pick the *WORST* of your tools to use?

    • wgasa

      "worst"? my phone has a dual core 1.5GHz processor and nearly a gig of ram. granted, this isn't up to the spec of my (somewhat old) laptop, but it's not that shabby either. i can see when there are quad core phones with even more ram this will start to make more sense. and the author does say that this is more of a tablet orientated app. chill bro.

    • Mgamerz

      You must be new here.

    • http://codytoombs.wordpress.com Cody Toombs

      Mgamerz said it best...but just to drive the point home...

      It's not about picking this as an option, it's about having the ability to use this as an option. I would never want to write javascript and html on a phone, but I've had to do it in an emergency once. I wouldn't want to write an android app on a tablet, but imagine how cool it would be to suddenly have a great idea and be able to test it right away instead of waiting to get back to the dev box.

      It doesn't hurt that this can solve the problem of not having a dev environment set up (just like I did 2 weeks ago when I did a reformat and would have loved to have this then).

    • http://www.AndroidPolice.com Artem Russakovskii

      I'd argue that at the moment you're right - I would never write an app on a tablet. But everything must start somewhere, progress isn't immediate, and this was a great start of possibly a great tool.

      And a quad-core tablet with a keyboard is by far not what I would call a low powered handheld device. A 10" screen isn't that tiny either.

  • flaviu

    I tried to compile an simple project on my single core Galaxy S and it was way much quicker than my laptop. In about 10-15 seconds after i pressed run, the compiled app was installed and opened. Amazing job! This is perfect for tablets.

  • wolfkabal

    This alone makes me want to buy an Asus Transformer - or at least get a BT keyboard from my Evo View.

  • Citrus Rain

    It's beautiful. O.O

  • http://lavadip.com HRJ

    Can I run this in the emulator?

    • http://www.AndroidPolice.com Artem Russakovskii

      Don't see why not.

    • Eric

      That would be trippy...and so slow ;)

  • Johnny

    This would be interesting with a Moto Razr and a Lapdock. Definitely takes mobile development to the next level.

  • Louis

    This is awesome. It is just like coding while running some errands. Cool stuff for developers.

    so What's next for this app ?

  • Shaleen

    Amazing, kudos to AIDE team

  • Cade Roux

    I cannot seem to get the editor to handle normal keys - it will allow backspace, but then I can't enter new text. (Samsung Galaxy Note)

    • http://www.facebook.com/people/Joseph-Bonds/1527078977 Joseph Bonds

      Me too!!! Please post if you solved this problem!

    • Sinthia Vicious

      use the keyboard from terminal IDE or a similar colors keyboard. It will properly encode special characters..

  • http://androidresearch.wordpress.com Android Research

    Why I would start programming on my 320x480 touch screen smartphone, instead of PC?
    And I'm wondering how much time versus quality it will take to develop an app...

    Now, to understand me right, I do not underestimate the IDE, I appreciate your work and what you have done guys it's amazing.

    I'm looking just for arguments.

    • Cade Roux

      Agreed, but my phone's touchscreen is 1200x800.

    • http://androidpolice.com Eric Ravenscraft

      You wouldn't. But take a look at some of the other comments. For starters, this allows native development, instead of running apps in an emulator. It also allows you to make tweaks to a project you're working on in a desktop IDE while on the go. Plus, this is just the beginning. IDEs like this will only get better and in the future, when tablet specs rival laptops and desktops, one could see doing Android development on an Android tablet with a keyboard instead of a laptop, since all other things are equal and Android would be a native development environment.

      • http://codytoombs.wordpress.com Cody Toombs

        I'm not sure specs even matter. Consider some people have mentioned this can compile/run faster than their desktops can (ok, maybe they need an upgrade ). All you need is a bluetooth keyboard and hdmi out (and maybe a mouse), then you've got got everything you need to treat even a phone as a laptop.

        If the app were truly tablet optimized (think split pane windows) then I could see somebody actually carrying a device from home to work and doing all of their android development right there. Baring the lack of any SCM integration and that it's obviously lacking the more advanced tools (profiler, debugger, etc), it's plausible to use this today to do real work...it's just not ideal yet.

        The thing to understand is that this app is a first solid step. I'm sure there's going to be some great stuff to come.

    • http://www.AndroidPolice.com Artem Russakovskii

      Get a better phone for starters :P What the heck runs 320x480 anyway?

  • Louis

    Better run it in an android galaxy beam.. i guess ?

  • Paul

    Useful little tool if you require it.
    I've only got a HTC Desire S, sure its a bit slow to compile and what not, but if I were in a location with nothing to read or sat about somewhere, at least I could do some coding, write small bits of code.
    This would be great on a tablet on a car journey.

    This now needs to use other projects as a library.
    GIT Support.
    Um is there anything else I'm missing?

    • http://codytoombs.wordpress.com Cody Toombs

      I just did some searching to see if I could find a decent SCM option on Android and it looks like GIT is pretty much shot (there's a client, but it's got no ability to commit), there's a mercurial client, but it's not clear that it can commit and it appears hardcoded to bitbucket. Roughly similar looking situation for SVN.

      I don't feel the editor needs SCM support, there's got to be some solution to make it truly practical...Of course, if you're not doing TOO much, dropbox could be a passable option for short-term versioning.

      • Rob Fisher

        I'm wondering if command line git in a terminal would work.

        • Mark Jozefiak

          AIDE has integrated git support (but im not able to get it to work with my bitbucket account). For full git support use "Terminal IDE".

      • Eric Moyer

        There is an app called "Terminal IDE" in the play store that includes a full git client and many other command line programs your fingers have been missing on Android. Be warned, it's 100MB, so make sure you have enough space.

  • Eric

    This is incredibly awesome. Hello Transformer.

    Anyone have any easy ways of syncing code? Dropbox is the easiest thing I can think of, but that still is a bit clumsy for this.

  • Hasan

    I created an app on AIDE, when exporting the APK it auto signs to Android Team, which does not allow me to upload to the Market.
    When i copied the folder to my computer and ran with Eclipse and exported using my own KEY, one of the function of the APK (allows users to open Menu from the app itself) goes missing.
    What am I doing wrong?
    Please Help... Thanks

  • Rob Fisher

    Suddenly the Padfone and Transformer are looking even more useful as netbooks.

  • Christino

    can this program compile python too?

  • nc10x86

    Installing Androidx86 (ICS) on a netbook (such as the Samsung NC10) allows for an awesome development environment using AIDE.

  • SatanEnglish

    Wonder if this can be used as i middle man to do silent updates for my no screen devices

  • Android Developer

    I prefer "Bright M IDE" as an IDE (https://play.google.com/store/apps/details?id=de.bright_side.brightmidemain). I think is has the fastest and most comfortable editor.

    As a keyboard I'd recommend "Hacking & Developing Keyboard" (https://play.google.com/store/apps/details?id=de.bright_side.hacking_and_developing_keyboard).

    I use both every day.