Sinon, le NDK était la bonne réponse je pense ^^
Avec ce genre de joujou, il n'y a généralement pas eu 15000 devs qui se sont penchés dessus (si ça avait été une nexus tu aurais eu beaucoup plus d'options déjà ^^) donc la plupart des trucs "alternatifs" ne sont pas vraiment fini

Mais sinon, le java pour Android c'est assez facile, souvent bien expliqué et avec des tonnes et des tonnes de ressources de tous les côtés (blogs / stackoverflow /github / etc.) pour apprendre / consulter du code. Et puis on se prend assez vite au jeu : coder une appli mêle des notions de graphisme/UI/UX/bases de données/réseau/serveurs/etc. avec des nouveautés assez régulièrement (nouvelles librairies, nouveaux "patterns", nouvelle version d'Android, etc.) donc on devient assez vite accro

Personnellement j'aime beaucoup parce que ça permet de se maintenir à jour sur tout un tas de sujets/technos et on a un "produit fini" qui peux tourner sur n'importe quel smartphone de quelqu'un qu'on rencontre. On apprend aussi à arrêter de faire des trucs juste pour soi dans son coin et ça oblige à avoir un peu de rigueur dans ce qu'on fait : les utilisateurs comptent sur nous donc il faut éviter de tout faire crasher du jour au lendemain, bien tester son code, etc.
En l'espace d'un an (et de 2 applications) j'ai découvert les Webservices RESTful / les différentes offres et acteurs du cloud / l'administration serveur / les bases NoSQL / les animations / les ORMs / les métriques de reporting / la synchronisation serveur/local / le java / Node.js / etc. Et ça fait toute la différence le jour où tu dois bosser sur un projet où il y a un peu d'informatique en jeu !