Augmented Reality on Android

AR Baseball Card

Augmented reality is an old concept but only recently, we start seeing more and more of it on our phones. Here’s my quest for finding a good library that will help me build an Android augmented reality as requested by a client. I want to add to at the moment of writing this, I’m fairly new to Android development and I’m about to create an AR application for the first time of my life. What are we waiting for?

Client needs

  • Display a 3D model of “something” on an event ticket

Library requirements

  • Recognize a pattern or a picture (that will be printed on the ticket)
  • Add a 3D model layer over the pattern or image
  • Be as responsive as possible (lagging AR sucks)

Available libraries

Obviously, finding an AR library for this small project would be a good thing. After searching Google for a while, here’s what I have found:

  1. Magnitude (Google Code project)
  2. Qualcomm AR or QCAR (Qualcomm AR SDK download page)
  3. ARToolKit (Sourceforce page)
  4. Popcode (Popcode official demos)
  5. AndAR (Google Code project)
  6. Android AR-Kit (GitHub page, tutorial)
  7. Mixare (Official website)
  8. NyARToolKit (Official website)

1. Magnitude

First, the project’s last update was in July 2010. Not too old, but not that recent either. Second, it seems to be only based on GPS instead of marker recognition. Also, the author says it uses AR-KIT (listed 6th in my previous list), ported to Android. It can’t help me.


Updated for the last time in December 2010, this project offers multiple target recognition and seems to have great documentation. This library is definitely worth a try.

3. ARToolKit

Not much is said on the project’s page, but it seems somewhat serious and works with marker recognition. Will probably give it a try.

4. Popcode

Their demos look very great, but based on their documentation (if I understand well), it only works with specially designed Popcode markers, and as of now, there is no way to display my own 3D model, if it’s not previously saved on the device’s SD card. It seems to be a great library though, so investing more time to understand the way it works correctly would be a good thing.

5. AndAR

Already tried it to create a green cube that appears on a marker. Works great and is very easy to use, but I experience a lot of lag with my Samsung Galaxy S. I’ll take a look at the library’s code and try to find what the problem is if I can’t find a better library.

6. Android AR-Kit

This was originally an iPhone only library, but it has been ported to Android. Two major problems though: there has been no update since December 2009, and it only works with geographic localization.

7. Mixare

This seems to be a very nice library that supports both Android and iPhone. Problem for me: it only works with geographic localization.

8. NyARToolKit

This project supports many languages (Java / Android / C# / ActionScript3 / C++). Here’s the link for the Android project. The project is well alive with last commit on April 15. It supports multiple markers and is definitely worth a try.

Now what?

Now I gotta make tests with: QCAR, ARToolKit, AndAR, and NyARToolKit. Stay tuned for the upcoming conclusion in a couple of days or weeks.


  1. Hi,

    I have the same requirements for an Andorid AR framework/library. I’m looking forward to see the results of your tests.


    • Matt

      April 30, 2011 at 10:47 am

      I’m gonna post more as soon as possible, but I went with Qualcomm’s QCAR for many reasons. It’s by far the most stable and responsive. More to come…

      Thanks for your interest!

  2. Hi,
    I’m trying to evaluate the differences between the libraries myself and am very interested to hear about your results. Have you posted them anywhere?

  3. Sorry, skip that, I found the answers. Thanks!

  4. Hi i am interested to know how popcode Code recognition work..if yu or any1 have any idea pls let me know.thanks in advance

  5. heyyy … i have the same problem . but i have another question as well : which one of these tools do support rendering a 3D model , ccreated in any 3d modeling tool such as 3d max or maya ???

  6. please let me know about how to work with AndAr…… and give me a sample code using that toolkit

Leave a Reply

Your email address will not be published.


© 2019 Evil Coding Monkey

Theme by Anders NorenUp ↑