Para compilar e depurar código nativo para um app, serão necessários os seguintes componentes:
- Kit de desenvolvimento nativo do Android (NDK, na sigla em inglês): um conjunto de ferramentas que permitem usar códigos C e C++ com o Android.
- CMake: uma ferramenta de compilação externa que funciona com o Gradle para criar bibliotecas nativas. Esse componente não é necessário se você pretende usar apenas o ndk-build.
- LLDB: o depurador usado pelo Android Studio para depurar códigos nativos. Por padrão, o LLDB será instalado com o Android Studio.
Esta página descreve como instalar esses componentes automaticamente ou usando
o Android Studio ou a ferramenta sdkmanager
para fazer o download e a instalação manualmente.
Instalar o NDK e o CMake automaticamente
O Plug-in do Android para Gradle 4.2.0 e versões mais recentes podem instalar automaticamente o NDK e o CMake necessários na primeira vez que você criar o projeto se as licenças deles tiverem sido aceitas com antecedência. Se você já leu e concorda com os termos de licença, é possível pré-aceitar as licenças em scripts com o comando a seguir:
yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses
Instalar o NDK e o CMake
Quando você instala o NDK, o Android Studio seleciona o NDK mais recente disponível. Para
a maioria dos projetos, a instalação dessa versão padrão do NDK é o suficiente.
No entanto, caso seu projeto precise de uma ou mais versões específicas do NDK, você poderá
fazer o download e a configuração de versões específicas. Isso ajuda
a garantir a criação de versões reproduzíveis em projetos que dependem de uma versão
específica do NDK. O Android Studio instala todas as versões do NDK no diretório
android-sdk/ndk/
.
Para instalar o CMake e o NDK padrão no Android Studio, siga estas etapas:
Com um projeto aberto, clique em Tools > SDK Manager.
Clique na guia SDK Tools.
Marque as caixas de seleção NDK (Side by side) e CMake.
Figura 1: a janela SDK Tools mostrando a opção NDK (Side by side).
Clique em OK.
Uma caixa de diálogo informará quanto espaço o pacote NDK consome no disco.
Clique em OK.
Quando a instalação estiver concluída, clique em Finish.
Seu projeto sincronizará automaticamente o arquivo de versão e criará uma nova versão. Resolva os erros que ocorrerem.
Configurar uma versão específica do CMake
O SDK Manager inclui a versão ramificada 3.6.0 do
CMake, além da versão 3.10.2. Os projetos que não configuram uma
versão específica do CMake são criados com o CMake 3.10.2. Para
configurar a versão do CMake, adicione o seguinte ao arquivo build.gradle
do seu módulo:
Groovy
android { ... externalNativeBuild { cmake { ... version "cmake-version" } } }
Kotlin
android { ... externalNativeBuild { cmake { ... version = "cmake-version" } } }
Se você quiser usar uma versão do CMake que não esteja incluída no SDK Manager, siga estas etapas:
- Faça o download e instale o CMake (link em inglês) no site oficial do CMake.
- Especifique a versão do CMake que você quer que o Gradle use no arquivo
build.gradle
do módulo. Adicione o caminho para a instalação do CMake na variável de ambiente
PATH
ou inclua-o no arquivolocal.properties
do projeto, conforme mostrado abaixo. Se o Gradle não encontrar a versão do CMake especificada no seu arquivobuild.gradle
, você receberá um erro de compilação.# If you set this property, Gradle no longer uses PATH to find CMake. cmake.dir = "path-to-cmake"</pre>
Se você ainda não tem o sistema de compilação Ninja instalado na sua estação de trabalho, acesse o site oficial do Ninja (link em inglês), faça o download da versão mais recente disponível para seu sistema operacional e instale-a. Não se esqueça de adicionar o caminho para a instalação do Ninja na sua variável de ambiente
PATH
.
Instalar uma versão específica do NDK
Para instalar uma versão específica do NDK, siga estas etapas:
Com um projeto aberto, clique em Tools > SDK Manager.
Clique na guia SDK Tools.
Marque a caixa de seleção Show Package Details.
Marque a caixa de seleção NDK (Side by side) e as caixas de seleção abaixo que corresponderem às versões do NDK que você quer instalar. O Android Studio instala todas as versões do NDK no diretório
android-sdk/ndk/
.Figura 2: a janela SDK Tools mostrando as opções NDK (Side by side).
Clique em OK.
Uma caixa de diálogo informará quanto espaço os pacotes NDK consomem no disco.
Clique em OK.
Quando a instalação estiver concluída, clique em Finish.
Seu projeto sincronizará automaticamente o arquivo de versão e criará uma nova versão. Resolva os erros que ocorrerem.
Configure cada módulo com a versão do NDK que você quer que o projeto use. Ao usar o Android Studio 3.6 ou versões mais recentes, caso a versão não seja especificada, o Plug-in do Android Gradle escolherá uma versão que seja compatível.
Configurar versões específicas do NDK no projeto
Se uma das seguintes condições for verdadeira, talvez seja necessário configurar a versão do NDK no seu projeto:
- Seu projeto é herdado, e você precisa usar versões específicas do NDK e do Plug-in do Android para Gradle (AGP, na sigla em inglês). Para ver mais informações, consulte Configurar o NDK para o Plug-in do Android para Gradle.
Você tem várias versões do NDK instaladas e quer usar uma específica. Nesse caso, especifique a versão usando a propriedade
android.ndkVersion
no arquivobuild.gradle
do módulo, conforme mostrado no exemplo de código a seguir.Groovy
android { ndkVersion "major.minor.build" // e.g., ndkVersion "21.3.6528147" }
Kotlin
android { ndkVersion = "major.minor.build" // e.g., ndkVersion "21.3.6528147" }
Versão padrão do NDK por versão do AGP
Antes do lançamento, cada versão do AGP é totalmente testada com a
versão estável mais recente do NDK. Para o AGP versão 3.6 e mais recente, essa versão do NDK
será usada para criar seus projetos, se vocêNÃO especificar uma versão do NDK
no arquivo build.gradle
. A versão padrão do NDK é documentada
nas notas da versão do AGP. As versões padrão do NDK estão listadas na
tabela a seguir:
Versão do Plug-in do Android Studio/Gradle | |||||||
---|---|---|---|---|---|---|---|
7.0 | 4.2 | 4.1 | 4.0 | 3.6 | 3.5 | 3.4 | |
Versão padrão do NDK especificada para a versão do AGP |
21.4.7075529 | 21.4.7075529 | 21.1.6352462 | 21.0.6113669 | 20.0.5594570 | Nenhum padrão especificado |