1501 East Hennepin Avenue | Minneapolis, MN 55414

Android Development in C++

|  posted on 11/6/09 by Martin Grider

I just read someone proclaim loudly in the comments over at Gamasutra that as of the Android 1.6 SDK, you can officially use C++ to develop your Android applications.

Some digging reveals that it's not the SDK, but the NDK (native development kit) that allows for C++ with android:

Keep in mind that using the NDK will not be relevant for all Android applications. As a developer, you will need to balance its benefits against its drawbacks, which are numerous! Your application will be more complicated, have reduced compatibility, have no access to framework APIs, and be harder to debug. That said, some applications that have self-contained, CPU-intensive operations that don't allocate much memory may still benefit from increased performance and the ability to reuse existing code. Some examples are signal processing, intensive physics simulations, and some kinds of data processing. (from Introducing Android 1.5 NDK)

Still, this may change things quite a bit, since there are many iPhone applications that are written in C++. Even porting an objective-C app to C++ would be much easier than porting to java. The Gamesutra article is also fairly interesting in that it compares and contrasts developing for Android and the iPhone, especially from a marketing perspective.

The commenter also cited a project for Android called GL ES Quake, "A port of Quake to OpenGL ES and the Android platform", presumably written using the 1.6 NDK.

About the Author
Martin is a web development veteran with over ten years of experience. He particularly enjoys solving challenging programming problems and finishing projects.
More About Marty | Follow Marty on Twitter


blog comments powered by Disqus
The Clockwork Blog

We're constantly talking to each other about what's new: a project we're working on, a new site we're obsessed with, or some other geekery. We figured, why not share those conversations with you?

Welcome to our collective mind.