Android SDK Build Tools est un composant du SDK Android nécessaire pour compiler des applications Android. Il est installé dans le répertoire <sdk>/build-tools/
.
Veillez à toujours mettre à jour votre composant Build Tools en téléchargeant la version la plus récente à l'aide d'Android SDK Manager. Si vous utilisez le plug-in Android pour Gradle 3.0.0 ou version ultérieure, votre projet utilise automatiquement une version par défaut des outils de compilation spécifiés par le plug-in. Pour utiliser une version différente de ces outils, vous devez la spécifier à l'aide de buildToolsVersion
dans le fichier build.gradle
de votre module, comme suit :
android { buildToolsVersion "34.0.0" ... }
android { buildToolsVersion = "34.0.0" ... }
Révisions
Les sections ci-dessous contiennent des notes sur les versions du composant Build Tools. Pour savoir quelles révisions du composant Build Tools sont disponibles dans votre SDK, consultez la liste Packages installés dans Android SDK Manager.
Des améliorations et des corrections de bugs générales ont été apportées.
Cette mise à jour inclut la prise en charge de la compilation avec les API Android 14 Preview.
Cette mise à jour résout le problème suivant :
-
La version 33.0.0 de
core-lambda-stubs.jar
diffère sur macOS et Linux/Windows. Consultez le problème 237299698.
Cette mise à jour résout le problème suivant :
- Échec d'AIDL avec Build Tools 33.0.0. Consultez le problème 236167971.
Cette mise à jour inclut la prise en charge de la compilation avec les API Android 11 Preview.
Cette mise à jour résout le problème suivant :
- Problème de compilation avec Renderscript sur macOS Catalina. (Consultez le problème 142590626)
Cette mise à jour résout le problème suivant :
Cette mise à jour prend en charge la compilation avec le niveau d'API 29.
Cette mise à jour inclut la prise en charge du plug-in Android Gradle 3.2.0 et résout les problèmes suivants :
-
Correction d'un bug de la bibliothèque JNI qui entraînait le plantage des applications lors de l'appel de
androidx.renderscript.RenderScript.create()
. -
Correction d'un bug qui provoquait des erreurs de compilation
Program type already present
avec des ressourcesandroidx.annotation
.
Inclut la dernière version de D8.
Amélioration de la prise en charge de la compilation des lambas lors de l'activation des fonctionnalités du langage Java 8.
Amélioration de la prise en charge des fonctionnalités du langage Java 8.
Ajout de la prise en charge de l'ancienne configuration multidex pour les APK de test. (Problème : 37324038)
En plus des corrections de bugs générales, cette version inclut les mises à jour suivantes :
- Mise à jour de l'outil
apksigner
vers la version 0.8 :- Compatibilité avec Java 9. (Problème : 37137869)
-
Nouveau paramètre
--pass-encoding
pour gérer les keystores et les clés chiffrés à l'aide de mots de passe non ASCII. Si vous passez à Java 9 et queapksigner
ne parvient pas à déchiffrer votre keystore ou votre clé, utilisez ce paramètre pour spécifier l'encodage des caractères que vous avez utilisé pour créer le keystore ou la clé en question. Pour en savoir plus, consultez la documentation de l'outilapksigner
ou exécutezapksigner sign --help
à partir de la ligne de commande. -
Amélioration du message d'erreur lorsque
apksigner
ne parvient pas à valider une signature JAR en raison d'un algorithme de signature ou de condensé non compatible. (Problème : 63525618)
-
Prise en charge du mode daemon AAPT2 lors de l'utilisation du plug-in Android pour Gradle
3.0.0-beta7
ou version ultérieure.
En plus des corrections de bugs générales, cette version restaure apksigner
sur le package d'outils de compilation (il avait été omis par erreur dans la version 26.0.0) et inclut les mises à jour suivantes :
- Ajout de la prise en charge de PKCS #11 pour permettre la signature à l'aide de clés conservées dans du matériel sécurisé. (Problème : 37140484)
- Ajout de la prise en charge du chargement de fournisseurs JCA supplémentaires avant la signature.
- Respect de
android:targetSandboxVersion
lors de la vérification des APK. - Lors de la signature, les APK comportant des fichiers dont les noms contiennent les caractères spéciaux "CR" (retour chariot), "LF" (saut de ligne) ou "NUL" (nul) sont rejetés.
- Correction de
apksigner.bat
afin de gérer correctement les paramètres contenant des espaces. (Problème : 38132450) - Correction d'un bug dans la vérification de signature JAR lorsque plusieurs condensés sont présents pour la même entrée dans
MANIFEST.MF
. (Problème : 38497270)
Ajout de la prise en charge de la compilation avec le niveau d'API 26 et correction de bugs généraux.
Mises à jour de l'outil apksigner
:
- Ajout du paramètre
--in
pour la symétrie avec le paramètre--out
existant. - Si vous ne spécifiez pas le mot de passe de la clé à l'aide de
--key-pass
,apksigner
utilise le mot de passe du keystore à la place. Toutefois, si la clé nécessite un mot de passe différent, vous êtes désormais invité à le saisir dans la ligne de commande. (Problème : 37134986) - Ajout de la compatibilité avec
jarsigner
pour les mots de passe non ASCII. (Problème : 37135737)
Corrections de bugs.
Cette version inclut des corrections de bugs et les améliorations suivantes apportées à l'outil apksigner
:
- Prise en charge des APK contenant des noms d'entrée JAR obscurcie.
- Le commutateur
--print-certs
permet désormais de vider également les empreintes MD5.
Corrections de bugs pour la chaîne d'outils Jack :
- Correction du problème de prise en charge des fichiers sources non ASCII par la chaîne d'outils Jack. (Problème : 218892)
- Correction du problème qui entraînait une
AssertionError
lors de certaines compilations. (Problème : 208414)
- Ajout de
apksigner
, un outil de signature d'APK, en remplacement dejarsigner
. Par défaut,apksigner
signe les APK à l'aide du schéma de signature JAR traditionnel (utilisé parjarsigner
) et d'APK Signature Scheme v2, introduit dans Android 7.0 (niveau d'API 24). Toute modification apportée à un APK signé avec APK Signature Scheme v2 invalide sa signature. Ainsi, le post-traitement d'APK, tel quezipalign
, doit être exécuté avant l'appel deapksigner
, et non après. Appelerzipalign
avantapksigner
fonctionne bien, carapksigner
conserve l'alignement et la compression de l'APK (contrairement àjarsigner
).
- Correction des problèmes dans la bibliothèque Support RenderScript sur les appareils arm64.
- Correction des problèmes dans la bibliothèque Support RenderScript sur certains appareils Jelly Bean.
- Prise en charge de
renderscriptTargetAPI 21+
lors de l'utilisation du plug-in Android pour Gradle révision 2.1.0 ou ultérieure.
- Amélioration des performances de fusion de l'outil
dx
. - Correction des problèmes dans le compilateur RenderScript pour Windows.
Correction des problèmes dans les outils RenderScript.
Prise en charge de la version Android 6.0 (niveau d'API 23).
Correction des problèmes de compatibilité avec les noyaux RenderScript sur les appareils équipés d'Android 4.4 (niveau d'API 19) à d'Android 4.1 (niveau d'API 16).
Prise en charge d'Android 5.1 (niveau d'API 22).
Correction du problème lié à la création de mises en page de données en mode 32 bits.
Correction des problèmes liés aux scripts multidex.
Ajout de la prise en charge des fichiers multidex pour les APK et de la prise en charge de Jack afin de respecter la limite de 65 536 références.
Mises à jour complètes d'Eclipse ADT pour résoudre les problèmes d'instabilité sur les plates-formes Windows.
Mises à jour initiales d'Eclipse ADT sous Windows. Veuillez utiliser la révision 21.0.2.
- Remarques générales :
-
- Prise en charge d'Android 5.0 (niveau d'API 21).
- RenderScript permet désormais un fonctionnement fluide en mode 32/64 bits pour le niveau d'API 21 ou supérieur.
- Correction du problème lié au système de compilation Gradle lors de l'utilisation du plug-in JaCoCo. (Problème : 69174)
- Ajout d'une option input-list à utiliser avec les longues lignes de commande sous Windows.
- Remarques générales :
-
- Prise en charge d'Android Wear
- Remarques générales :
-
- Ajout de
zipalign
au composant Build Tools. - Modification de
aapt
de manière à ignorer les fichiers XML dont la compilation a échoué.
- Ajout de
Correction d'un problème de prise en charge de RenderScript.
- Correction des problèmes de compilation de RenderScript :
-
- Correction d'un problème lié à l'encodage de bitcode RenderScript. (Problème : 64775)
- Correction d'un problème lié à l'absence de symboles mathématiques dans RenderScript (problème 64110)
- Correction de divers problèmes de compilation :
-
- Correction de la prise en charge de la compilation de RenderScript en mode NDK avec Gradle.
- Correction du problème
BufferOverflowException
dans le build dx. (Problème : 61710)
Prise en charge des cibles de compilation Android 4.4 (niveau d'API 19).
Correction de plusieurs problèmes de compilation mineurs.
Correction du problème lié au mode Support de RenderScript.
Prise en charge des cibles de compilation Android 4.3 (niveau d'API 18).
Version initiale.
- Remarques générales :
-
- Prise en charge des cibles de compilation Android 4.2 (niveau d'API 17).
- Dissociation des composants spécifiques au build du SDK Android du composant "platform-tools", de sorte que les outils de compilation puissent être mis à jour indépendamment des composants de l'environnement de développement intégré (IDE).