Notas da versão do SDK Build Tools

O Android SDK Build-Tools é um componente do SDK do Android necessário para criar apps Android. Ele está instalado no diretório <sdk>/build-tools/.

O componente Build Tools deve estar sempre atualizado. Faça o download da versão mais recente usando o Android SDK Manager. Se você estiver usando o Plug-in do Android para Gradle 3.0.0 ou uma versão mais recente, seu projeto usará automaticamente uma versão padrão das ferramentas de build especificadas pelo plug-in. Para usar uma versão diferente das ferramentas de build, especifique-a usando buildToolsVersion no build.gradle do módulo, da seguinte maneira:

android {
    buildToolsVersion "34.0.0"
    ...
}
android {
    buildToolsVersion = "34.0.0"
    ...
}

Revisões

As seções abaixo fornecem observações sobre as versões do Build Tools. Para determinar quais revisões do Build Tools estão disponíveis no seu SDK, consulte a lista de pacotes instalados no Android SDK Manager.

Build Tools, revisão 34.0.0 RC3(abril de 2023)

Correções de bugs e melhorias gerais.

Esta atualização inclui suporte para criar com as APIs de pré-lançamento do Android 14.

Esta atualização corrige o seguinte problema:

  • A versão 33.0.0 do core-lambda-stubs.jar é diferente no macOS e no Linux/Windows. Consulte o problema 237299698.

Esta atualização corrige o seguinte problema:

Esta atualização inclui compatibilidade para criar com as APIs de visualização do Android 11.

Esta atualização corrige o seguinte problema:

  • Problema de build com o Renderscript no macOS Catalina. Consulte o problema #142590626 (link em inglês).

Esta atualização corrige o seguinte problema:

Esta atualização inclui suporte para o build para o nível de API 29.

Essa atualização inclui compatibilidade com o Plug-in do Android para Gradle 3.2.0 e corrige os seguintes problemas:

  • Correção de um bug da biblioteca JNI que fazia os apps falharem ao chamar androidx.renderscript.RenderScript.create().
  • Correção de um bug que causava erros de build Program type already present com recursos androidx.annotation.

Inclui a versão mais recente do D8.

Melhora o suporte para o build de lambdas quando os recursos da linguagem Java 8 estão ativados.

Melhora a compatibilidade com os recursos da linguagem Java 8.

Adiciona compatibilidade com multidex legado para APKs de teste (problema 37324038).

Além das correções gerais de bugs, esta versão inclui as seguintes atualizações:

  • Atualiza apksigner para a versão 0.8:
    • Compatibilidade com o Java 9 (problema 37137869).
    • Novo parâmetro --pass-encoding para gerenciar keystores e chaves que são criptografadas com senhas não ASCII. Se você mudar para o Java 9 e o apksigner não puder descriptografar o keystore ou a chave, use esse parâmetro para especificar a codificação de caracteres usada para criar o keystore ou a chave. Para saber mais, consulte a documentação do apksigner ou execute apksigner sign --help pela linha de comando.
    • Mensagem de erro aprimorada quando o apksigner não pode verificar uma assinatura JAR devido a um resumo por e-mail ou algoritmo de assinatura incompatível (problema 63525618).
  • Compatibilidade com o modo AAPT2 daemon ao usar o Plug-in do Android para Gradle 3.0.0-beta7 ou uma versão mais recente.

Além das correções gerais de bugs, esta versão restaura o apksigner para o pacote de ferramentas de build (que foi omitido por engano na versão 26.0.0) e inclui as seguintes atualizações:

  • Adiciona compatibilidade com o PKCS 11 para permitir a assinatura com chaves armazenadas em hardware seguro (problema 37140484).
  • Adiciona compatibilidade com o carregamento de provedores JCA extras antes da assinatura.
  • Segue android:targetSandboxVersion ao verificar APKs.
  • Durante a assinatura, a ferramenta rejeita APKs com arquivos que incluam os caracteres especiais "CR" (retorno de carro), "LF" (feed de linha) ou "NUL" (nulo) no nome do arquivo.
  • Corrige o apksigner.bat para processar corretamente parâmetros que contêm espaços (problema 38132450).
  • Corrige um bug na verificação de assinatura JAR quando vários resumos por e-mail estão presentes para a mesma entrada em MANIFEST.MF (problema 38497270).

Inclui compatibilidade para criação com o nível de API 26 e contém correções gerais de bugs.

