Sí tu puedes. Al final, Java está escrito en C y C ++ es su superconjunto. Hay un juego de herramientas llamado NDK para exactamente esto: Android NDK | Desarrolladores de Android
¿Pero deberías? Esa es una pregunta diferente. Según los desarrolladores de Android, no deberías, a menos que tengas una buena razón. Una de las mejores razones es que necesita crear algo que no funcionaría muy bien si estuviera escrito en Java.
Java es un lenguaje de muy alto nivel que tiene una sobrecarga masiva, por lo que casi todo lo que haga será más lento y usará más RAM en comparación con los programas compilados de bytes que se ejecutan de forma nativa en el nivel de CPU. Probablemente no sea una buena idea usarlo cuando desee crear un códec de video (decodificador de transmisión de video), un motor de juego 3D o un motor web (como gecko).
- ¿Hay alguna desventaja asociada con la actualización de software en Android?
- ¿Tengo un antivirus para Android que me protege cuando uso Firefox?
- ¿Cuáles son los idiomas / scripts que debo aprender para crear una aplicación de Android? ¿Puedes resumir sus necesidades?
- Cómo hacer que mi aplicación sea visible en Google Play Store
- ¿Cuál es la diferencia entre un hilo de interfaz de usuario y un hilo principal en Android?
Para aplicaciones comunes que realmente no necesitan usar mucho la CPU (la mayoría de ellas, realmente), no necesita un rendimiento rápido y en ese caso Java puede ser una opción mucho mejor. Si se trata de una aplicación simple, escribir lo mismo en C ++ para Android posiblemente te lleve 10 veces más tiempo que hacer lo mismo en Java.
Sin embargo, hay otra muy buena razón para usar C ++ sobre Java y es la portabilidad. Si desea que su aplicación se ejecute en otras plataformas que no sean droid, le recomendaría algo como Qt, que es un marco de trabajo de C ++. Las aplicaciones escritas en eso se ejecutarán de forma nativa en Windows, Linux, OSX, iOS, Android y muchas otras …