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.