You can use c++ in your android app via the NDK. It must be used in conjuction with the Java-based SDK, and is designed only to be used for performance-critical pieces of code. It has more limited functionality than the SDK (can't display UI, etc.).
Reasins for using, from the docs:
The NDK will not benefit most
applications. As a developer, you will
need to balance its benefits against
its drawbacks; notably, using native
code does not result in an automatic
performance increase, but does always
increase application complexity.
Typical good candidates for the NDK
are self-contained, CPU-intensive
operations that don't allocate much
memory, such as signal processing,
physics simulation, and so on. Simply
re-coding a method to run in C usually
does not result in a large performance
increase. The NDK can, however, can be
an effective way to reuse a large
corpus of existing C/C++ code.
Thus, the majority of users will not use any C++ code.