Non è davvero la mia tazza di tè, ma c'è qualcosa chiamato Android NDK (Native Development Kit) da utilizzare se si desidera scrivere il programma in C. Non sono sicuro di come sia il supporto del compilatore C++.
Per quanto ne so la tua app può essere quasi al 100% nativa, ma tieni a mente che camminando in quel modo probabilmente avrai difficoltà a supportare le diverse CPU là fuori nell'hardware Android. Se è necessario eseguire il bootstrap del codice nativo in modo che sia avviato da java, probabilmente non è un grosso problema per te.
Ho trovato alcuni tutorial diversi durante la ricerca su google "NDK Android". This one is a very minimalistic Hello World. Ovviamente vuoi qualcosa di molto più di una libreria che restituisce una stringa a java ma è un buon primo avvio e probabilmente dovrai fare tutte le cose descritte. Effettua una ricerca utilizzando NDK e Android come parole chiave e ottieni una buona selezione. Non vedo alcun motivo per elencarli qui in quanto tali elenchi tendono ad essere obsoleti e rotti entro un anno circa.
Immagino che l'ufficiale Android Developer site di Google rimarrà inserito e verrà aggiornato sulle nuove versioni della piattaforma, con un collegamento al NDK corrente.
I credo che almeno le API OpenGL siano esposte direttamente a livello NDK, quindi ad es. per i giochi a schermo intero nativo completo è sicuramente un'opzione (e probabilmente raccomandata). –