web-dev-qa-db-fra.com

Que sont les Android outils de compilation, les outils de plate-forme et les outils du SDK? Et quelle version devrait être utilisée?

Je sais que la question est très rudimentaire, mais à ma grande surprise, je n’ai trouvé aucun document sur Android SDK Build-tools. Outre Android SDK Tools et Android SDK Platform-tools, il existe de nombreux Android SDK Build-tools, comme indiqué dans la capture d'écran jointe. Quelqu'un pourrait-il indiquer une source qui les explique toutes et aider à préciser comment une certaine version de Android SDK Build-tools est sélectionnée pour être utilisée?

enter image description here

modifié (2014-02-27):

Je ne comprends toujours pas tous les outils. Voici ma compréhension limitée basée sur les derniers documents de Google:

  • Android SDK Build-tools faisait auparavant partie des Android SDK Platform-tools. Ils ont été dissociés de Android SDK Platform-tools, afin que les outils de génération puissent être mis à jour indépendamment des composants de l'environnement de développement intégré (IDE).
  • Android SDK Platform-tools sont personnalisés pour prendre en charge les fonctionnalités de la dernière plate-forme Android. Ils sont rétrocompatibles afin que vous utilisiez toujours la dernière mise à jour de Android SDK Platform-tools même votre application cible les anciennes plates-formes Android.
  • Les outils SDK sont indépendants de la plate-forme et sont obligatoires quelle que soit la plate-forme Android sur laquelle vous développez.

Je ne comprends toujours pas la raison de prendre Android SDK Build-tools sur Android SDK Platform-tools, qui ne dispose que d’une instance unique et qui est facile à gérer. La seule raison possible à laquelle je peux penser est que certaines applications doivent s'appuyer sur des composants de construction plus anciens pour les construire. Le document de Google mentionne cela, mais n'explique pas pourquoi. En consultant les notes de publication, vous remarquerez que les mises à jour de Android SDK Build-tools sont principalement destinées à la correction de bogues ou au support/add pour de nouvelles plates-formes. La seule raison pour laquelle certaines applications utilisent les anciennes versions de Android SDK Build-tools est qu'elles s'appuient sur certains bogues de Android SDK Build-tools. Ces applications ne fonctionneraient pas normalement sans être construites avec ces bugs. J'aimerais que Google puisse mieux l'expliquer en donnant un ou deux exemples montrant pourquoi ces bogues dans les outils sont critiques pour certaines applications.

322
Hong

À propos de la version de Android SDK Build-tools , la réponse est

Par défaut, le SDK Android utilise la version téléchargée la plus récente des outils de génération.

Source

Dans Eclipse, vous pouvez choisir une version spécifique à l'aide de la propriété sdk.buildtools dans le fichier project.properties.

Il semble n'y avoir aucune page officielle expliquant tous les outils de construction. Voici ce que l'équipe Android a dit à ce sujet.

Les outils [build], tels que aidl, aapt, dexdump et dx, sont généralement appelés par les outils de construction Android ou par les outils de développement Android (ADT). invoquer ces outils directement. En règle générale, vous devez vous appuyer sur les outils de construction ou sur le plug-in ADT pour les appeler au besoin.

Source

Quoi qu'il en soit, voici une synthèse des différences entre outils, outils de plate-forme et outils de construction:

  • Outils du SDK Android
    • Lieu: $Android_HOME/tools
    • Outils principaux: scripts ant (pour construire vos fichiers APK) et ddms (pour le débogage)
  • Outils de plate-forme SDK Android
    • Lieu: $Android_HOME/platform-tools
    • Outil principal: adb (pour gérer l'état d'un émulateur ou d'un périphérique Android)
  • Outils de génération de SDK Android
    • Lieu: $Android_HOME/build-tools/$VERSION/
    • Documentation
    • Principaux outils: aapt (pour générer des fichiers R.Java et des APK non signés et non alignés), dx (pour convertir le bytecode Java en bytecode de Dalvik), et zipalign (pour optimisez vos APK)
85
lacton

Les outils de génération de SDK Android permettent de déboguer, de créer, d’exécuter et de tester une application Android.

Les outils de construction Android peuvent être utilisés pour développer et travailler en ligne de commande ou IDE (i.e Eclipse ou Android Studio).

Également utilisé pour connecter Android périphériques et les rooter (fastboot, adb et plus ..)

Toujours utiliser la dernière version. (Recommandé)

Plus d'infos sur Android Construire des outils et des commandes

38
mipreamble

Je laisserai la discussion sur la différence entre les outils de construction, les outils de plate-forme et les outils à d'autres. D'un point de vue pratique, il vous suffit de connaître la réponse à votre deuxième question:

Quelle version doit être utilisée?

Réponse: Utilisez la version la plus récente.

Pour ceux qui utilisent Android Studio avec Gradle, l'option buildToolsVersion doit être définie dans le fichier build.gradle (Module: app).

Android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    ...
}

Où puis-je obtenir le numéro de version le plus récent des outils de compilation?

Ouvrez le Android SDK Manager.

  • Dans Android Studio, accédez à Outils > Android > Gestionnaire de SDK > Apparence et comportement > Paramètres système > SDK Android
  • Choisissez l'onglet Outils du SDK .
  • Sélectionnez Android SDK Build Tools dans la liste.
  • Vérifier Afficher les détails du paquet .

Le dernier élément affichera la version la plus récente.

enter image description here

Assurez-vous qu’il est installé, puis écrivez ce numéro sous le nom buildToolsVersion dans build.gradle (Module: app).

15
Suragch

Vous pouvez trouver des détails à ce sujet dans ceci Android - Outils de ligne de commande


tl; dr:

Outils du SDK:

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

Outils de compilation:

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

Outils de la plateforme:

  1. adb
  2. aidl, aapt, dexdump et dx
  3. bmgr
  4. logcat
13
Suhaib

La bonne réponse est

Découplez les composants spécifiques à la construction du SDK Android du composant platform-tools, afin que les outils de génération puissent être mis à jour indépendamment des composants de l'environnement de développement intégré (IDE).

link (expand Revision 17)

9
kreker

Android SDK Build Tools est exactement ce que son nom dit; tools for building Android Applications.Il est très important d’utiliser la dernière version des outils de génération (sélectionnée automatiquement par votre IDE via le Android SDK), mais la Si les anciennes versions sont gérées de manière à assurer la compatibilité avec les versions antérieures, c’est-à-dire si vos projets dépendent d’anciennes versions des outils de construction.

2