Atualizações do apksigner:

  • Parâmetro --in adicionado para simetria com o parâmetro --out existente.
  • Se você não especificar a senha da chave usando --key-pass, o apksigner usará a senha do keystore como senha da chave. No entanto, se a chave exigir outra senha, será necessário digitar a senha da chave na linha de comando (problema 37134986).
  • Compatibilidade adicionada com jarsigner para senhas não ASCII (problema 37135737, link em inglês).

Correções de bugs.

Esta versão inclui correções de bugs e as seguintes melhorias para o apksigner:

  • Suporte para APKs com nomes de entradas JAR ofuscados.
  • Agora, a chave --print-certs também descarta impressões digitais MD5.

Correções de bugs para o conjunto de ferramentas Jack:

  • Correção do problema com a compatibilidade do Jack com arquivos de origem não ASCII (problema 218892).
  • Correção do problema que causa um AssertionError durante algumas compilações (problema 208414).
  • Adição do apksigner, uma ferramenta de assinatura de APK que substitui o jarsigner. Por padrão, o apksigner assina os APKs usando o esquema de assinatura JAR convencional (usado pelo jarsigner) e o esquema de assinatura de APK v2 introduzido no Android 7.0 (nível 24 da API). Qualquer modificação em um APK com o esquema de assinatura de APK v2 invalida a assinatura. Assim, o pós-processamento do APK, como o zipalign, precisa ser feito antes que o apksigner seja invocado, não depois. Não há problemas em invocar o zipalign antes do apksigner, porque o apksigner preserva o alinhamento e a compactação do APK (diferentemente do jarsigner).
  • Correção de problemas na Biblioteca de Suporte Renderscript em dispositivos arm64.
  • Correção de problemas na Biblioteca de Suporte RenderScript em alguns dispositivos Jelly Bean.
  • Suporte para o renderscriptTargetAPI 21+ ao usar o Plug-in do Android para Gradle, revisão 2.1.0 e mais recentes .
  • Melhoria no desempenho de mesclagem da ferramenta dx.
  • Correção de problemas no compilador do RenderScript para Windows.

Correção de problemas nas ferramentas RenderScript.

Foi adicionada compatibilidade com a versão do Android 6.0 (nível 23 da API).

Correção de problemas de compatibilidade com kernels do RenderScript em dispositivos Android 4.4 (API de nível 19) a Android 4.1 (API de nível 16).

Foi adicionada compatibilidade com o Android 5.1 (API de nível 22).

Correção do problema com a criação de layouts de dados no modo de 32 bits.

Correção de problemas de script multidex.

Foi adicionada compatibilidade com arquivos multidex para APKs e Jack para processar o limite de referência do método 64K.

Atualizações completas para o Eclipse ADT para resolver problemas de instabilidade em plataformas Windows.

Atualizações iniciais para o Eclipse ADT no Windows. Use a revisão 21.0.2.

Observações gerais:
  • Foi adicionada compatibilidade com o Android 5.0 (API de nível 21).
  • O RenderScript agora oferece compatibilidade com a operação ininterrupta de 32/64 bits para a API de nível 21 ou superior.
  • Correção do problema com o sistema de criação do Gradle ao usar o plug-in JaCoCo (problema 69174).
  • Acréscimo de uma opção de lista de entrada para uso com linhas de comando longas no Windows.
Observações gerais:
  • Foi adicionado suporte para o Android Wear.
Observações gerais:
  • zipalign foi adicionado ao Build Tools.
  • aapt foi modificado para ignorar arquivos XML que não são compilados.

Foi corrigido um problema de suporte para o RenderScript.

Problemas de build do RenderScript foram corrigidos:
  • Correção de um problema com a codificação de bitcode do RenderScript (problema 64775).
  • Correção de um problema com os símbolos matemáticos ausentes no RenderScript (problema 64110).

Diversos problemas de build foram corrigidos:
  • Correção do suporte para o build de RenderScript no modo NDK com o Gradle.
  • Correção do problema de BufferOverflowException no build dx (problema 61710, link em inglês).

Foi adicionada compatibilidade com os destinos da versão do Android 4.4 (nível 19 de API).

Vários problemas menores de build foram corrigidos.

Correção do problema com o modo de compatibilidade com RenderScript.

Foi adicionado suporte para os destinos da versão do Android 4.3 (nível 18 da API).

Versão inicial.

Observações gerais:
  • Foi incluída compatibilidade com os destinos da versão do Android 4.2 (nível 17 da API).
  • Os componentes específicos de versão do SDK do Android foram desacoplados do componente de ferramentas de plataforma. Assim, as ferramentas de build podem ser atualizadas de forma independente dos componentes do ambiente de desenvolvimento integrado (IDE, na sigla em inglês).