O que é o Android SDK build-tools, plataforma-tools e tools? E que versão deve ser usada?

Eu sei que esta é uma pergunta muito rudimentar, mas para minha surpresa, eu não consegui encontrar nenhum documento sobre ferramentas SDK do Android. Além de ferramentas SDK Android e Ferramentas de plataforma SDK Android, há um monte de ferramentas de Compilação SDK Android Como mostrado na imagem anexa. Alguém poderia apontar para uma fonte explicando todos eles e ajudar a esclarecer como uma determinada versão do Android SDK Build-tools é escolhido para uso?

enter image description here

Edição (2014-02-27):

Eu ainda ... não entendo completamente todas as ferramentas. O seguinte é o meu entendimento limitado com base nos últimos documentos do Google:

  • Android SDK Build-tools costumava ser componentes de Android SDK plataforma-tools . Eles foram dissociados da plataforma SDK Android-ferramentas, de modo que as ferramentas de construção podem ser atualizadas independentemente dos componentes do ambiente de desenvolvimento integrado (IDE).
  • As ferramentas SDK do Android são personalizadas para suportar as funcionalidades do a última plataforma Android. Eles são compatíveis para trás de modo que você sempre usar a última atualização de Android SDK plataforma-ferramentas até mesmo o seu aplicativo visa plataformas Android mais antigas.
  • as ferramentas SDK são independentes da plataforma e são necessárias independentemente da plataforma Android em que esteja a desenvolver.

ainda não entendo a lógica de tirar As ferramentas SDK do Android das Ferramentas de plataforma SDK do Android que tem uma única instância e é fácil gerenciar a atualização. A única razão possível que eu posso pensar é que alguns aplicativos têm que confiar em componentes de construção mais antigos para construí-los. O documento do Google menciona isso, mas não explica por que. Olhando para as notas de lançamento, você vai notar que as atualizações do Android SDK Build-tools são principalmente para corrigir bugs ou/adicionar suporte para novas plataformas. A única razão pela qual eu posso pensar em alguns aplicativos para usar versões mais antigas de Android SDK Build-tools é que eles dependem alguns bugs de Android SDK Build-tools . Estes aplicativos não funcionariam normalmente sem serem construídos com esses bugs. Gostaria que o Google pudesse explicar melhor isso, dando um ou dois exemplos mostrando por que esses bugs nas ferramentas são críticos para certos aplicativos.

Author: Flow, 2013-11-11

6 answers

Sobre a versão de Android SDK Build-tools , a resposta é

Por omissão, o SDK Android usa a versão mais recente baixada de as ferramentas de construção.

Origem

No Eclipse, poderá escolher uma versão específica usando a propriedade sdk.buildtools no ficheiro project.properties.

Parece não haver nenhuma página oficial a explicar todas as ferramentas de compilação. Aqui está o que a equipe Android diz sobre isso.

A [build] tools, such as aidl, aapt, dexdump, and dx, are tipicamente chamado pelo Android build tools ou Desenvolvimento Android Ferramentas( ADT), por isso raramente precisa de invocar estas ferramentas directamente. Como regra geral, você deve confiar nas Ferramentas de compilação ou o plugin ADT para liga-lhes quando precisares.

Origem

De qualquer forma, aqui está uma síntese das diferenças entre ferramentas, plataformas-ferramentas e build-tools:

  • Android SDK Ferramentas
    • localização: $ANDROID_HOME/tools
    • principais ferramentas: programas ant (para compilar os seus APKs) e ddms (para depuração)
  • Plataforma SDK Android-tools
    • localização: $ANDROID_HOME/platform-tools
    • ferramenta principal: adb (para gerir o estado de um emulador ou de um dispositivo Android)
  • Android SDK Build-tools
    • localização: $ANDROID_HOME/build-tools/$VERSION/
    • Documentação
    • principais ferramentas: aapt (para gerar R.java e unaligned, unsigned APKs), dx (to convert Java bytecode to Dalvik bytecode), and zipalign (to optimize your APKs)
 83
Author: lacton, 2015-08-19 09:37:12

As ferramentas de compilação SDK do Android são usadas para depurar, compilar, executar e testar uma aplicação Android.

As ferramentas de compilação do Android podem ser usadas para desenvolver e trabalhar a partir da linha de comando ou IDE (ou seja, Eclipse ou Android Studio).

Também usado para ligar dispositivos Android e root-los.(fastboot, adb e muito mais..)

Usa sempre o mais recente.(Recomendado)

Mais informações sobre ferramentas de compilação e comandos do Android

 38
Author: mipreamble, 2015-04-19 02:02:10
Vou deixar a discussão da diferença entre Ferramentas de Construção, Ferramentas de plataforma e Ferramentas para outros. De um ponto de vista prático, você só precisa saber a resposta à sua segunda pergunta:

Qual a versão a utilizar?

Resposta: Use a versão mais recente.

Para aqueles que usam Android Studio com Gradle, o buildToolsVersion tem de ser definido no ficheiro build.gradle (Módulo: app).

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    ...
}

Onde posso obter o número de versão mais recente de ferramentas de Compilação?

Abrir o Gerente da SDK Android.

  • No Android Studio vá para Ferramentas > Android > SDK Manager > Aparência & Comportamento > Configurações do Sistema > Android SDK
  • escolha a Páginade ferramentas SDK .
  • seleccione as ferramentas de Compilação SDK do Android na lista
  • Verificar Mostrar Os Detalhes Do Pacote .

O último item irá mostrar a versão mais recente.

enter image description here

Certifique-se que está instalado e depois escreva esse número como buildToolsVersion em build.gradle (Módulo: app).

 14
Author: Suragch, 2016-12-17 00:50:23

Você pode encontrar detalhes sobre estes neste ferramentas Android - linha de comandos


TL; dr:

Ferramentas SDK:

  1. Android SDK Manager (sdkmanager)
  2. gerente AVD (avdmanager)
  3. Dalvik Debug Monitor Server (ddms)

Ferramentas De Compilação:

  1. signer
  2. proGuard
  3. zipalign
  4. jobb

Plataforma Ferramentas:

  1. adb
  2. aidl, aapt, dexdump e dx
  3. bmgr
  4. logcat
 10
Author: Suhaib, 2017-03-04 07:41:57

A resposta certa é

Dissociou os componentes específicos do Android SDK do componente plataforma-ferramentas, para que as ferramentas de compilação possam ser actualizadas independentemente dos componentes do ambiente de desenvolvimento integrado (IDE).

Ligação (expandir a Revisão 17)

 9
Author: kreker, 2014-01-11 00:08:31

Android SDK das Ferramentas de Compilação são exatamente o que o nome diz, eles são ferramentas para construção de Aplicativos do Android.É muito importante usar a compilação mais recente versão de ferramentas (seleccionada automaticamente pela IDE, através do SDK do Android) mas a razão pela qual as versões antigas são deixados lá é o suporte de compatibilidade com versões anteriores, que é Se os projetos dependem de versões mais antigas das Ferramentas de Compilação.

 2
Author: ojonugwa ochalifu, 2015-05-21 07:41:28