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).
- ¿Por qué el diseño de actividad de la pestaña de mi aplicación de Android no se respeta en AVD?
- Para el desarrollo móvil, solo en términos de lenguaje de programación, ¿Swift no es superior a Java (Android)?
- ¿Cuál es el beneficio de usar la biblioteca Gson y Retrofit en Android cuando está conectado con una API?
- ¿Cuáles son las cosas que hacen que un juego de Android sea adictivo?
- ¿Qué son los blogs de desarrolladores de Android de lectura obligatoria?
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 …