Notes de version de SDK Build Tools

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.

Build Tools, révision 34.0.0 RC3(avril 2023)

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 :

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 ressources androidx.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 que apksigner 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'outil apksigner ou exécutez apksigner 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 de jarsigner. Par défaut, apksigner signe les APK à l'aide du schéma de signature JAR traditionnel (utilisé par jarsigner) 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 que zipalign, doit être exécuté avant l'appel de apksigner, et non après. Appeler zipalign avant apksigner fonctionne bien, car apksigner 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é.

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).