É isso mesmo. Existe um SDK no Android e também algo que eu não sabia, chamado NDK.
Olha só o que o site do Android diz a respeito do NDK:
O Android NDK é uma ferramenta companheira que permite a você construir porções de seu código com performance crítica em código nativo. Ele provê headers e bibliotecas que permitem a você construir atividades, gerenciar entrada de dados, usar sensores de hardware, acessar recursos da aplicação e mais programando em C ou C++. Se você escrever código nativo, suas aplicações ainda assim serão empacotadas dentro de um arquivo .apk e vão rodar dentro da máquina virtual do seu dispositivo. O modelo de aplicação fundamental do Android não muda.
Usar código nativo não resulta em aumento automático de performance mas sempre aumenta a complexidade da aplicação. Se você não quer ficar limitado às APIs da Framework do Android não quer dizer que você provavelmente precise do NDK. Para tal, o melhor é
entender a fundo o que é o NDK.
O NDK foi criado para ser usado em conjunto com o SDK do Android.
Ou seja, quem quiser se aventurar a programar para Android em C ou C++, é uma boa opção.
Para baixar o NDK,
acesse esse link e divirta-se!