Então, o nosso ambiente de desenvolvimento já compila projetos Android.
Mas, para programarmos jogos em Cocos2d-x, é necessário compilar código em C++.
Bora continuar a configuração do ambiente de desenvolvimento.
Parte 1 – Parte 2 – Parte 3 – Parte 4 – Parte 5 – Parte 6
Vimos no último tutorial como executar um aplicativo no emulador que vem com o Android SDK. Também baixamos os arquivos de imagem de uma das versões do sistema operacional Android. Tendo em mãos os arquivos de sistema, nós o executamos no emulador e executamos o aplicativo no sistema operacional que estava sendo simulado.
Já temos o ambiente previamente configurado para a programação Android. Porém, como o nosso objetivo é programar jogos com uso da biblioteca Cocos2d-x, ainda precisamos incrementar o ambiente de programação. A biblioteca Cocos2d-x é toda escrita na linguagem C++ e, não obstante, para você usá-la na plataforma Android, o seu jogo também precisa ser escrito nessa linguagem. Assim, precisamos deixar o nosso ambiente de desenvolvimento apto a compilar módulos escritos em linguagem nativa, ou seja, em C ou C++.
Vamos instalar o Android NDK e executar uma aplicação com um módulo em linguagem nativa.
Baixando o Android NDK
O Android NDK é um conjunto de ferramentas que possibilita a implementação de módulos escritos em linguagem C ou C++. Como de praxe, por padrão, essas ferramentas não vêm junto com o Android SDK. As ferramentas do Android NDK podem ser baixadas diretamente pelo gerenciador de pacotes do Android SDK. Assim, você precisa estar conectado a Internet para fazer o tutorial de hoje.
Então, são mais essas ferramentas para baixar. Porém, para a nossa alegria, a compilação de módulos em C ou C++ é muito simples de ser realizada em sistemas Linux, no nosso caso, o Debian. Compilar um programa “Hello World” no Linux com módulo escrito em linguagem nativa será mais simples do que você imagina.

Abra o gerenciador de pacotes do Android SDK e clique na aba “SDK Tools”. Se você não se lembra de como se faz para abrir o gerenciador de pacotes do Android SDK, relembre nesse tutorial. Selecione o pacote nomeado “Android NDK”. Mas, somente esse pacote ainda não é o suficiente para compilar aplicativos com módulos escritos em linguagem nativa. Na mesma tela, selecione a opção “Show Package Details” para mostrar os sub-pacotes. Selecione todos os sub-pacotes de “Android SDK Build-Tools” com versões acima de 22.0.1, como mostrado na Figura 1, e clique em “OK”.
Após o download dos pacotes escolhidos do Android NDK, o seu ambiente de desenvolvimento já está preparado para a compilação de aplicativos com módulos em linguagem nativa.
Compilando uma aplicação com código nativo
Para testar o ambiente de desenvolvimento, nós baixaremos um projeto exemplo diretamente do repositório do Google. Para isso, será necessário que você feche o projeto que executamos no último tutorial. Para fechar um projeto aberto no Android Studio, selecione a opção do menu superior “File” e clique em “Close Project”, conforme mostrado na Figura 2.

Após fechar o projeto, a tela inicial do Android Studio será apresentada. Nessa tela, selecione a opção “Import an Android code sample”, conforme mostrado na Figura 3.

A próxima tela apresenta uma lista de aplicações exemplos. Selecione o projeto nomeado “Hello JNI” e clique em “Next”, como mostrado na Figura 4.

Na próxima tela, você pode mudar o nome do projeto e a localização da pasta onde estarão localizados os arquivos do projeto. Não há necessidade de mudar o nome. Apenas especifique em “Project location” o lugar onde você deseja que os arquivos do projeto estejam localizados e clique em “Finish”, conforme mostrado na Figura 5.

Serão baixados os arquivos-fonte do projeto “Hello JNI” disponibilizados pelo Google. Esse projeto já tem toda a programação de um aplicativo com um módulo implementado em linguagem nativa. Mas atenção, ele serve apenas como um exemplo para os programadores.
Para você saber o que está programado no módulo redigido em linguagem nativa, comece clicando no botão nomeado “Project”, localizado na parte esquerda da tela do Android Studio. Logo ao lado, abrirá uma árvore de pastas importantes do projeto. Nessa árvore, abra a pasta nomeada “jni” e dê duplo clique sobre o arquivo nomeado “hello-jni.c”. O Android Studio abrirá para edição o único arquivo escrito em linguagem nativa do projeto, como mostrado na Figura 6. Note que a linguagem escrita é C e que a função desse módulo é muito simples: apenas fornecer uma string ao módulo do aplicativo compilado em linguagem Java.

No arquivo recém-aberto, leia a string passada como parâmetro na chamada do método “NewStringUTF”. Ela aparecerá na tela do celular após a compilação do código e execução do aplicativo. Apenas execute o aplicativo como mostrado anteriormente, nesse tutorial. O módulo escrito em linguagem nativa será compilado, o módulo escrito em linguagem Java também será compilado e o aplicativo será executado. A execução do aplicativo é apresentada na Figura 7. Note que a string escrita no módulo redigido em C foi apresentada na tela. Isso significa que o celular executou tal módulo.

A execução correta do aplicativo “Hello JNI” abre portas para o desenvolvimento de aplicativos Android com uso de bibliotecas redigidas em linguagem C ou C++. Também poderemos programar jogos nessas linguagens. Configuraremos a biblioteca do Cocos2d-x para que ela possa ser usada na programação de jogos na plataforma Android. Porém, isso é assunto para outro tutorial. =]
Vimos nesse tutorial como instalar os pacotes do Android SDK necessários para compilar módulos de aplicativos Android redigidos em linguagem nativa, com ajuda do Android NDK. Após a instalação dos pacotes, nós baixamos um projeto exemplo do repositório do Google e o executamos em um aparelho. Também vimos que o módulo redigido em linguagem nativa foi devidamente executado pelo fato da mensagem mostrada na tela ter sido cedida por ele.
Com o devido funcionamento da compilação de módulos redigidos em linguagem nativa, nós podemos começar a pensar em desenvolver utilizando o motor Cocos2d-x. No próximo tutorial nós baixaremos o motor gráfico e o configuraremos para que possamos utilizá-lo no desenvolvimento de jogos.
Um grande abraço e até mais. []