Gradle Android: buildtoolsVersion vs compileSdkVersion

Réponses:

199

compileSdkVersion est la version API d'Android avec laquelle vous compilez.

buildToolsVersionest la version des compilateurs (aapt, dx, compilateur renderscript, etc ...) que vous souhaitez utiliser. Pour chaque niveau d'API (commençant par 18), il existe une version .0.0 correspondante.

À IO 2014, nous publions l'API 20 et les outils de construction 20.0.0 qui vont avec.

Entre les versions d'Android, nous publierons des mises à jour des compilateurs, et nous publierons donc la version .0.1, .0.2, etc ... Parce que nous ne voulons pas mettre à jour silencieusement ces versions sous vous, c'est à vous de passer nouvelle version quand cela vous convient.

Vous pouvez utiliser une version plus élevée des outils de construction que votre compileSdkVersion, afin de choisir un nouveau / meilleur compilateur sans changer ce que vous construisez votre application.

Xavier Ducrohet
la source
10
Est-il possible d'utiliser une version buildToolsVersion supérieure sur une version compileSdkVersion inférieure, disons 20.0.0 buildToolsVersion sur une version 18.0.0 compileSdkVersion?
Glide du
5
@ Glide oui, les outils de construction prendront en charge les anciennes versions.
Xavier Ducrohet
1
@XavierDucrohet Dois-je spécifier buildToolsVersion? Je me souviens avoir lu quelque part que la dernière version des outils de construction est sélectionnée automatiquement. J'ai essayé de supprimer buildToolsVersion, mais Android Studio n'en est pas satisfait.
Hong
11
Toute personne disposant d'un lien rédige un document sur ce qui se passe réellement dans les coulisses avec compileSdkVersion, buildToolsVersion, minSdkVersion et targetSdkVersion? J'aimerais bien le comprendre.
poudre366
2
@ Powder366 Voir cet article précieux par Ian Lake: - medium.com/google-developers/…
maveroid
46

Mise à jour Android Studio 3.0

Il n'est plus aussi important de connaître l'exact qu'auparavant buildToolsVersioncar il est maintenant choisi automatiquement.

La documentation dit:

Vous n'avez plus besoin de spécifier une version pour les outils de génération (vous pouvez donc maintenant supprimer la android.buildToolsVersionpropriété). Par défaut, le plugin utilise automatiquement la version minimale requise des outils de construction pour la version du plugin Android que vous utilisez.

Trouver le numéro de version exact

Je suis venu ici pour savoir comment connaître le numéro de version exact de la version la plus récente des outils de construction (à l'époque où cela devait être mis à jour manuellement). Si vous avez encore besoin de le faire, vous pouvez le trouver de la manière suivante:

Accédez à Outils> Gestionnaire SDK> Outils SDK (onglet) . Sélectionnez Android SDK Build Tools dans la liste et cochez Afficher les détails du package . Le dernier élément affichera la version la plus récente.

entrez la description de l'image ici

Dans l'image ci-dessus, je peux voir que j'ai buildToolsVersion 27.0.3installé. Il existe une version plus récente rc(release candidate), mais je ne l'ai pas installée. Je le ferai quand la version stable sortira.

Suragch
la source
Pour être clair, dans AS 3.2, le chemin d'accès à ce qui précède est "Fichier => Paramètres => Apparence et comportement ...."
JL_SO